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压缩包解压到指定路径,若文件夹不存在,则自动创建
 
posted @ 2020-12-22 16:07  a最简单  阅读(1214)  评论(0编辑  收藏  举报