Linux文件显示与通配符

文件管理

以列表的形式展示目录结构

命令 参数 作用
ls 显示文件信息
-l 长列表显示文件信息,显示的信息被称作元数据
-a 显示所有文件包括以”.”开头的 隐藏文件
-s 显示文件大小
-S 按文件大小排序
-d 显示目录本身,-ld显示目录本身的属性
-R 递归显示,先显示首目录,然后继续显示子目录。

元数据

  • 任何文件系统中的数据分为数据和元数据。数据是指普通文件中的实际数据,而元数据指用来描述一个文件的特征的系统数据,如访问权限、文件所有者以及存储位置等等。

ls指令演示:

现在在家目录下有如下文件结构:
这里写图片描述

ls显示当前目录下的所有目录和文件的名字

这里写图片描述

ls指令需要显示指定目录的话只需在指令后加上文件路径即可

这里写图片描述

ls -l 显示当前目录下所有文件的元数据

这里写图片描述

ls -s显示文件的大小
这里写图片描述

ls -S按文件大小排序
这里写图片描述

ls -ld显示目录本身的属性
这里写图片描述

ls -R递归显示目录内容
这里写图片描述


以树形图的方式显示目录结构

  • tree指令可以将目录结构以树形图是方式展示出来,方便我们观察目录结构

linux系统中默认是没有tree这个指令,使用这条语句安装tree指令工具

sudo apt-get install tree
命令 参数 作用
tree 以树状图的方式显示当前文件目录
-L n 显示到第n级目录
> file 可以将查看到的目录结构导出到文件中

tree指令演示:

tree显示目录结构的树形图形式
这里写图片描述

tree -L 2只显示二级目录和之前的目录
这里写图片描述

tree -L 2 > new.txt将目录结构输出到文件中
这里写图片描述
使用vim查看new.txt
这里写图片描述
得到文件的内容是:
这里写图片描述


通配符

  • 用于文件管理中筛选文件
  • 类似于正则表达式
通配符 作用
* 匹配0到任意个字符
? 匹配单个字符,用于限定字符的个数
[[:alpha:]] 单个字母
[[:upper:]] 单个大写字母
[[:lower:]] 单个小写字母
[[:digit:]] 单个数字
[[:alnum:]] 单个数字或字母
[[:space:]] 单个空格
[[:punct:]] 单个符号
{1..3} 精确匹配1,2,3
{a..c} 精确匹配a,b,c
[1-3] 1或2或3
[ac] a或者c
[^ac] 除了a和c
[!ac] 除了a和c

注意:

创建文件时如果文件名中存在特殊字符,则创建时需要用“”将文件名括起来

  • [[:alpha:]]外层的方括号是模糊匹配的方括号,内层的方括号才是字符匹配的部分
  • 匹配单个字符的通配符不支持指定数量,需要用几个写几个
  • *[[:degit:]].conf 表示以.conf结尾,文件名最后一个字符是数字的文件
  • [![:punct:][:degit:]] 表示不包含符号或数字

通配符演示:

现在在家目录下创建如下文件:
这里写图片描述

  1. ls *.txt只显示文件名以.txt结尾的文件:
    这里写图片描述

  2. ls ????显示文件名为4个字符的文件:
    这里写图片描述

  3. *[[:upper:]]*匹配文件名中包含一个大写字母的:
    这里写图片描述

  4. ls *[[:punct:]]*匹配文件名中带符号的:
    这里写图片描述

  5. ls fi[![:punct:][:digit:]]le匹配文件名以fi开头以le结尾,并且中间不包含数字或者符号的:
    这里写图片描述

  6. ls [^f]*匹配除了文件名开头为f的文件
    这里写图片描述

  7. ls file{a..c}显示filea,fileb,filec
    这里写图片描述

注意:

通配符也可以使用在其他需要指定文件的命令中,但是在touch命令创建文件的时候不可以使用模糊匹配,只能使用精确匹配:

  1. 删除当前目录下的所有文件
    这里写图片描述

  2. 创建file1,file2,file3
    这里写图片描述

猜你喜欢

转载自blog.csdn.net/liuchonghua/article/details/81536759