0328Linux文件壓縮和打包

任務列表:
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

使用壓縮文件,能夠節省磁盤空間,還能節省傳輸時間和網絡帶寬數組

常見的壓縮文件網絡

  1. windows系統中,常見的壓縮文件有.rar, .zip, .7z
  2. linux系統中,常見的壓縮文件有.zip, .gz, .bz2, .xz, .tar.gz, .tar.bz2, .tar.xz

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壓縮工具

用法和gzipbzip2相似,壓縮程度最狠,不可壓縮目錄

壓縮程度: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包不壓縮時,也這樣看

相關文章
相關標籤/搜索