每天一个Linux指令--ls

 
1.介绍
ls 命令用来显示当前文件夹下的目录以及文件,可通过相应的语法对显示结果进行排序。
2.语法
ls -alrtAFR name....
3.参数
-I: 依次列出权限、文件个数、文件(目录)的拥有者、文件(目录)的拥有者所在组、文件所占用的空间、文件(目录)最近修改的时间、文件名。
1 [root@root test]# ls -l 
2 total 8 
3 -rw-r--r-- 1 root root 14 Jun 30 21:02 aaa.txt 
4 drwxr-xr-x 2 root root 4096 Jun 30 21:05 bbb 
5 lrwxrwxrwx 1 root root 7 Jun 30 21:44 ccc -> aaa.txt
  • 第一行total后面的数字表示当前(test)目录下所有文件所占用的空间总和(包含隐藏目录)
  • 第二行开始为查询结果,我们将查询结果分为7部分来一一介绍:
  1. 第一个部分为:文件属性字段,共有10个字母组成。
    • 第一个字符表示文件类型
      • -表示该文件是一个普通文件
        1-rw-r--r-- 1 root root 14 Jun 30 21:02 aaa.txt
      • d(dirtectory)表示该文件是一个目录或者存储其他文件或者目录的相关信息的特殊文件
        1 drwxr-xr-x 2 root root 4096 Jun 30 21:05 bbb
      • l(link)表示该文件是一个链接文件
        1 lrwxrwxrwx 1 root root 7 Jun 30 21:44 ccc -> aaa.tx
        • 硬链接:多个指向同一个文件
        • 软链接:建立一个独立的文件,类似快捷方式
      • b(block)表示该文件是一个块设备文件,一般置于/dev目录下
        1 brw-rw---- 1 root disk 202, 2 Oct 30 2019 xvda2
      • c(character)表示该文件是一个字符设备文件,一般置于/dev目录下
        1 crw-rw-rw- 1 root root 1, 5 Oct 30 2019 zero
      • p表示该文件为命令管道文件,与shell编程有关
      • s(sock)表示该文件为sock文件,与shell编程有关
    • 第一个字符后面9位为该文件或者目录的权限位[r-read(读权限,权重4),w-write(写权限,权重2),x-exeuct(执行权限,权重1)]
      • 前三个表示文件拥有者的权限
      • 中间三个表示文件文件所属组的权限
      • 最后三个表示其他用户的权限
  2. 第二个部分为:文件硬链接数
    • 如果一个文件不是目录,则表示此文件所具有的硬链接数
      • 如果建立一个指向此文件的硬链接,则共享链接数
        1 [root@root test]# vi ddd.txt 
        2 [root@root test]# ls -l
        3 -rw-r--r-- 1 root root 25 Jul 1 11:10 ddd.txt
        4 [root@hczfxt06 test]# ln ddd.txt eee
        5 [root@hczfxt06 test]# ls -l
        6 -rw-r--r-- 2 root root 25 Jul 1 11:10 ddd.txt
        7 -rw-r--r-- 2 root root 25 Jul 1 11:10 eee
      • 链接占用的节点,新建软链接,此数值不变
    • 如果此文件是目录,则表示该目录下子目录的个数
      • 新建空目录,此值为2,因为每一个目录下都有隐藏的子目录(.和..)
      • 每新建一个子目录,此值加一,新建普通文件,此值不变
  3. 第三部分为:文件(目录)拥有者
    • 如果是文件则表示文件拥有者,只有拥有者才拥有改动文件属性的权利
    • 对于目录,只有目录的拥有者或者拥有写权限的用户才能创建子目录或者文件
    • 用户如果被删除,则此值显示为原用户的ID号,因为文件系统记录的是文件所有者的ID,而非用户名。
  4. 第四部分为:文件(目录)的拥有者所在组(一个用户可以有很多组,此值显示的是主组)
  5. 第五部分为:文件所占用的空间(以字节为单位,如果是目录则表示该目录大小,注意是目录本身的大小)
  6. 第六部分为:文件(目录)最近访问(修改)时间
  7. 第七部分为:文件名(如果是符号链接(软链接),会有“->”,跟着它指向的文件名)
    1 -rw-r--r-- 1 root root 14 Jun 30 21:02 aaa.txt
    2 lrwxrwxrwx 1 root root 7 Jun 30 21:44 ccc -> aaa.tx
-r: 将文件查询结果以相反次序显示(默认为按照英文字母次序,可根据其他参数改变)
-t:将文件按照创建时间的先后正序排序显示
-a:显示所有文件和目录(包含隐藏文件)
-A:显示除“.”,“..”隐藏文件之外的所有文件和目录
1 [root@hczfxt06 test]# ls 
2 aaa.txt bbb ccc ddd.txt eee 
3 [root@hczfxt06 test]# ls -A 
4 aaa.txt bbb ccc ddd.txt eee .fff.txt 
5 [root@hczfxt06 test]# ls -a 
6 . .. aaa.txt bbb ccc ddd.txt eee .fff.txt

-F:给不同的文件添加不同的标识

  • 如果是目录,在目录后添加“/”
  • 如果是软链接,在目录后添加“@”
  • 如果是可执行文件,在后面添加“*
-R: 依次列出当前目录下以及当前目录的子目录下的目录和文件
-h:以用户看得懂的格式来显示列出的文件的大小信息
-S:根据文件的大小排序
-X:根据文件的扩展名排序
原文地址:https://www.cnblogs.com/dalisama/p/13218513.html