Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Linux系統教程 >> Linux教程 >> Linux操作系統壓縮命令相關

Linux操作系統壓縮命令相關

日期:2017/2/7 9:23:51      編輯:Linux教程

 Linux 壓縮文件的後綴名*.Z compress 程序壓縮的文件;*.bz2 bzip2 程序壓縮的文件;*.gz gzip 程序壓縮的文件;*.tar tar 程序打包的數據,並沒有壓縮過;*.tar.gz tar 程序打包的文件,其中並且經過 gzip 的壓縮。

  compress:語法:# compress [-d] filename參數說明:-d :解壓縮的參數!

  示例:

  # compress man.config壓縮# compress -d man.config.Z # uncompress man.config.Z解壓縮gzip, zcat:

  語法:# gzip [-d#] filename <==壓縮與解壓縮# zcat filename.gz <==讀取壓縮文件內容參數說明:-d :解壓縮的參數!

  -# :壓縮等級, 1 最不好, 9 最好, 6 是默認值!

  示例:# gzip man.config會產生 man.config.gz 這個文件# zcat man.config.gz會讀取出 man.config 的內容# gzip -d man.config.gz # gunzip man.config.gz解壓縮,產生 man.config 這個文件-1 是最差的壓縮比,但是壓縮速度最快,而 -9 雖然可以達到較佳的壓縮比(經過壓縮之後,檔案比較小一些!),但是卻會損失一些速度! -6 是默認值bzip2, bzcat:

  語法:# bzip2 [-dz] filename <==壓縮解壓縮命令# bzcat filename.bz2 <==讀取壓縮文件內容命令參數說明:-d :解壓縮-z :壓縮示例:# bzip2 –z man.config壓縮# bzcat man.config.bz2讀取# bzip2 –d man.config.bz2 # bunzip2 man.config.bz2解壓縮

  tar:

  語法:# tar [-zxcvfpP] filename # tar -N 'yyyy/mm/dd' /path -zcvf target.tar.gz source參數說明:-z :同時具有 gzip 的屬性-x :解開一個壓縮文件的參數命令-t :查看 tarfile 裡面的文件-c :建立一個壓縮文件的參數命令-v :壓縮的過程中顯示文件-f :使用文件或文件夾名,在 f 之後要立即接文件或文件夾名,不要再加參數要寫成「 tar -zcvPf tfile sfile」才對-p :使用原文件的原來屬性(屬性不會依據使用者而變)

  -P :可以使用絕對路徑-N :比後面接的日期(yyyy/mm/dd)還要新的才會被打包進新建的文件中——exclude FILE:在壓縮的過程中,不要將 FILE 打包!

  示例:# tar -cvf directory.tar directory只將文件夾整合打包成一個文件# tar -zcvf directory.tar.gz directory除了將文件夾打包外,同時以 gzip 壓縮# tar -zcvf filename.tar.gz /home/test/*將 /home/test/ 這個文件夾下的文件全部打包並壓縮成為一個 filename.tar.gz 的文件# tar -xvf directory.tar解 tar 的封包,因為沒有使用gzip (。tar 而非 .tar.gz),所以只要使用 –xvf 即可!不需要加上 z ,否則會顯示有問題!

  # tar -zxvf directory.tar.gz這個就是有加上 gzip 的壓縮的結果,所以需要加上 –z # tar –ztvf directory.tar.gz這個 t 可以用來查看 tar 裡面的文件信息,而不是將其解開。

  # tar -zcvPf home.tar.gz /home則建立起來的壓縮文件內文件(夾)為絕對路徑請注意,使用這個 P 的參數時,不要將 P 加在 f 後面,因為f 之後要立即接文件名才行。

  # tar -N '2002/06/25' -zcvf home.tar.gz /home上面是說 在 /home 這個文件夾中,比 2002/06/25 日還要新的文件才會被打包進入 home.tar.gz 這個文件中。

  # tar -zcvf host.tar.gz / ——exclude /mnt ——exclude /proc上面是說,將根文件夾的所有數據都打包進 host.tar.gz 這個文件中,但是 /mnt 及 /proc 則不打包。

  # tar -cvf - /home | tar -xvf –直接以管線命令「 pipe 」來進行壓縮、解壓縮的過程。在上面的例子中,我們想要「將 /home 底下的數據直接 copy 到目前所在的路徑,也就是 /root 底下來」,但是又覺得使用 cp -r 有點麻煩,那麼就直接以這個打包的方式來打包,其中,命令裡面的 - 就是表示那個被打包的文件。由於我們不想要讓過渡文件存在,所以就以這一個方式來進行復制。

  cpio:語法:# cpio -covB > [file|device]<==備份# cpio -icduv < [file|device]<==還原參數說明:-o :將資料 copy 輸出到文件或設備上-i :將數據從文件或設備上還原到系統中-t :查看cpio建立的文件或設備內容-c :一種較新的 portable format 方式儲存-v :在屏幕上顯示備份過程中的文件名-B :讓默認的 Blocks 可以增加至 5120 bytes ,默認是 512 bytes .這樣的好處是可以讓大文件的儲存速度加快。

  -d :自動建立文件夾,由於 cpio 的內容可能不是在同一個文件夾內,如此的話在反備份的過程會有問題! 這個時候加上 -d 的話,就可以自動的將需要的目錄建立起來了!

  -u :更新,用較新的文件覆蓋舊的文件示例:# find / -print | cpio -covB > /dev/st0將查找到的文件存到存儲設備# cpio -icduv < /dev/st0將存儲設備的數據還原回來!

  # cpio -icdvt < /dev/st0 > /tmp/content將存儲設備的內容(文件名而已)轉存到 /tmp/content # find / -type -f | cpio -o > /tmp/root.cpio # cpio -i < /tmp/root.cpio先輸出到 /tmp/root.cpio 這個文件,然後再給他還原回來!

Copyright © Windows教程網 All Rights Reserved