跟windows不同,linux下文檔的屬性跟附屬名是沒有關係的,但是壓縮技術五花八門,壓縮指令無法對每種壓縮包都能解壓,所以從文件名來加以區分顯得很有必要。
做個小實驗,把.gz的文檔重命名爲.bz2,使用bzip2解壓,再用gzip解壓
gzip只認定.gz的文檔解壓,重命名後解壓成功
linux下常見的壓縮指令:
compress:*.Z
老牌指令,幾乎淘汰,知道名字就不錯啦
gzip,zcat: :*.gz
用來替代compress.
gzip RUNNING.txt:壓縮文檔,gzip -# RUNNING.txt(#1~9,默認爲6,數字越大壓縮比越高,耗時越長),壓縮後原文檔消失
zcat RUNNING.txt.gz:讀取壓縮包,同樣zcat可讀取*.Z的壓縮包
gzip -d RUNNING.txt.gz:解壓縮文檔爲RUNNING.txt
bzip2,bzcat: *.bz2
操作與gzip類似,壓縮比更好
bzip2 RUNNING.txt
bzcat RUNNING.txt.bz2
bzip2 -d RUNNING.txt.bz2
tar: *.tar
不管是gzip還是bzip都只能對文檔進行壓縮,不能操作目錄。打包命令tar大顯神功,它可以將目錄和指定檔案打包成一個檔案;
但是單純的打包命令是沒有壓縮功能了,配合上一些參數可以整合gzip或bzip2的功能。
-c :建立一個壓縮檔案的參數指令(create 的意思);
-x :解開一個壓縮檔案的參數指令!
-t :查看 tarfile 裏面的檔案!
特別注意,在參數的下達中, c/x/t 僅能存在一個!不可同時存在!
因爲不可能同時壓縮與解壓縮。
-z :是否同時具有 gzip 的屬性?亦即是否需要用 gzip 壓縮?
-j :是否同時具有 bzip2 的屬性?亦即是否需要用 bzip2 壓縮?
-v :壓縮的過程中顯示檔案!這個常用,但不建議用在背景執行過程!
-f :使用檔名,請留意,在 f 之後要立即接檔名喔!不要再加參數!
例如使用『 tar -zcvfP tfile sfile』就是錯誤的寫法,要寫成
『 tar -zcvPf tfile sfile』纔對喔!
-p :使用原檔案的原來屬性(屬性不會依據使用者而變)
-P :可以使用絕對路徑來壓縮!
-N :比後面接的日期(yyyy/mm/dd)還要新的纔會被打包進新建的檔案中!
常用命令:
tar -cvf bin.tar bin:將bin目錄打包
tar -zcvf bin.tar.gz ./bin:將bin打包並以gzip壓縮
tar -jcvf bin.tar.bz2 ./bin:打包並以bzip2壓縮
tar -ztvf bin.tar.gz : -t查看包內的檔案,因爲查看的包經過gzip壓縮,所以還要加上z。
tar -zxvf bin.tar.gz:解壓並釋放