一、linux文件系统

linux文件系统结构是从Unix文件结构演进过来的。在linux文件系统中,通用的目录名用于表示一些常见的功能。如下表列出一些较为常见的Linux顶层虚拟目录名及其内容。

/

虚拟目录的根目录。

/bin

二进制目录,存放许多用户级的GNU工具

/boot

启动目录,存放很多启动文件

/dev

设备目录

/etc

系统配置文件目录

/home

主目录,Linux在这里创建用户目录

/lib

库目录,存放系统和应用程序的库文件

/media

媒体目录,可移动媒体设备的常用挂载点

/mnt

挂载目录,另一个可移动媒体设备的常用挂载点

/opt

可选目录,常用于存放第三方软件包和数据文件

/proc

进程目录,存放现有硬件及当前进程的相关信息

/root

root用户的主目录

/sbin

系统二进制目录,存放许多GNU管理员级工具

/run

运行目录,存放系统运作时的运行时数据

/srv

服务目录,存放本地服务的相关文件

/sys

系统目录,存放系统硬件信息的相关文件

/tmp

临时目录,可以在该目录中创建和删除临时工作文件

/usr

用户二进制目录,大量用户级的GNU工具和数据文件都存放到这里

/var

可变目录,用于存放经常变化的文件,比如日志文件

二、遍历目录

常用指令:$cd ----切换目录

$cd destination

$pwd------显示当前目录

1、 绝对路径

绝对路径定义了在虚拟目录结构中该目录的确切位置,以虚拟目录的根目录开始,相当于目录的全名。

2、 相对路径

相对文件路径允许用户指定一个基于当前位置的目标文件路径。

有两个特殊字符可用于相对文件路径当中:

l  单点符(.),表示当前目录;

l  双点符(..),表示当前目录的父目录;

三、文件和目录列表

1、基本列表功能

(1)、$ls

(2)、$ls –F, F参数的ls命令轻松区分文件和目录

  [root@localhost ~]# ls -F

  anaconda-ks.cfg  install.log  install.log.syslog  netperf-netperf-2.5.0/  netperf-netperf-2.5.0.tar.gz  公共的/  模板/  视频/  图片/  文档/  下载/  音乐/  桌面/

(3)、$ls –a,把隐藏文件和普通文件及目录一起显示出来

(4)、$ls –R,递归选项,它列出了当前目录下包含的子目录中的文件。

[root@localhost doc]# ls -F -R

.:

examples/  Makefile.am  netperf.html  netperf.man     netperf.pdf  netperf.texi          netperf.xml    omni_output_list.txt

Makefile   Makefile.in  netperf.info  netperf_old.ps  netperf.ps   netperf.txt           netserver.man  texinfo.tex

./examples:

arr_script*  Makefile.am  netperf_interim_to_rrd.sh*  runemomniagg2.sh           sctp_stream_script  tcp_range_script*  tcp_stream_script*  udp_stream_script

Makefile     Makefile.in  packet_byte_script*  runemomni.sh                            snapshot_script*    tcp_rr_script*     udp_rr_script*

2、显示长列表

(1)、ls –l

   [root@localhost doc]# ls -l

drwxrwxr-x. 2 root root    4096 9月  11 16:54 examples

输出结果中,每一行都包含了关于文件的以下信息:

  • 文件类型,比如目录(d)、文件(-)、字符型文件(c)、或块设备(b);
  • 文件权限;
  • 文件的硬链接总数;
  • 文件属主的用户名;
  • 文件数组的组名;
  • 文件的大小(以字节为单位);
  • 文件的上次修改时间;
  • 文件名或目录名。

3、过滤输出列表

  $ls –l Makefile

  [root@localhost doc]# ls -l Makef*

  -rw-r--r--. 1 root root 30370 9月  11 16:54 Makefile

  -rw-rw-r--. 1 root root   953 7月  20 2011 Makefile.am

  -rw-rw-r--. 1 root root 30180 7月  20 2011 Makefile.in

  • 问号(?)代表一个字符;
  • 星号(*)代表零个或多个字符。

四、处理文件

1、创建文件

$touch test_one

[root@localhost a5000]# touch test_one

[root@localhost a5000]# ls -l test_one

-rw-r--r--. 1 root root 0 9月  18 17:19 test_one

2、复制文件

(1)、$cp test_one test_two。

[root@localhost a5000]# cp test_one test_two

[root@localhost a5000]# ls -l test*

-rw-r--r--. 1 root root 0 9月  18 17:19 test_one

-rw-r--r--. 1 root root 0 9月  18 17:22 test_two

