Linux命令查找和压缩 find which whereis 和tar
1 find的命令
1. 1 命令的特点:
精确查找
实时查找
支持查找条件很多
各表达式之间使用逻辑运算符, “-a”表示而且(and),“-o”表示 或者(or)
查找路径:指定具体目标路径;不指定则默认为当前目录。
查找条件:可以对文件名、大小、类型、权限等标准进行查找;默认为找出指定路径下的所有文件。
处理动作:对符合条件的文件做操作,默认输出至屏幕(print)。
处理动作:
-
-ls 对查找到的文件列出属性信息
-
-delete 对查找到的文件进行删除
-
-exec COMMAND {} \;
对查找到的每个文件执行由COMMAND指定的命令,{}: 用于引用查找到的文件名称自身。
-
-ok COMMAND {} \;
对查找到的每个文件执行由COMMAND指定的命令,对于每个文件执行命令之前,都会交互式要求用户确认。
按名称查找 | -name | 根据目标文件的名称进行查找,允许使用“*”及“?”通配符; 如果名字使用通配符,需要加” “来查询 |
按文件大小查找 | -size | 根据目标文件的大小进行查找 一般使用“+”、“-”号设置超过或小于指定的大小作为查找条件 常用的容量单位包括 kB(注意 k 是小写)、MB、GB |
按文件属主/属组查找 | -user/-group | 根据文件是否属于目标用户进行查找 |
查找无属主/属组的文件 | -nouser/-nogroup | 查找无属主/属组的文件 |
按文件类型查找 | -type | 根据文件的类型进行查找 文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等 |
按inode号查找 | -inum | 根据文件inode号查找 |
按权限查找 | -perm | 按文件权限查找 |
最大搜索目录深度 | -maxdepth | 将你的文件以分级的形式查找,最多搜索到某级目录 |
最小搜索目录深度 | -mindepth | 将你的文件以分级的形式查找,最少搜索到某级目录 |
按三种时间查询 | -三种时间 | -atime、-mtime、-ctime |
示例
注意:按文件大小查找时,大小范围需注意
- find -size 1G:查找的是从0G到1G,不包括0G,即(0,1]。
- find -size 2G:查找的是从1G到2G,不包括1G,即(1,2]。
- find -size 1024M:查找的是从1023M到1024M,不包括1023M,即(1023,1024]。
思考:find -size 1024M 和 1G 一样么?
-
1024M 表示 1023M ~ 1024M,不包括 1023M。
-
1G 表示 0G ~1G,不包括 0G。
故使用 find -size 1024M 查找更加精准。
思考:10k、-10k、+10k的大小范围分别是多少?
- -size 10k :表示9k到10k,包括10k、不包括9k,即(9,10]。
- -size -10k :表示9k以内,包括9k,即 [0,9]。
- -size +10k :表示10k以上,不包括10k,即(10,+∞)。
![](https://img2022.cnblogs.com/blog/2964616/202209/2964616-20220927170656651-2101337029.png)
2 压缩文件
2.1 gzip和bzip2
gzip和bzip2都是压缩软件,比如windows里的好压和360压缩或微软自带的等等
gzip bzip2 都是压缩程序,区别是:gzip的速度快一些,而bzip2要压得狠一些.
tar是打包程序,这个命令可以在打包的同时调用gzip或者bzip2进行压缩.
一般以.tar.gz结尾的是用gzip压缩的,而.tar.bz2结尾的是用bzip2压缩的.
命令格式:
- 压缩:
gzip [-9] 文件名…
bzip2 [-9] 文件名...
-1~9 指定压缩级别, 数字越大压缩级别越高 。-1最快压缩,-9最大压缩 。
- 解压缩:
gzip -d .gz格式的压缩文件;
bzip2 -d .bz2格式的压缩文件
![](https://img2022.cnblogs.com/blog/2964616/202209/2964616-20220927171437488-1166065320.png)
2.2 tar
-c | 创建(Create).tar 格式的包文件 |
-C | 解压时指定释放的目标文件夹 指定目录 |
-x | 解开.tar 格式的包文件 |
-f | 表示使用归档文件(一般都要带上表示使用tar) |
-v | 输出详细信息(Verbose) |
-t | 列出归档内容 |
-j | 调用 bzip2 程序进行压缩或解压 |
-z | 调用 gzip程序进行压缩或解压 |
示例
![](https://img2022.cnblogs.com/blog/2964616/202209/2964616-20220927171944826-919910297.png)