linux基礎,zip、tar

注:在壓縮目錄是,若是隻寫目錄名,也會生成壓縮文件,可是,壓縮文件無內容 若是加上 -r ,則會把目錄下全部的目錄和文件一併壓縮。linux

zip壓縮工具網絡

zip 壓縮文件.zip 源文件ssh

zip -r xx.zip 3.txt xxxx(目錄) 加參數-r 壓縮目錄工具

unzip 1.txt.zip 解壓縮code

unzip xx.zip -d /tmp/3/ 用-d指定解壓到/tmp/3目錄下對象

unzip -l 123.zip 查看壓縮包的文件列表圖片

輸入圖片說明

輸入圖片說明

輸入圖片說明

tar打包工具ip

tar -c(建立)v(可視化)f 壓縮文件名 文件(能夠多個,用空格隔開也能夠是目錄)get

tar -x(解壓)v(可視化)f xx.tar(壓縮文件)it

tar -C 設置解壓目錄:好比 tar -vxf xx.txt.tar -C /opt

輸入圖片說明

注意:解壓縮時,不會提示是否覆蓋,而是直接覆蓋原文件

查看包內容:tar -tf 壓縮文件 (適用於gzip打包、bz2打包、xz打包)

輸入圖片說明

--exclude 能夠在打包的時候,排查某些文件或者目錄。

tar -vcf 文件.tar.gz --exclude 排除的文件或目錄 打包的文件或目錄 一個--exclude只能排除一個,要排除多個要在次添加---exclude 排除的文件或目錄

輸入圖片說明

打包並壓縮

* 使用gzip壓縮:tar  -zcvf    x.tar.gz    原目錄或者原文件名稱,-z表示打包的同時使用gzip壓縮

解壓:tar -zvxf x.tar.gz

輸入圖片說明

* 使用bzip2壓縮:tar  -jcvf   x.tar.bz2   原目錄或者原文件名稱  ,-j  表示打包的同時使用bzip2壓縮

解壓:tar -jvxf x.tar.bz2

輸入圖片說明

* 使用xz壓縮:-Jcvf  x.tar.xz  原目錄或者原文件名稱  ,-J表示打包的同時使用xz壓縮

解壓:tar -Jvxf x.tar.xz

輸入圖片說明

做業

  1. gzip, bzip2 可否直接壓縮目錄呢?

不能、

  1. 請快速寫出,使用gzip和bzip2壓縮和解壓一個文件的命令。

gzip 1.txt

bzip2 2.txt

gzip -d 1.txt.gz

bzip2 -d 2.txt.bz2

  1. tar 在打包的時候,若是想排除多個文件或者目錄如何操做?

tar -cvf x.txt.tar 1.txt 3.txt 3 --exclude 2.txt --exclude 4.txt

  1. 請實驗,若是不加 "-" 是否正確, 如 tar zcvf 1.tar.gz 1.txt 2.txt ?

正確

  1. 如何使用tar打包和解包 .tar.gz, .tar.bz2 的壓縮包?

tar -zcvf x1.tar.gz 1.txt 2.txt

tar jcvf x2.tar.bz2 1.txt 2.txt

tar -zxvf x1.tar.gz

tar -jxvf x2.tar.bz2

  1. 找一個大點的文件,使用tar 分別把這個文件打成 .tar.gz和.tar.bz2 壓縮包,比較一下哪一個包會更小,從而得出結論,是gzip壓縮效果好仍是bzip2壓縮效果好?

bz2的壓縮效果好

輸入圖片說明

  1. 使用tar打包並壓縮的時候,默認壓縮級別爲幾? 想想如何可以改變壓縮級別呢?(提示,tar自己沒有這個功能哦,能夠嘗試拆分打包和壓縮

tar打包壓縮時,是按照gzip和bzip2的默認壓縮級別來的,gzip工具默認壓縮級別爲6,bzip2默認壓縮級別爲9

要改變壓縮級別,先打包,再用gzip或者bz2壓縮。

補充

linux不支持大於4G的文件的解壓。

解決辦法以下: wget -c http://packages.sw.be/p7zip/p7zip-9.13-1.el5.rf.i386.rpm wget -c http://packages.sw.be/p7zip/p7zip-plugins-9.13-1.el5.rf.i386.rpm 下載完後安裝: rpm -ivh p7zip-9.13-1.el5.rf.i386.rpm rpm -ivh p7zip-plugins-9.13-1.el5.rf.i386.rpm

解壓命令: 7z x 123.zip

利用tar經過網絡拷貝數據

首先切換到要拷貝文件的目錄,

運行tar cvf - test| ssh 10.0.1.11 "cd /copy1/; tar xvf -"

這條命令的意思是,先將要拷貝的目錄打包,而後輸出到目標主機,

後面的tar vxf - 意思是將前面的標準輸出內容做爲解包的對象

總結:其實就是想拷貝的目錄先打包,而後將打包好的文件拷貝到目標主機,最後在目標主機上解包。只不過,咱們用一條命令實現了邊打包邊解包的過程。

輸入圖片說明

輸入圖片說明

相關文章
相關標籤/搜索