最常用的壓縮包是tar, gz, bz2.
zip和rar主要是從windows上來的.
把多個檔案打包成一個檔案, 一般尺寸並沒有變化, 這叫打包.
把一個檔案的大小進行縮減, 這叫壓縮.
壓縮有兩種,一種叫有損壓縮, 另一種是無損壓縮. 標準是解開壓縮之後是不是與被壓縮之前是一模一樣的, 一模一樣的就叫無損壓縮.
mp3, jpg, rm這幾種格式屬於有損壓縮, 因為注重的是壓縮率.
無損壓縮主要是面對二進位檔案, 文檔等資料, 不允許資料有不一致的情況發生, 一般會犧牲壓縮率.
Linux中檔案是沒有尾碼名概念的, 點只是一個分隔字元. 不像Windows中對尾碼名很依賴.
打包命令: tar c v f x z j
c: create 建立壓縮包
v: variable 可以查看詳細的打包資訊.
f: file 組建檔案
x: extract 解壓
z: gzip 掉gzip或gunzip之後再進行操作.
gz和bz2都是壓縮命令, bz2的壓縮率比較高.
7z命令是功能比較強大的, 支援上面的所有壓縮格式.
.Z命令是壓縮和解壓縮時,常用的命令. (注意, Z大寫).
先用tar工具把多個檔案打包成一個檔案,尺寸不會發生變化, 然後再用gz壓縮, 產生.tar.gz檔案.
或者先用tar再用bz2來壓縮.
嘗試解釋以下的命令序列:
ls #查看目前的目錄下的檔案和檔案夾
cp /var/log/* . #拷貝/var/log目錄下的所有檔案到當前工作目錄下
du –sh #查看目前的目錄佔用空間的大小
tar cvf dest.tar * #將目前的目錄下的所有檔案打包, 組建檔案, 同時列印出詳細的資訊
ls –l dest.tar
ls –l dest.tar –h
gzip dest.tar #注意,運行完gzip命令之後dest.tar就被刪除了,只剩下dest.tar.gz, 已經壓縮過了.
ls dest.tar.gz –lh #
gunzip dest.tar.gz #解壓檔案. 注意,執行該命令之後, dest.tar.gz就被dest.tar替換了.
ls –lh dest.tar
bzip2 dest.tar #使用bzip2命令再次壓縮.
ls –l dest.tar.bz2 –h
tar xvfj dest.tar.bz2 #解壓 注意j開關可以免除你調用bz2 -d來解壓檔案命令. z開關可以免除你調用gzip -d了.
ls dest.tar.bz2
rm dest.tar.bz2
zip dest2.zip * 打包壓縮目前的目錄下的所有檔案. 注意, zip相當於即打包又壓縮兩個命令.
unzip dest2.zip