Linux 的 find、tar、zip 命令
- 注意:路径为空,或为 ./ 都是表示当前路径, ../ 为上一级目录,如 ../dir 表示当前路径下上一级目录的dir文件夹
- find 目录 参数
- 目录项不写 或 ./ 则表示当前目录及其所有子目录下,权限不够前面加 sudo,'*.txt'中的 * 为模糊匹配
- 参数 -name
- find ./ -name '*.txt' 搜索当前路径及其所有子目录下以 .txt 结尾的文件,如 ./test.txt 表示文件在当前目录下
- find /home/zou123/Desktop -name '*.txt' 搜索指定路径及其所有子目录下以 .txt 结尾的文件
- find -name '*.txt' -o -name 'Music' 搜索当前路径及其所有子目录下 .txt结尾或命名为Music的文件,-o 有点类似于 或(or)的意思
- find -iname 'a.txt' 搜索当前路径及其所有子目录下忽略大小写的a.txt文件,其中字母皆可大小写,如 a.TXt、A.tXt、a.TXT 皆符合
- find /home/zou123 ! -name '*.txt' 搜索用户目录及其所有子目录下不以 .txt结尾的文件
- find -mindepth 1 -maxdepth 2 -name '*.txt' 搜索当前目录及其第一层子目录下的以 .txt结尾的文件(当前目录为第一层,mindepth为查找的最小层数,maxdepth为最大层数,范围 [mindepth,maxdepth],可组合也可单独使用)
- 参数 -empty
- find -empty 搜索当前路径及其所有子目录下的空文件(目录为空文件夹,普通文件内容为空等)
- 参数 -type
- find -type d 搜索当前路径及其所有子目录的文件夹
- find /home/zou123 -type f 搜索用户目录及其所有子目录下的普通文件
- 参数 -size,k、b为小写,M为大写
- find -size 2k 查找当前目录及其子目录下所有大小等于2k的文件
- find -size -5M 查找当前目录及其子目录下所有大小小于5M的文件
- find -size +3b 查找当前目录及其子目录下所有大小大于3b的文件
- find -size +5b -size -30k 查找当前目录及其子目录下所有大小大于5b且小于30k的文件
- 参数 -perm
- find ./ -perm 777 搜索当前目录及其子目录下所有全新未777的文件
- 多个参数可以组合起来使用,如 find /home/zou123 -mindepth 2 -maxdepth 3 -type f -iname '*.txt' -size -10k 搜索用户目录一级子目录至二级子目录下所有为普通文件类型的、以.txt结尾的、忽略大小写的、存储小于10k的文件
- tar(归档管理),参数可以连用
- -zcvf 创建、进度、指定压缩包名,如果仅仅是 -cvf则只是打包没有压缩,-zcvf指打包压缩成的格式为 xxx.tar.gz,而 -cvf为 xxx.tar,前者压缩体积,后者仅仅只是打包
- -zxvf 解压、进度、指定解压的包名
- 注:gz 和 .bz2 两种压缩占据了大多数
常用参数
|
操作含义
|
-c
|
生成档案文件,创建打包文件 |
-v
|
列出归档解档的详细过程,显示进度 |
-f
|
指定档案文件名称,f后面一定是 .tar文件,所以必须放选项最后 |
-t
|
列出档案中包含的文件 |
-x
|
解开档案文件 |
-
- tar -cvf 打包包路径与名称 文件1 文件2 ... 将当前目录下的文件1、文件2 ... 打包成指定命名的包,并显示进度,如 tar -cvf ./python ./1.py ./2.py ./3.py
-
- tar -zcvf ./python.tar.gz ./*.py 当前目录下的所有.py结尾的文件压缩为 python.tar.gz
- tar -zxvf 压缩包路径与名称 解压指定路径的压缩包,如 rar -zxvf ./python.tar.gz 解压当前目录下的名为python.tar.gz的压缩包
- rar -zxvf ./python.tar.gz -C ./aa 将 .gz压缩包解压到指定路径,这里为当前目录的aa子目录下,目录应存在
- tar -jcvf ./python.tar.bz2 ./*.py 当前目录下的所有.py结尾的文件压缩为 python.tar.bz2
- tar -jxvf 压缩包路径与名称 解压指定路径的压缩包,如 rar -jxvf ./python.tar.bz2 解压当前目录下的名为python.tar.bz2的压缩包
- rar -jxvf ./python.tar.bz2 -C ./aa 将 .bz2压缩包解压到指定路径,这里为当前目录的aa子目录下
- '打包' '.gz压缩' '.bz2压缩' 的用法规则类似
-
- tar -Wcvf 命名.tar.Y 文件
- tar -Wxvf 命名.tar.Y -C 解压指定路径
- 其中 '打包' '.gz压缩' '.bz2压缩' 的 W分别为:空、z、j, Y分别为空、gz、bz2
- zip(比 tar的使用方式更简洁,但压缩包的体积更大)
- zip 压缩包名 文件 zip压缩,如 zip zz.zip *.py,使用zip压缩当前目录下所有 .py文件
- unzip 解压缩包名 zip解压缩,如 zip zz.zip,使用zip解压缩当前目录的 zz.zip文件
- unzip zz.zip -d ./aa 将 .zip压缩包解压到指定路径,若文件夹不存在,则自动创建