(2)、$-i,强制shell询问是否需要覆盖已有文件。

[root@localhost a5000]# cp -i test_one test_two

cp:是否覆盖"test_two"?

(3)、$-R,递归的复制整个目录的内容。

[root@localhost test]# ls

test1

[root@localhost a5000]# cp -R test/ test1

[root@localhost test1]# ls

test1

五、链接文件

链接文件是Linux文件系统的一个优势,如果需要在系统上维护同一文件的两份或多份副本,除了保存单独的物理文件副本之外,还可以采用保存一份物理文件副本和多个虚拟副本的方法。这种虚拟的副本就称为链接。链接是目录中指向文件真实位置的占符位。在Linux中有两种类型的文件链接:

  • 符号链接
  • 硬链接

(1)、符号链接

符号链接就是一个实实在在的文件,它指向存放在虚拟目录结构中某个地方的另一个文件,这两个通过符号链接在一起的文件,彼此的内容并不相同,

$ln –s

要为一个文件创建符号链接,原始文件必须事先存在。

[root@localhost test]# ln -s test1 test

   [root@localhost test]# ls -l

lrwxrwxrwx. 1 root root 5 9月  19 09:02 test -> test1

-rw-r--r--. 1 root root 0 9月    18 17:27 test1

显示在长列表中符号文件后的->符号表明该文件是连接到test1上的一个符号链接。

(2)、硬链接

硬链接会创建独立的虚拟文件,其中包含了原始文件的信息及位置。但是它们从根本上而言是同一个文件。引用硬链接文件,等同于引用源文件

$ln

[root@localhost test]# ln test1 test2

[root@localhost test]# ls -il

17634 -rw-r--r--. 2 root root 31 9月  19 09:26 test1

17634 -rw-r--r--. 2 root root 31 9月  19 09:26 test2

六、重命名文件

(1)、文件和目录移动到另一个位置或重新命名

&mv

[root@localhost a5000]# mv ./test/test ./Test1/yanzheng

[root@localhost Test1]# ll -s

0 -rw-r--r--. 1 root root 0 9月  18 17:27 test1

lrwxrwxrwx. 1 root root 5 9月  19 09:02 yanzheng -> test1

(2)、使用mv命令移动整个目录及其内容

root@localhost a5000]# mv test ./Test1/

root@localhost Test1]# ls -il

7628 drwxr-xr-x. 2 root root 4096 9月  19 09:36 test

7631 -rw-r--r--. 1 root root    0 9月  18 17:27 test1

7632 lrwxrwxrwx. 1 root root    5 9月  19 09:02 yanzheng -> test1

七、删除文件

$rm

参数:

  • i:提示你是不是真的要删除该文件;
  • f:强制删除;

八、创建目录

1)       $mkdir

root@localhost a5000]# mkdir yy

root@localhost a5000]# ls -il

17629 drwxr-xr-x. 2 root root 4096 9月  19 10:02 yy

2)       如果想同时创建多个目录和子目录,需要加入-p参数

[root@localhost a5000]# mkdir -p ./yy/yy1/yy2

[root@localhost a5000]# cd yy

[root@localhost yy]# ls

yy1

[root@localhost yy]# cd yy1

[root@localhost yy1]# ls

yy2

九、删除目录

&rmdir

参数:

  • r 选项使得命令可以向下进入目录,删除其中的文件,然后再删除目录本;
  • f 强制删除,不提示(-rf没有警告信息,也没有提示)。

十、查看文件

10.1、查看文件类型

&file

[root@localhost Test1]# file test

test: directory

10.2、查看整个文件

(1)、cat

cat命令是显示文本文件中所有数据的得力工具。

      • n 参数会给所有的行加上行号。
      • b 给文本加上行号。

(2)、more

more是分页工具,可以一页一页的显示文件内容。

      • 空格键:向下翻一页;
      • Enter:向下滚动一行;
      • q       :退出;
      • b       :往下翻页。

(3)、less

一页一页翻动。

  • l空格键:向下翻一页;
  • [PgUp]:向上翻动一页;
  • [PgDn]:向下翻动一页;
  • /字符串:向下查询“字符串”的功能;
  • ?字符串:向上查询“字符串”的功能;
  • n       :重复前一个查询;
  • N      :反复重复前一个查询;
  • q       :离开less程序。

(4)、tail

tail命令回显示文件最后几行的内容(文件的“尾部”)。

  • n 修改所显示的行数。
  • f 表示持续监测后面所接的文件名。

(5)、head

