文件管理
以列表的形式展示目录结构
命令 | 参数 | 作用 |
---|---|---|
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:]]
表示不包含符号或数字
通配符演示:
现在在家目录下创建如下文件:
ls *.txt
只显示文件名以.txt结尾的文件:
ls ????
显示文件名为4个字符的文件:
*[[:upper:]]*
匹配文件名中包含一个大写字母的:
ls *[[:punct:]]*
匹配文件名中带符号的:
ls fi[![:punct:][:digit:]]le
匹配文件名以fi开头以le结尾,并且中间不包含数字或者符号的:
ls [^f]*
匹配除了文件名开头为f的文件
ls file{a..c}
显示filea,fileb,filec
注意:
通配符也可以使用在其他需要指定文件的命令中,但是在touch
命令创建文件的时候不可以使用模糊匹配,只能使用精确匹配:
删除当前目录下的所有文件
创建file1,file2,file3