在常见的Linux压缩当中,有两种格式是十分常见的,分别是ziptar,这边文章对两种格式需要用到的命令做了基础性的总结。

zip和unzip

zip和unzip命令可以分别对文件进行压缩和解压缩

zip

zip可以对文件快速创建压缩包

1
2
3
zip archive inpath inpath  ...
# archive指定生成压缩归档文件的路径
# inpath inpath ...要添加到压缩包中的文件路径

如下:

1
zip backup.zip test/*.txt

在windows当中压缩文件可以右键进行压缩,并且有多种选项,相对的在Linux也可以做这些选项,不过这些都涵盖在命令当中。

zip分卷压缩

1
2
3
zip -s 64k new.zip *.txt
# -s 64k 指定分卷大小为64K,zip允许的最小分卷大小为64k。
zip test.zip /bin/zsh -s 100k

对压缩包重新分卷 如果你有一个较大的压缩包,要进行分卷也可以采用类似的方法。

1
zip big.ziph --out new.zip -s 1m

zip的更多参数

1
zip options archive inpath inpath ...

options在这里是指一系列的选项参数。

参数 说明
-r 递归遍历目录
-q 不显示压缩命令的执行过程(q为quite缩写,安静模式)
-d 删除压缩包中指定文件
-p 添加密码,密码在命令行是明文
-e 添加密码,密码是隐藏的
  • 不使用-r参数,压缩遇到目录,只会添加目录路径本身,不会遍历目录内其他文件
  • -d 的含义是删除已经压缩好的压缩包当中的文件,不是在压缩过程中排除某个文件
  • 使用-p的时候需要添加密码参数,使用-e的时候不需要添加密码,等待输入回车后提示输入密码

unzip解压缩文件

1
2
3
unzip filepath
# filepath 要解压缩的文件的路径。
unzip test.zip

unzip其他参数

参数 说明
-v 查看压缩包内容
-d 指定解压缩路径

gzip

gzip命令是一个既能进行压缩,又能进行解压缩的全能选手

使用方法

1
gzip [OPTION] ... [FILE] ...
  • [OPTION] 选项参数,可以指定多个选项参数
  • [FILE] 要压缩的文件路径,可以指定多个要压缩文件

下面是常用参数的一个列表:

参数 参数长名 说明
-c —stdout 在标准输出上输出,保持原始文件
-d —decompress 解压缩
-f —force 强制覆盖输出文件并压缩链接
-h —help 显示帮助
-k —keep 保留(不删除)输入文件
-l —list 列出压缩文件的内容
-L —license 显示软件许可证
-n —no name
-N —name 保存或恢复原始文件名称和时间戳
-q —quiet 禁用所有警告,安静模式
-r —recursive 对目录启动递归操作
—syncable 制作对rsync友好的存档
-S —suffix=SUF 在压缩文件上使用后缀 SUF
—synchronous 同步输出(如果系统崩溃,则更安全,但是更慢)
-t —test 测试压缩文件的完整性
-v —verbose 详细输出执行过程
-V —version 显示版本号
-1 —fast 更快的压缩速度
-9 —best 最好的压缩率

tar命令归档

tar命令可以将多个文件归档到一个文件,或者从归档中还原出所有文件。

这里tar命令的作用是把多个文件打包成一个文件,如果此时再对打包后的这个文件进行gzip压缩,这就会生成一个带压缩的归档文件,通常会看到.tar.gz这样的文件后缀。

1
tar [options...] [file] ...
  • options为可选参数,可以有多个options参数
  • file为要归档的文件路径,可以有多个这样的file

下面是tar命令的一些常用的options参数。

选项参数 长选项 说明
-c —create 创建一个新的归档文件
-r —append 往归档文件末尾追加文件
-u —update 将更新的文件更新到归档中
-x —get —extract 将归档中解压文件
-d —diff —compare 对归档和文件系统中的文件进行差异比较
—delete 从归档文件中删除指定文件
-t —list 查看归档文件中的内容列表
-v —verbose 显示执行过程
-z —gzip 使用gzip进行压缩
-f —file 指定备份文件名称

并且以上面的这些选项参数可以叠加使用,如下:

创建归档

下面的这条命令,是对当前路径下所有的.txt后缀的文件进行归档,并使用gzip对归档文件进行压缩。

1
tar -czvf test.tar.gz test/

-czvf 这是一个多个选项合并的写法,

  • c 创建归档
  • z 使用gzip进行压缩处理
  • v 显示执行过程
  • f 指定归档文件的名称,
  • test.tar.gz 为归档文件的名称
  • test/ 为要归档的文件路径

解压归档

使用下面这条命令,我们可以把一个gzip压缩的归档文件进行解压缩。

1
tar -zxvf test.tar.gz

注意实验前,先把test目录删除干净,然后再进行解压操作。

1
rm -rf test