admin管理员组

文章数量:1516870

一、压缩格式

市面上有非常多的压缩格式

  • zip格式:Linux、Windows、MacOs, 常用
  • 7zip格式:Windows系统常用
  • rar格式:Windows系统常用
  • tar格式:Linux、 MacOS常用
  • gzip格式:Linux、MacOS常用

(1).tar 文件格式( Tape Archive

  • 操作对象:既可以是文件,也可以是目录
  • 作用:仅将多个文件/目录打包成一个单独的文件,不进行压缩,文件体积基本和原文件总和一致

(2).gz 文件格式( Gzip

  • 操作对象:只能是单个文件
  • 作用:对单个文件进行压缩,能显著减小文件体积,但无法直接压缩目录(必须先把目录打包成 .tar 文件,再用gzip压缩)
  • 核心限制:只能压缩单个文件,不能处理多个文件/目录
  • 压缩命令: gzip 文件名 (例: gzip myfile.tar ,会生成 myfile.tar.gz 并删除原 .tar 文件)

(3).tar.gz 文件格式

这是Linux中最常用的压缩包格式,先通过 tar 打包,再通过 gzip 压缩,兼具“打包”和“压缩”的双重效果


二、tar 命令

命令结构: tar [-c -ν -x -f -z -C] 参数1 参数2..参数N

  • [-c]: 创建压缩文件,用于压缩模式
  • [-v]: 显示压缩、解压过程,用于查看进度
  • [-z]: gzip模式,不使用-z就是普通的tarball格式, 一般放在开头
  • [-x]: 解压模式 (与 -c 冲突,故不并用)
  • [-C]: 选择解压的目的地 (目录) ,用于解压模式
  • [-f]: 要创建的文件,或要解压的文件, -f 选项必须在所有选项中位置处于最后一个

常用组合:

(1) (打包) tar  -cvf  test.tar  one.txt  two.txt  three.txt

one.txt  two.txt  three.txt 打包到 test.tar 文件中

注意:后面接的第一个参数是打包后的文件,之后所有的都是被 打包 文件

(2) (压缩) tar -zcvf  test.tar.gz  one.txt  two.txt  three.txt

one.txt  two.txt  three.txt 打包加压缩到 test.tar.gz 文件中

(3) (解压) tar -xvf  test.tar

解压 test.tar 文件,到当前目录

(4) (解压) tar -xvf  test.tar  -C ~/xtest

解压 test.tar 文件,到指定目录(/home/zinc/xtest)

(5) (解压) tar -zxvf  test.tar.gz  -C ~/xtest

解压 test.tar.gz 文件,到指定目录(/home/zinc/xtest)


三、zip既打包又压缩

命令结构: zip  [-r] 参数1 参数2..参数N [-x] 参数1 参数2..参数N

  • [ -r ]: 当要包含目录内文件时使用,不然只会打包目录本身,不包含里面文件
  • 参数1: 一个带.zip后缀的新生成文件
  • 剩余参数: 被打包文件
  • [ -x ]: 排除文件,尽量加""包裹,以免使用通配符*时出错(路径要与被压缩文件对应)

例如:

(1) zip -r test.zip xtest ztest

普通文件ztest 目录xtest 压缩到 test.zip 文件中

(2) zip -r test.zip ztest xtest -x "xtest/one.txt"

普通文件ztest 目录xtest 压缩到 test.zip 文件中,并排除 xtest 中的 one.txt 文件


四、unzip 解压.zip

命令结构: unzip  [-q -l ] 被压缩文件  [包内个别文件] [-d] 压缩目的地

  • [-q]: 静默解压,不输出任何信息(适合脚本中使用)
  • [-l]: 不解压,只查看压缩包内信息
  • [-d]: 指定目标目录,不存在时会自动创建(同名会替换)
  • [包内个别文件]: 选择性解压,最好先-l 查看包内路径,路径需对应

例如:

(1) unzip test.zip xtest/three.txt -d 3.txt

test.zip 中的 xtest/three.txt 文件解压到此目录的 3.txt 目录中(会保留原目录结构)

(2) unzip test.zip "xtest/*.txt" -d tong.txt

test.zip 中的 xtest/three.txt 和xtest/two.txt 解压到此目录的 tong.txt 目录中(会保留原目录结构)

本文标签: 文件参数格式