Linux常用打包、压缩、解压指令

本文最后更新于:2022年7月21日 下午

Linux常用打包、压缩、解压指令

基本概念

打包是指将一大堆文件或目录打包为一个文件。

压缩是将一个大文件通过某些压缩算法压缩为一个更小的文件。

Linux很多压缩程序只能针对一个文件进行压缩,要压缩很多文件时,要先打包再压缩。

tar命令

tar命令可以为Linux的文件和目录创建档案。tar可以进行打包、压缩、解压三种操作。

1
2
3
4
5
6
## tar命令基本格式
## 必须包含-f 以及解包或者打包或者查看的指令
tar [指令] [参数(若需要)]
## 下面这两行命令是等价的
tar -c -v -f new.tar /home/tmp/file/
tar -cvf new.tar /home/tmp/file/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
### 常用参数 
-c # create 建立新文件(打包或者压缩)
-x # extract 解压,解包
-t # list 列出备份文件内容
-r # renew 添加文件到已经压缩的文件
-f # file 作为最后一个参数 ,表示新建的文件名,可以随意指定后缀名,但最好用指定的名字。Linux不根据后缀名识别文件类型。

-v # verbose 打包或者解压时显示详细信息
-C # 大写的C 解压、解包到某特定目录

### 压缩参数
-z # 用gzip命令处理 .tar.gz
-j # 用bzip2命令处理 .tar.bz2

tar -cvf new.tar ./file/ # 将./file/目录下所有文件打包为new.tar,并保存在当前目录,过程显示详细信息
tar -cvf new.tar ./file1/ ./file2/ # 可以一次包含多个目录
tar -tvf new.tar # 不解包的情况下查看包内文件信息
tar -xvf new.tar -C ./file3/ # 解压new,tar到另一个目录
tar -rvf new.tar ./file4/ # 向new.tar中加入新的目录

其他压缩命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
### zip .zip
zip new.zip ./file # 压缩
-m # 压缩后删除源文件
-q # 安静模式
-o # 将文件最新变动时间更新
-r # 压缩目录
-S # 大写S 包含系统和隐藏文件
-[1-9] # 压缩效率 1表示最快
unzip new.zip # 解压
-n # 解压时不覆盖原有文件
-o # 解压后覆盖原有文件
-q # 安静模式
-P [密码] # 解压密码
-d [目录] # 选择解压目录

gunzip xxx.gz # gunzip解压gz文件

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!