- gzip 源文件 压缩为 .gz 格式的压缩文件,源文件会消失
- gzip -c 源文件 > 压缩文件 压缩为.gz格式,源文件保留
- gzip -r 目录 压缩目录下全部的子文件,可是不能压缩目录。
- gzip -d 压缩文件 解压缩文件
- gzip -1-9 文件名 指定压缩级别,默认是6级别,数字越大耗费的CPU资源越大。
- gunzip 压缩文件 解压缩文件
[root@xuexi--01 ~]# ls abc anaconda-ks.cfg test.txt [root@xuexi--01 ~]# gzip test.txt [root@xuexi--01 ~]# ls abc anaconda-ks.cfg test.txt.gz
在使用命令 gzip test.txt 后源文件text.txt消失了,压缩后的文件为test.txt.gzpython
[root@xuexi--01 ~]# touch 1.txt [root@xuexi--01 ~]# ls 1.txt abc anaconda-ks.cfg test.txt.gz [root@xuexi--01 ~]# gzip -c 1.txt > 1.txt.gz [root@xuexi--01 ~]# ls 1.txt 1.txt.gz abc anaconda-ks.cfg test.txt.gz
在使用命令 gzip -c 1.txt > 1.txt.gz 源文件保留,而且成功压缩了 1.txt 为 1.txt.gz工具
[root@xuexi--01 ~]# ls 1.txt 1.txt.gz abc anaconda-ks.cfg test.txt.gz [root@xuexi--01 ~]# ls abc/ 12.txt [root@xuexi--01 ~]# gzip -r abc/ [root@xuexi--01 ~]# ls abc/ 12.txt.gz
在使用命令 gzip -r abc/ 时,目录并无被压缩,只是压缩的目录里面的子文件12.txt,压缩后的文件为12.txt.gzcode
[root@xuexi--01 ~]# ls 1.txt.gz abc anaconda-ks.cfg test.txt.gz [root@xuexi--01 ~]# gzip -d 1.txt.gz [root@xuexi--01 ~]# gzip -d test.txt.gz [root@xuexi--01 ~]# ls 1.txt abc anaconda-ks.cfg test.txt
在使用 gzip -d 1.txt.gz gzip -d test.txt.gz 命令时,成功将文件解压缩,压缩包消失。ip
[root@xuexi--01 ~]# cd abc/ [root@xuexi--01 abc]# ls 12.txt.gz [root@xuexi--01 abc]# gunzip 12.txt.gz [root@xuexi--01 abc]# ls 12.txt
若是须要解压缩目录里面的全部子文件,能够使用 gunzip -r 目录名资源
- bzip2 源文件 压缩为 .bz2 的格式,不保留源文件
- bzip2 -k 源文件 压缩后保留源文件
- 压缩级别为1-9,默认为9
- bzip2 -c 源文件 > 压缩文件
[root@xuexi--01 ~]# bzip2 1.txt [root@xuexi--01 ~]# ls 1.txt.bz2 abc anaconda-ks.cfg test.txt
在使用 bzip2 1.txt 时,源文件会消失,已经成功将1.txt文件压缩为1.txt.bz2。源文件 1.txt 文件消失。class
[root@xuexi--01 ~]# bzip2 -k test.txt [root@xuexi--01 ~]# ls 1.txt.bz2 abc anaconda-ks.cfg test.txt test.txt.bz2
在使用 bzip2 -k test.txt 成功将test.txt 文件压缩为test.txt.bz2 并且源文件保留。 bzip2 不支持 -r 选项 是不支持压缩目录以及目录下的子文件的。test
[root@xuexi--01 ~]# bzip2 -c 1.txt > /tmp/1.txt.bz2 [root@xuexi--01 ~]# ls /tmp/ 1.txt.bz2
使用 bzip2 -c 1.txt > /tmp/1.txt.bz2 命令,将1.txt 文件指定到 /tmp/ 下压缩,能够指定压缩文件的路径。打包
[root@xuexi--01 ~]# ls 1.txt.bz2 abc anaconda-ks.cfg test.txt.bz2 [root@xuexi--01 ~]# bzip2 -d -k 1.txt.bz2 [root@xuexi--01 ~]# ls 1.txt 1.txt.bz2 abc anaconda-ks.cfg test.txt.bz2
在使用命令 bzip2 -d -k 1.txt.bz2 时,成功将1.txt.bz2文件解压缩为 1.txt 若是不加 -k选项不保留原压缩文件,加上 -k后保留原压缩文件。file
[root@xuexi--01 ~]# ls 1.txt 1.txt.bz2 abc anaconda-ks.cfg test.txt.bz2 [root@xuexi--01 ~]# bunzip2 -k test.txt.bz2 [root@xuexi--01 ~]# ls 1.txt 1.txt.bz2 abc anaconda-ks.cfg test.txt test.txt.bz2
在使用命令 bunzip -k test.txt.bz2 时,成功将压缩文件test.txt.bz2 解压缩为 test.txt。若是不加 -k选项不保留原压缩文件,加上 -k后保留原压缩文件。方法
- xz 源文件
- xz -c 源文件 > 压缩文件
- xz -d 压缩文件 解压缩命令
- unxz 压缩文件 解压缩命令
- 支持1-9的压缩级别
- -k压缩/解压缩时加-k 保留源文件
[root@xuexi--01 ~]# xz 1.txt [root@xuexi--01 ~]# ls 1.txt.xz abc anaconda-ks.cfg test.txt [root@xuexi--01 ~]# xz -k test.txt [root@xuexi--01 ~]# ls 1.txt.xz abc anaconda-ks.cfg test.txt test.txt.xz [root@xuexi--01 ~]# xz -c test.txt > /tmp/text.txt.xz [root@xuexi--01 ~]# ls -d /tmp/text.txt.xz /tmp/text.txt.xz [root@xuexi--01 ~]# xz test.txt [root@xuexi--01 ~]# ls abc anaconda-ks.cfg test.txt.xz [root@xuexi--01 ~]# unxz test.txt.xz [root@xuexi--01 ~]# ls abc anaconda-ks.cfg test.txt [root@xuexi--01 ~]# xz -d -k test.txt.xz [root@xuexi--01 ~]# ls abc anaconda-ks.cfg test.txt test.txt.xz
xz 压缩工具使用方法跟 gzip bzip2 命令相似。
- zip 压缩文件名 源文件
- zip -r 压缩文件名 源目录
- unzip 压缩文件
- unzip 压缩文件 -d 指定的目标路径
- unzip -l 压缩文件 显示压缩文件内所包含的文件
[root@xuexi--01 ~]# ls abc anaconda-ks.cfg test.txt [root@xuexi--01 ~]# zip test.txt.zip test.txt adding: test.txt (stored 0%) 由于文件为空文件,因此这边压缩的百分比显示为0
[root@xuexi--01 ~]# ls abc anaconda-ks.cfg test.txt [root@xuexi--01 ~]# ls abc/ 12.txt [root@xuexi--01 ~]# zip -r abc.zip abc/ adding: abc/ (stored 0%) adding: abc/12.txt (stored 0%) [root@xuexi--01 ~]# ls abc 12.txt [root@xuexi--01 ~]# ls abc abc.zip anaconda-ks.cfg test.txt
在使用 zip -r abc.zip abc 时,将abc 目录成功压缩,而且压缩abc 目录里面的子文件。
[root@xuexi--01 ~]# ls abc.zip anaconda-ks.cfg test.txt.zip [root@xuexi--01 ~]# unzip test.txt.zip Archive: test.txt.zip extracting: test.txt [root@xuexi--01 ~]# unzip abc.zip Archive: abc.zip creating: abc/ extracting: abc/12.txt [root@xuexi--01 ~]# ls abc abc.zip anaconda-ks.cfg test.txt test.txt.zip
使用unzip命令,能够是解压缩文件也能够解压缩目录。
root@xuexi--01 ~]# mkdir 123 [root@xuexi--01 ~]# unzip test.txt.zip -d ./123/ Archive: test.txt.zip extracting: ./123/test.txt [root@xuexi--01 ~]# ls 123/ test.txt
使用命令unzip test.txt.zip -d ./123/ 将test.txt.zip压缩文件解压缩到 123 目录下
[root@xuexi--01 ~]# unzip -l abc.zip Archive: abc.zip Length Date Time Name --------- ---------- ----- ---- 0 05-24-2018 22:03 abc/ 0 05-24-2018 21:35 abc/12.txt --------- ------- 0 2 files
选项: -c 打包 -v 显示过程 -f 指定打包后的文件名 -x 解打包
[root@xuexi--01 ~]# ls abc anaconda-ks.cfg test.txt [root@xuexi--01 ~]# tar -cvf abc.tar abc abc/ abc/12.txt [root@xuexi--01 ~]# ls abc abc.tar anaconda-ks.cfg test.txt
将abc 目录打包成abc.tar 后就能够使用 gzip bzip2 压缩工具进行压缩了
[root@xuexi--01 ~]# ls abc abc.tar anaconda-ks.cfg test.txt [root@xuexi--01 ~]# gzip abc.tar [root@xuexi--01 ~]# ls abc abc.tar.gz anaconda-ks.cfg test.txt [root@xuexi--01 ~]# gzip -d abc.tar.gz [root@xuexi--01 ~]# ls abc abc.tar anaconda-ks.cfg test.txt [root@xuexi--01 ~]# bzip2 abc.tar [root@xuexi--01 ~]# ls abc abc.tar.bz2 anaconda-ks.cfg test.txt
先打包再压缩就解决了压缩目录的问题
[root@xuexi--01 ~]# ls abc.tar anaconda-ks.cfg test.txt [root@xuexi--01 ~]# tar -xvf abc.tar abc/ abc/12.txt [root@xuexi--01 ~]# ls abc abc.tar anaconda-ks.cfg test.txt
.tar.gz格式是先打包为.tar格式,再压缩为.gz格式
命令:tar -zcvf 压缩包名.tar.gz 源文件
-z :压缩为.tar.gz 格式
支持压缩多个文件: tar -zcvf 压缩包名.tar.gz 文件1 文件2 。
在压缩包名.tar.gz 前加上路径,能够指定压缩文件的位置。(压缩包名可更改)
命令:tar -zxvf 压缩包名.tar.gz
- -x 解压缩.tar.gz格式
- -t 查看压缩包里面的内容
- -C 指定解压缩文件的位置 tar -zxvf 压缩文件包名.tar.gz -C 解压缩文件指定位置的路径
[root@xuexi--01 ~]# tar -zcvf abc.tar.gz abc abc/ abc/12.txt [root@xuexi--01 ~]# ls abc abc.tar.gz anaconda-ks.cfg test.txt [root@xuexi--01 ~]# rm -rf abc [root@xuexi--01 ~]# ls abc.tar.gz anaconda-ks.cfg test.txt [root@xuexi--01 ~]# tar -zxvf abc.tar.gz abc/ abc/12.txt [root@xuexi--01 ~]# ls abc abc.tar.gz anaconda-ks.cfg test.txt
[root@xuexi--01 ~]# ls abc abc.tar.gz anaconda-ks.cfg test.txt test.txt.tar.bz2 [root@xuexi--01 ~]# tar -zcvf /tmp/abc.tar.gz abc abc/ abc/12.txt [root@xuexi--01 ~]# ls /tmp/ abc.tar.gz
[root@xuexi--01 ~]# ls abc abc.tar.gz anaconda-ks.cfg test.txt test.txt.tar.bz2 [root@xuexi--01 ~]# tar -zcvf /tmp/123.tar.gz abc anaconda-ks.cfg abc/ abc/12.txt anaconda-ks.cfg [root@xuexi--01 ~]# ls /tmp/ 123.tar.gz
[root@xuexi--01 ~]# ls abc abc.tar.gz anaconda-ks.cfg test.txt test.txt.tar.bz2 [root@xuexi--01 ~]# tar -zxvf abc.tar.gz -C /tmp/ abc/ abc/12.txt [root@xuexi--01 ~]# ls /tmp/ abc
使用 -C 选项将压缩文件包abc.tar.gz 成功解压缩到/tmp/目录下
[root@xuexi--01 ~]# tar -ztvf /tmp/123.tar.gz drwxr-xr-x root/root 0 2018-05-24 22:03 abc/ -rw-r--r-- root/root 0 2018-05-24 21:35 abc/12.txt -rw------- root/root 1257 2018-05-05 05:53 anaconda-ks.cfg
命令:tar -jcvf 压缩包名.tar.bz2 源文件
-z :压缩为.tar.bz2 格式
命令:tar -jxvf 压缩包名.tar.bz2
-x 解压缩.tar.bz2格式
[root@xuexi--01 ~]# tar -jcvf test.txt.tar.bz2 test.txt test.txt [root@xuexi--01 ~]# ls abc abc.tar.gz anaconda-ks.cfg test.txt test.txt.tar.bz2 [root@xuexi--01 ~]# rm -rf test.txt [root@xuexi--01 ~]# ls abc abc.tar.gz anaconda-ks.cfg test.txt.tar.bz2 [root@xuexi--01 ~]# tar -jxvf test.txt.tar.bz2 test.txt [root@xuexi--01 ~]# ls abc abc.tar.gz anaconda-ks.cfg test.txt test.txt.tar.bz2