.zip格式的文件在Windows和Linux下都能使用;
Linux中,打包解壓縮 的格式有:.tar、.gz、.bz2、xz、.zip等,常用的是 .zip、.tar.gz
- .gz:解壓縮,由gzip壓縮工具壓縮的文件。
- .bz2:解壓縮,由bzip2壓縮工具壓縮的文件。
- .tar:打包,由tar打包程序打包的文件(tar並沒有壓縮功能,只是把一個目錄合並成一個文件)。
- .tar.gz:先由tar打包,然后再由gzip壓縮。(最常用)
- .tar.bz2:先由tar打包,然后再由bzip2壓縮。
- .tar.xz:先由tar打包,然后再xz壓縮。
gzip (解壓縮) .tar.gz -z
.gz
壓縮 gzip -k 1.txt 2.txt 得到 1.txt.gz 2.txt.gz ,-k 保留原來文件
解壓 gzip -d -k 1.txt.gz -d 表示解壓,-k 保留原來文件
注意:gzip 不能直接壓縮 目錄 或 多個文件,需先打包成一個文件,再壓縮成 .tar.gz 格式;
.tar.gz
先打包 合N為1:tar cvf archive.tar 1.txt 2.txt 得到 archive.tar ,在用壓縮命令 gzip -k archive.tar 即可得到 archive.tar.gz
壓縮 tar -czvf archive.tar.gz ./資料/ 得到 archive.tar.gz
解壓 tar -xzvf archive.tar.gz -C ~/ -C 解壓到 ~/ 中
bzip2 (解壓縮) .tar.bz2 -j
apt-get install bzip2 -y
.bz2 壓縮 bzip2 -k 1.txt 2.txt -z 表示壓縮,默認可不寫,-k 保留原來文件, 結果:1.txt.bz2 和 2.txt.bz2 解壓 bzip2 -d -k 1.txt.bz2 -d 表示解壓,-k 保留原來文件
注意:bzip2 不能直接壓縮 目錄 多個文件,需先打包成一個文件,再壓縮成 .tar.bz2 格式;
.tar.bz2
先打包 合N為1:tar cvf archive.tar 1.txt 2.txt 得到 archive.tar ,在用壓縮命令 bzip2 -k archive.tar 即可得到 archive.tar.bz2
壓縮 tar -cjvf archive.tar.bz2 ./資料/ 得到 archive.tar.bz2
解壓 tar -xjvf archive.tar.bz2 -C ~/ -C 解壓到 ~/ 中
xz (解壓縮) .tar.xz -J
.xz
壓縮:xz -z -k 1.txt 2.txt -z 表示壓縮,默認可不寫,-k 保留原來文件, 結果:1.txt.bz2 和 2.txt.bz2 解壓:xz -d 1.txt.xz 解壓
.tar.xz
通過管道符命令打包並壓縮:tar cvf - 1.txt 2.txt | xz > a.tar.xz 先打包成 -.tar 再通過管道符傳遞給下一個命令參數運行壓縮,得到 a.tar.xz
壓縮 tar -cJvf archive.tar.xz ./資料/ 得到 archive.tar.xz
解壓 tar -xJvf archive.tar.xz -C ~/ -C 解壓到 ~/ 中
注意:xz 不支持壓縮 目錄
tar 打包工具
把文件和目錄打包成一個文件,方便復制或者移動。
格式為 tar [-zjxcvfpP] filename tar
- -z:表示同時用gzip壓縮 .tar.gz
- -j:表示同時用bzip2壓縮 .tar.bz2
- -J:表示同時用xz壓縮 .tar.xz
- -x:表示解包或者解壓縮。
- -c:表示建立一個tar包或者壓縮文件包。
- -t:表示查看tar包里的文件。
- -v:表示 可視化。
- -f:后面跟文件名(即-f filename,表示壓縮后的文件名為filename,或者解壓文件filename。)需要注意的是,在多個參數組合的情況下,請把-f參數寫到最后面。
- -C:后面跟解壓到哪個目錄中(目錄必須存在)
- -p:表示使用原文件的屬性,即壓縮前文件是什么屬性壓縮后就還什么屬性。(不常用)
- -P:表示可以使用絕對路徑。(不常用)
- --exclude filename:表示在打包或壓縮時,不要將filename文件包括在內。(不常用)
cd ~ touch 1.txt 2.txt 3.txt 4.txt yum install tree -y // 安裝tree命令,用來查看目錄樹形結構 ubuntu/debian的命令: apt-get install -y tree tree .
打包 tar -cvf test111.tar test111/ 解包 tar -xvf test111.tar
不管是打包還是解包,tar都不會刪除原來的文件的
查看壓縮包內的內容:
tar -tf test111.tar
打包的同時使用壓縮
同時操作支持:gzip壓縮、bzip2壓縮和xz壓縮
.tar.gz -z
-z 可以壓縮成 gzip 格式的文件
tar -zcvf test111.tar.gz test111 打包壓縮 test111目錄 tar -zxvf test111.tar.gz 解包解壓縮 test111.tar.gz
tar -ztxv test111.tar.gz 查看
.tar.bz2 -j
-j 可以壓縮成 bzip2 格式的文件
tar -jcvf test111.tar.bz2 test111 打包壓縮 test111目錄 tar -jxvf test111.tar.bz2 解包解壓縮 test111.tar.bz2
tar -jtvf test111.tar.bz2 查看
.tar.xz -J
同理,這里不多做介紹了...
Zip 壓縮
.zip 壓縮包在Windows和Linux中都比較常用。
安裝:
rehat/centos
yum install -y zip yum install -y unzip
debian/ubuntu
apt-get install -y zip
apt-get install -y unzip
壓縮 文件 和 目錄:
壓縮文件
zip a.zip 1.txt 將 1.txt 壓縮成 a.zip
解壓目錄
zip a.zip test111/ 只壓縮 test111 這個目錄,目錄里面的文件和子目錄都不壓縮 zip a.zip test111/* 只將 test111 目錄下的文件和目錄壓縮成 a.zip ,但不包含子目錄的內的所有文件和目錄;
zip -r a.zip test11/ 遞歸 test111 下的所有文件和目錄 進行壓縮; 使用這個!!!
格式:zip后面先跟目標文件名,即壓縮后的自定義壓縮包名,然后跟要壓縮的文件或者目錄。
思考:在壓縮目錄時,如果只寫目錄名(比如 zip a.zip folder/ ),會發生什么?若目錄下還有二級目錄甚至更多級目錄時,能否也一並壓縮二級目錄下的文件呢?
答:即使 folder 里面有文件和N級目錄,也不會打包這些,而是打包這個 folder 本身(不包括里面的文件和目錄);
如果想要一並壓縮目錄下的所有文件和目錄(包括多層目錄),必須加上 -r 選項:
zip -r a.zip folder/
zip的解壓
unzip a.zip
查看zip
unzip -l a.zip
zcat 和 bzcat 查看壓縮包內的內容
上面介紹了使用-t選項可以查看tar壓縮包的文件列表(即:tar -tf 1.tar)。對於gzip2或者bzip2壓縮格式,可以用:
zcat 11.gz bzcat 22.bz2
來查看壓縮包里面的內容;