文件的压缩与解压缩:
Linux文件压缩工具有:zip , gzip ,bzip, xz,tar(打包工具),rar 等。
1.zip 和 unzip:(.zip)
命令格式 : zip [参数] [压缩文件] [源文件]
相关参数:
-b<目录> 指定暂时存放文件的目录。
-d 从压缩文件内删除指定的文件。
-D 压缩文件内不建立目录名称。
-F 尝试修复已损坏的压缩文件。
-g 将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件。
-m 将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中
-r 递归处理,将指定目录下的所有文件和子目录一并处理
命令格式 : unzip [参数] [原压缩文件][*文件] [文件夹]
相关参数:
- -c 将解压缩的结果显示到屏幕上,并对字符做适当的转换。
- -f 更新现有的文件。
- -l 显示压缩文件内所包含的文件。
- -p 与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。
- -t 检查压缩文件是否正确。
- -C 压缩文件中的文件名称区分大小写
- -j 不处理压缩文件中原有的目录路径
- -n 解压缩时不要覆盖原有的文件
- [*文件] 指定要处理.zip压缩文件中的哪些文件。
- -d<目录> 指定文件解压缩后所要存储的目录。
- -x<文件> 指定不要处理.zip压缩文件中的哪些文件。
- -Z :unzip -Z等于执行zipinfo指令
2.gzip 和 gunzip(.gz):
gzip 压缩后源文件消失,并且不能压缩文件夹
格式: gzip 参数 文件
-c或--stdout或--to-stdout:把解压后的文件输出到标准输出设备。
gunzip = gzip -d 解压
3.bzip2 和 bunzip2(.bz2):
bzip2、bunzip2是更新的Linux压缩工具,比gzip有着更高的压缩率
直接上例子吧:
[root@localhost test]# bzip2 -z man.config //将man.config以bzip2压缩,此时man.config变成man.config.bz2 [root@localhost test]# bzip2 -9 -c man.config > man.config.bz2 //将man.config用最佳的压缩比压缩,并保留原本的档案 [root@localhost test]# bzip2 -d man.config.bz2 //将man.config.bz2解压缩,可用bunzip2取代bzip2 -d [root@localhost test]# bunzip2 man.config.bz2 //将man.config.bz2解压缩
4.xz 和 unxz (.xz):
实例1:压缩文件 [root@localhost test]# xz test1.txt [root@localhost test]# ls test1.txt.xz test1.txt.xz 实例2:压缩dir1目录下文件 [root@localhost test]# xz dir1/* [root@localhost test]# ls dir1 fstab.xz test3.txt.xz test4.txt.xz test5.txt.xz 实例3:查看压缩文件内容 [root@localhost test]# xzcat test1.txt.xz test1 实例4:解压缩 [root@localhost test]# unxz test1.txt.xz 实例5:解压缩目录dir1下文件 [root@localhost test]# xz -d dir1/* [root@localhost test]# ls dir1 fstab test3.txt test4.txt test5.txt
5.tar(常用,重要,只是个解压辅助工具):
tar 命令用于对文件进行打包压缩或解压,格式为tar [选项] [文件]”。
相关参数:
-c | 创建压缩文件 |
-x | 解开压缩文件 |
-t | 查看压缩包内有哪些文件 |
-z | 用 Gzip 压缩或解压 |
-y | 用 bzip2 压缩或解压 |
-v | 显示压缩或解压的过程 |
-f | 目标文件名 |
-p | 保留原始的权限与属性 |
-P | 使用绝对路径来压缩,不要从文件名中去除'/' |
-C | 指定解压到的目录 |
Eg:
解压解包
1:# tar -xzvf exam.tar.gz //加一个选项-v,就是显示打包兼压缩或者解压的过程。因为Linux上最常见的软件包文件是.tar.gz文件,因此,最常看到的解压方式就是这样了
2:# tar -xzvf exam.tgz //.tgz文件名也是一样的,因性质一样,仅文件名简单一点而已
3:# tar xzvf exam.tar.gz -C exam/ // 解压到exam目录中
4:# tar xjvf exam.tar.bz2 -C exam/ // j:使用bzip2
打包压缩
1:# tar cjvf test.tar.bz2 exam1*.txt
2:# tar czvf test.tar.gz exam1*.txt
补充:Linux下解压压缩 .rar 文件
.rar是在Windows中最常见的压缩文件格式,在Linux中如需使用需要安装rarlinux,官方:
https://www.rarlab.com/rar/rarlinux-x64-5.7.0.tar.gz
wget https://www.rarlab.com/rar/rarlinux-x64-5.7.0.tar.gz
tar xf rarlinux-x64-5.7.0.tar.gz
cd rar
make && make install
安装好后可以使用rar 和 unrar 命令