- 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