head命令,顾名思义,会显示文件开头那些行的内容。

      • n 修改所显示的行数。

基本的bash shell的更多相关文章

  1. bash shell

    Linux的shell 与windows只有一种批处理脚本不同,由于早年的Unix年代,发展者众,出现了各种不同的distribution,因此也随着不同的distribution出现了各自的shel ...

  2. Bash Shell内建命令和保留字

    Bash Shell内建命令和保留字命令含义!保留字,逻辑非:不做任何事,只做参数展开.读取文件并在shell中执行它alias设置命令或命令行别名bg将作业置于后台运行bind将关键字序列与read ...

  3. Bash Shell 获取进程 PID

    转载地址:http://weyo.me/pages/techs/linux-get-pid/ 导读 Linux 的交互式 Shell 与 Shell 脚本存在一定的差异,主要是由于后者存在一个独立的运 ...

  4. Learning The Bash Shell读书笔记(整理)

    最近搞了一本书 Learning Bash Shell,发现有人已经写了阅读笔记,我就在这边整理一下 来自blog:http://blog.sina.com.cn/n4mine Learning Th ...

  5. bash shell命令(2)

    在上篇<bash shell命令(1)>中,介绍了几种简单的linux shell命令,今天继续介绍bash shell命令 本文地址:http://www.cnblogs.com/arc ...

  6. Linux命令行–基本的bash shell命令

    启动shell: /etc/passwd:包含系统用户账户列表以及每个用户的基本配置信息 每个条目有七个字段,每个字段用冒号隔开 用户名 用户密码 用户的系统UID 用户的系统GID 用户的全名 用户 ...

  7. linux bash shell 流程控制(if/else )

    本文转自:http://blog.csdn.net/flowingflying/article/details/5069646 本文也即<Learning the bash Shell>3 ...

  8. linux BASH shell设置字体与背景颜色

    linux BASH shell下设置字体及背景颜色的方法. BASH shell下设置字体及背景颜色  echo -e "\e[31mtest\e[41m"  \e[30m 将字 ...

  9. bash shell漏洞及测试

    1.bash shell是大多数linux发行版本的默认shell命令解释器,但是最近爆出bash shell存在漏洞. 2.如果Bash是默认的系统shell,网络攻击者可以通过发送Web请求.se ...

  10. ipython, 一个 python 的交互式 shell,比默认的python shell 好用得多,支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数

    一个 python 的交互式 shell,比默认的python shell 好用得多,支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数. 若用的是fish s ...

随机推荐

  1. css3-css3属性选择器

    在HTML中,通过各种各样的属性可以给元素增加很多附加的信息.例如,通过id属性可以将不同div元素进行区分. 在CSS2中引入了一些属性选择器,而CSS3在CSS2的基础上对属性选择器进行了扩展,新 ...

  2. Clean Docker <none>:<none>

    https://www.projectatomic.io/blog/2015/07/what-are-docker-none-none-images/ Reference: https://www.p ...

  3. hdu 6044 : Limited Permutation (2017 多校第一场 1012) 【输入挂 组合数学】

    题目链接 参考博客: http://blog.csdn.net/jinglinxiao/article/details/76165353 http://blog.csdn.net/qq_3175920 ...

  4. 19 如何在String和Byte[]对象之间进行转换?

  5. JavaScript原型和闭包学习笔记

    在这里先和大家推荐一个博客,这博客的<深入理解javascript原型和闭包(完结)>系列,看了比较多的视频和书本,这个博客讲得很耐人寻味. 深入理解javascript原型和闭包(完结) ...

  6. CSS3订单提交按钮Loading代码

    <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"& ...

  7. cordova+vue做的app解决引入cordova-plugin-splashscreen后启动先显示黑屏在显示启动页

    先上项目目录结构cordova项目结构 android platform 结构 图中用红框框起来的为主要修改文件 这篇主要的讲cordova项目引用了cordova-plugin-splashscre ...

  8. Cookie由谁设置、怎么设置、有什么内容?

    Cookie是由服务器生成,保存在客户端本地的一个文件,通过response响应头的set-Cookie字段进行设置,下面是一个示例: Cookie包含什么信息? 它可以记录你的用户ID.密码.浏览过 ...

  9. Android7.1后对于Toast类型窗口的限制

    在处理问题的时候,经常会遇到ANR,停止运行等问题,经过分析和验证,和如下的一行关键log有关 WindowManager: Adding more than one toast window for ...

  10. Oracle查询中文乱码

    1.查询Oracle服务端字符集 SQL> select userenv('language') from dual ; USERENV('LANGUAGE') ---------------- ...