shell 通用命令之ls

445 阅读3分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第3天,点击查看活动详情

您能在这里看到啥

  1. ls语法格式
  2. ls常用命令
  3. ls命令组合使用
  4. ls条件查询

ls语法格式

用来展示文件和目录,可以获取文件属主和属组.也可以筛选功能,显示对应的文件等等功能.

语法 : find [命令符] [文件路径]

参数名字必填参数说明
命令符显示不同属性的查询条件(不传,即列出文件路径下的所有文件)
文件路径查看目标文件的相对路径或者绝对路径(不传,即为当前目录)

演示前准备

  1. 添加测试文件,如下所示

截屏2022-11-24 20.52.24.png

ls常用命令

  1. ls:显示当前目录下所有非隐藏文件.如下所示

  2. ls -a: 显示当前目录下所有文件包含隐藏文件

  3. ls -t: 显示当前目录下所有非隐藏文件,并按时间先后顺序进行排序

  4. ls -F: 将使用不同的特殊字符归类不同的文件类型,如下所示

    截屏2022-11-24 20.46.12.png

    如上所示: | 字符 | 含义 | | --- | --- | |/|文件夹 |@|链接文件 |*|可执行文件 |无特殊字符串|表示文件夹

  5. ls -m: 文件用,隔开.如下所示

    截屏2022-11-24 20.48.06.png

  6. ls -1: 文件以的形式显示,如下所示

    截屏2022-11-24 20.53.07.png

  7. ls -l:文件以的形式显示,但每行显示文件和目录的信息包含,文件类型和权限属主属组文件大小时间.如下所示 截屏2022-11-24 20.58.18.png

  8. ls -R:递归列出所有非隐藏文件(子目录也会显示).如下所示 截屏2022-11-24 21.00.07.png

  9. ls -n:显示内容和ls -l类似,只是把属主属组,替换成了uidgid.如下所示 截屏2022-11-24 21.03.31.png

  10. ls -lh:显示内容和ls -l类似,只是把文件大小改成我们习惯的格式.如下所示 截屏2022-11-24 21.13.28.png

  11. ls -S:按文件从大到小显示

当然,强大的ls指令不可能只有上面这几个显示条件,在前面的find指令中,我们就已经使用了组合.ls当然也是支持的.刺不刺激,惊不惊喜.我们一起来看一下是怎么组合的吧,

ls命令组合使用

  1. ls -laF

    • ls -l的形式,显示所有文件(包含隐藏文件),将使用不同的特殊字符归类不同的文件类型.如下所示

      截屏2022-11-24 21.26.58.png

  2. ls -lt

    • ls -l的形式,按时间顺序显示.

      截屏2022-11-24 21.28.26.png

  3. ls -at

    • 显示所有文件(包含隐藏文件),并按时间顺序排列
  4. ls -Sr

    • 按文件从小到大显示
  5. ls -Srlh

    • ls -l的形式,文件大小以k、m显示,并且从小到大显示

      截屏2022-11-24 21.36.02.png

组合形式很多,这里我就简单举例了我常用的,后续也会不断扩展.

ls条件查询

  1. 根据文件扩展进行匹配

    • *: 表示为多个字符串
      • 列出所有以.txt结尾的文件
        • ls *.txt
        • ls -l *.txt
        • ls -t *.txt
      • 列出以main开头的文件
        • ls main*
    • ?: 表示为单个字符(多个?表示长度)
      • ls ????.txt
      截屏2022-11-24 21.46.42.png
  2. 通配符匹配

    匹配格式类似于正则表达式.

    比如我们找到,文件名包含数字. ls *[0-2],执行结果如下所示

    截屏2022-11-24 21.55.57.png

    简单举例几个正则格式

    | 字符 | 含义 | | --- | --- | [...]| 在[]中打出所要匹配的字符范围([0-9]即为该字符的范围为0到9,[a-f]也同理) [^.....][!.....]|[!0-2][^0-2]表示不是0~2的数字 {.....}| 匹配{}中的内容(内容用逗号隔开),如{test,ts}.*,就会找到test.txtts.sh文件