任務列表:
6.1 壓縮打包介紹
6.2 gzip壓縮工具
6.3 bzip2壓縮工具
6.4 xz壓縮工具
6.5 zip壓縮工具
6.6 tar打包
6.7 打包並壓縮
帖子: http://ask.apelearn.com/question/5435linux
1、壓縮打包介紹windows
使用壓縮文件,能夠節省磁盤空間,還能節省傳輸時間和網絡帶寬數組
常見的壓縮文件網絡
2、 gzip壓縮工具工具
-d:該參數在解壓縮時使用spa
-c :把壓縮後的文件輸出到指定的目錄下,原文件不變3d
gzip不能壓縮目錄,文件壓縮後是二進制的文件
建立一個目錄d6z,查找以.conf結尾的文件,find /etc/ -type f -name "*.conf"
進入到d6z目錄,而後將列出來的文件內容輸出到一個文件1.txt裏去 find /etc/ -type f -name "*.conf" -exec cat {} >> 1.txt \; {} 大括號表示find /etc/ -type f -name "*.conf"列(cat)出來的文件,重複寫入,使文件內容增長blog
wc -l 1.txt 顯示文件的行數ip
使用gzip 1.txt壓縮文件,壓縮後的文件名1.txt.gz,使用gzip -d 1.txt.gz -d 解壓文件,壓縮以前的文件大小爲2.0M,解壓後只有1.4M,由於以前的文件存在虛的空間,壓縮解壓後會把虛的空間釋放掉,行數不變io
使用壓縮等級壓縮(1-9),1的效率低,9的壓縮效率最高,6爲默認。
使用1來壓縮,效率最低。
gunzip 1.txt.gz gunzip也能夠解壓文件
file 1.txt.gz 查看壓縮文件的信息,識別文件類型,使用 zcat 1.txt.gz 查看壓縮文件的內容
gzip -c 1.txt > /tmp/1.txt.gz 壓縮到指定目錄,壓縮包的名字是1.txt.gz/tmp/1.txt.gz
gzip -d -c /tmp/1.txt.gz > /tmp/d6z/2.txt 解壓到指定目錄,文件名叫2.txt/tmp/d6z/2.txt,兩個文件的行數和大小是相同的
3、bzip2壓縮工具
bzip2也不能夠壓縮目錄,bzip2用法與gzip基本相同
壓縮級別1~9,默認級別爲9
查看壓縮內容使用 : bzcat 1.txt.bz2
使用前先安裝:yum install -y bzip2
bzip2 1.txt 壓縮1.txt
bzip2 -d 1.txt.bz2 或用bunzip2 1.txt.bz2 解壓
bzip2 -c 1.txt > /tmp/1.txt.bz2 壓縮到指定目錄
bzip2 -d -c /tmp/1.txt.bz2 > 555.txt 解壓到指定目錄
4、xz壓縮工具
用法和gzip、bzip2相似,壓縮程度最狠,不可壓縮目錄
壓縮程度:xz>bzip2>gzip
xz 2.txt 壓縮2.txt
xz -d 2.txt.xz 或unxz 2.txt.xz 解壓
xz -c 2.txt > /tmp/2.txt.xz 壓縮到指定目錄,原文件不變
xz -d -c /tmp/2.txt.xz > 4.txt 解壓到指定目錄,原文件不變
xzcat /tmp/2.txt.xz 查看xz壓縮文件
5、zip壓縮工具
使用前先安裝:yum install -y zip
zip 1.txt.zip 1.txt 壓縮包的文件名 須要壓縮源文件(不會刪除源文件)
zip 2.txt.zip 2.txt 壓縮
zip -r abc.zip 4.txt abc 壓縮文件4.txt和目錄abc
-r選項:能夠壓縮多個文件和目錄,壓縮目錄要加-r選項
yum install -y unzip 安裝unzip
unzip abc.zip 使用unzip解壓abc.zip時,由於源文件沒有刪除,解壓會提示是否覆蓋、替換
zip解壓文件不能指定文件名,壓縮前是什麼名字解壓後仍是什麼名字
unzip 2.txt.zip -d test/ 把2.txt.zip解壓到test
不能查看壓縮包的內容
6、 tar打包
tar能夠把全部的目錄文件打包成一個大文件,增長傳輸速度,方便複製和移動
tar也支持一塊兒打包目錄和文件
-c:創建一個tar包或者壓縮文件包
-f:後面跟tar包的名字。指定目標文件名,若是多個參數組合使用時,把-f放在最後面
-z:打包的同時用gzip壓縮
-j:同時用bzip2壓縮
-J:同時用xz壓縮
-t:查看包裏面的文件
-v:可視化
-exclude 目錄或文件名:表示打包除了該文件以外的內容,過濾掉
tar -cvf qwe.tar qwe/ 打包qwe目錄,打包名稱是qwe.tar
使用tar -cf qwe.tar qwe/ 若是文件已經打包,再次打包會直接覆蓋舊文件,而不會有任何提示
tar -xvf qwe.tar 解包 解包也會覆蓋原目錄和文件,不會提示
tar -cvf tobe.tar qwe 1.txt 2.txt 把目錄和文件一塊兒打包,打包名叫tobe.tar
tar -tf tobe.tar 查看打包文件中的文件列表
tar -cvf tobe.tar --exclude goto qwe 1.txt 2.txt 使用--exclude goto(文件或目錄名)過濾掉goto目錄
tar -cvf tobe.tar --exclude "*.txt" qwe 1.txt 2.txt 使用--exclude "*.txt" 也支持過個文件的過濾,把全部txt結尾的文件過濾掉,此時就算打包時後面帶有txt結尾的文件,也不會被打包
7、打包並壓縮
tar -czvf tobe.tar.gz goto/ 1.txt 2.txt tar打包的同時使用gzip壓縮,加z參數;tar解包就是將命令中的c換成x便可
tar -cjvf tobe.tar.bz2 goto/ 1.txt 2.txt tar打包的同時使用bzip2壓縮,加j參數;tar解包就是將命令中的c換成x便可
tar -cJvf tobe.tar.xz goto/ 1.txt 2.txt tar打包的同時使用xz壓縮,加J參數;tar解包就是將命令中的c換成x便可
tar -tf tobe.tar.gz 使用-tf能夠查看這幾種類型的文件列表,tar包不壓縮時,也這樣看