搜索命令

搜索:find

目录所在:/bin/find

语法:find 搜索范围 匹配条件

搜索严格区分大小写

匹配条件:

按名字搜索:

​ -name:区分大小写,==不是模糊查询==

​ 通配符:*任意个字符,?任意一个字符。(Ubuntu 中表达式要加引号)

​ -iname:不区分大小写

​ 按文件大小查询:

​ -size:按文件大小查询。后面跟+(大于)或-(小于)或直接数字,数字的单位是数据块(0.5kb/块) ==不足的也占有一块==

按所属者查找:

​ -user:按所属者

​ -group:按所属组查

按时间属性查找:

​ -amin:访问时间

​ -cmin:文件属性被更改

​ -mmin:文件内容被更改

按照文件类型或者 i 节点查找

​ -type:f 表示文件,d 表示目录,l 表示软连接

​ -inum:根据 i 节点查找

组合查找

​ -a : and

​ -o : or

搜索命令:locate

命令目录:/usr/bin/locate

find是全盘搜索,locate是在文件资料库中进行搜索。所以比find快很多。

文件资料库(索引)是要不断更新的。新建的文件locate是找不到的。需要使用updatedb来更新索引。

但是/tmp 目录不是索引范围,所以/tmp 文件夹下面的文件是搜索不到的。

默认是模糊查询,不带任何参数。

搜索命令所在的目录和详细信息:which

命令所在目录:/usr/bin/which

/bin 或/usr/bin,所有人都可以用

/sbin 或/usr/sbin,只有管理员可以用。

centos 有别名,Ubuntu 没有别名

搜索命令所在目录以及帮助文档路径:whereis

命令所在目录:/usr/bin/whereis

在文件中搜索字符串匹配的行并输出:grep

语法:

​ grep "要匹配的字符" 匹配的文件名

区分大小写,可以加-i指令不区分大小写

-v取反。

grep -v “^#” filename 去掉注释

压缩命令

语法:

​ 压缩:gzip 文件名

​ 解压缩:gunzip 文件名

解压后不保留源文件,不能压缩目录

压缩后也不保留源文件

打包命令

tar -cvf 压缩后的文件名 要打包的目录

f 必须写在后面:打包并压缩:tar -cxvf

选项:

​ -c 打包

​ -x 解包

​ -z 同时压缩

​ -v 显示详细信息

​ -f 指定文件名(必须在最后)