Linux常见的压缩命令
一、tar命令
tar命令用来打包一个目录,它支持三种格式:”.tar”、”.bz2″和”.gz”
1.1、压缩
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
tar -cvf [文件名].tar [文件目录] //打包成.tar文件 tar -jcvf [文件名].tar.bz2 [文件目录] //打包成.tar.bz2文件 tar -zcvf [文件名].tar.gz [文件目录] //打包成.tar.gz文件 tar -cvJf [文件名].tar.xz [文件目录] //打包成tar.xz文件 # 快速压缩 tar -I "bzip2 -9" -cvf [文件名].tar.bz2 [文件目录] tar -I "gzip -9" -cvf [文件名].tar.gz [文件目录] tar -I "xz -9 -T0" -cvf [文件名].tar.xz [文件目录] # 参数说明 # -9:最高压缩率(压缩时间更长)。 # -T0:自动使用所有 CPU 核心进行多线程压缩(仅 xz 支持)。 # -I:指定压缩程序及其参数,功能与 --use-compress-program 相同,但更简洁。 |
1.2、解压缩
|
1 2 3 4 5 |
tar -xvf [文件名].tar //解压到当前文件 tar -xvf [文件名].tar -C [文件目录] //将.tar文件解压到指定目录 tar -jxvf [文件名].tar.bz2 -C [文件目录] //解压.tar.bz2文件到指定目录 tar -zxvf [文件名].tar.gz -C [文件目录] //解压.tar.gz文件到指定目录 tar -xJf [文件名].tar.xz -C [文件目录] //解压.tar.xz文件到指定目录 |
1.3、常用选项
-c 建立新的压缩文件
-C 指定解压目录,该目录必须存在
-x 从压缩的文件中提取文件
-j 支持bzip2解压文件
-f 指定压缩文件
-v 显示操作过程
-z 支持gzip解压文件
二、7z命令
2.1、文件压缩
|
1 |
7z a -t7z test.7z file //将file压缩为test.7z |
2.2、目录压缩
|
1 2 3 4 |
# 无密码 7z a backup.7z /home/data # 加密码 会提示输入密码。 7z a -p backup.7z /home/data |
2.3、解压
解压文件到当前目录
|
1 2 |
7z x filename.7z |
解压文件到指定目录,-o后面直接跟目录,不需要空格
|
1 |
7z x test.7z -r -o./test |
2.3、 常用选项
-a 添加文件/文件夹到压缩包
-t 指定压缩格式,如-t7z表示指定压缩格式为7z
-o 是指定解压到的目录
-r 递归所有的子文件夹,这个选项通常可以忽略
-x 解压文件
三、zip命令
3.1、压缩
- 压缩单个文件
|
1 |
zip filename.zip file |
将file压缩为filename.zip,file不能是目录
压缩目录文件
|
1 2 3 4 |
zip -r filename.zip filedir # 创建有密码的压缩包 输入两次密码即可。 zip -r -e backup.zip data/ |
3.2、解压
|
1 |
unzip filename.zip -d filedir |
将filename.zip解压到filedir目录,如果不指定-d filedir则解压到当前目录
四、rar命令
4.1、压缩
将filedir压缩为filename.rar文件
|
1 |
rar a filename.rar filedir |
4.2、解压
将rar文件解压到指定的dir目录,如果不指定dir则解压到当前目录
|
1 |
rar x filename.rar dir |
五、 命令
5.1、压缩
- 将filename.tat压缩为lzma文件, lzma需要压缩打包完的文件
|
1 |
lzma filename.rar |
4.2、解压
|
1 |
unlzma filename.lzma |