本經驗主要針對linux中的解壓縮排行講解
工具/原料
linux電腦一臺
linux 檔案解壓縮
目前 Linux 下最常見的壓縮包格式自然非 .tar.gz 莫屬,但由於 bzip2 強大的壓縮比率,目前 . tar.bz2 愈發有取代之勢。
還有單純的 .tar 格式也很常見。它們目前的操作都主要是由 tar 程式 配合 gzip/bzip2 來完成的。
下面來詳細的說下tar 這個命令
tar-c: 建立壓縮檔案-x:解壓-t:檢視內容-r:向壓縮歸檔檔案末尾追加檔案-u:更新原壓縮包中的檔案
這五個是獨立的命令,壓縮解壓都要用到其中一個,可以和別的命令連用但只能用其中一個。下面的引數是根據需要在壓縮或解壓檔案時可選的。
-z:有gzip屬性的
-j:有bz2屬性的
-Z:有compress屬性的
-v:顯示所有過程
-O:將檔案解開到標準輸出
下面的引數-f是必須的
-f: 使用檔案名字,切記,這個引數是最後一個引數,後面只能接檔案名。
# tar -cf all.tar *.jpg
這條命令是將所有.jpg的檔案打成一個名為all.tar的包。-c是表示產生新的包,-f指定包的檔名。
# tar -rf all.tar *.gif
這條命令是將所有.gif的檔案增加到all.tar的包裡面去。-r是表示增加檔案的意思。
# tar -uf all.tar logo.gif
這條命令是更新原來tar包all.tar中logo.gif檔案,-u是表示更新檔案的意思。
# tar -tf all.tar
這條命令是列出all.tar包中所有檔案,-t是列出檔案的意思
# tar -xf all.tar
這條命令是解出all.tar包中所有檔案,-x是解開的意思
壓縮
tar –cvf jpg.tar *.jpg //將目錄裡所有jpg檔案打包成tar.jpg
tar –czf jpg.tar.gz *.jpg //將目錄裡所有jpg檔案打包成jpg.tar後,並且將其用gzip壓縮,生成一個gzip壓縮過的包,命名為jpg.tar.gz
tar –cjf jpg.tar.bz2 *.jpg //將目錄裡所有jpg檔案打包成jpg.tar後,並且將其用bzip2壓縮,生成一個bzip2壓縮過的包,命名為jpg.tar.bz2
tar –cZf jpg.tar.Z *.jpg //將目錄裡所有jpg檔案打包成jpg.tar後,並且將其用compress壓縮,生成一個umcompress壓縮過的包,命名為jpg.tar.Z
rar a jpg.rar *.jpg //rar格式的壓縮,需要先下載rar for linux
zip jpg.zip *.jpg //zip格式的壓縮,需要先下載zip for linux
壓縮到指定的資料夾
比如 把home/www/ 下面的 index 壓縮到 home目錄 下
tar 格式 /home/index.tar -P /home/www/index
解壓
tar –xvf file.tar //解壓 tar包
tar -xzvf file.tar.gz //解壓tar.gz
tar -xjvf file.tar.bz2 //解壓 tar.bz2
tar –xZvf file.tar.Z //解壓tar.Z
unrar e file.rar //解壓rar
unzip file.zip //解壓zip
解壓檔案到指定目錄
比如將/home/one.tar解壓到 /home/www/ 目錄下
tar 格式 /home/one.tar -C /home/www/
總結
1、*.tar 用 tar –xvf 解壓
2、*.gz 用 gzip -d或者gunzip 解壓
3、*.tar.gz和*.tgz 用 tar –xzf 解壓
4、*.bz2 用 bzip2 -d或者用bunzip2 解壓
5、*.tar.bz2用tar –xjf 解壓
6、*.Z 用 uncompress 解壓
7、*.tar.Z 用tar –xZf 解壓
8、*.rar 用 unrar e解壓
9、*.zip 用 unzip 解壓
大家可能會遇到 下面這個錯誤
tar: Removing leading '/' from member names
這是tar命令為了避免不必要的錯誤而做的限制。如果使用者在壓縮檔案時使用了絕對路徑,
那麼tar會自動的剝離掉第一個'/'。
例如,你想備份/var的內容:
tar -cvzf etc.gz /var
生成了一個壓縮包,那麼在解壓這個壓縮包的時候,內容會被寫入到/var這個目錄,可能潛在的造成風險。
經過tar剝離第一個'/'後,解壓時壓縮包的內容會被釋放到當前目錄,即:./var
如果非要使用絕對路徑,那麼請加-P引數。
如果想蓋面解壓縮目錄,請加-C引數。