tar
解壓 ,打包
語法:tar [主選項+輔選項] 文件或者目錄
使用該命令時,主選項是必須要有的,它告訴tar要做什么事情,輔選項是輔助使用的,可以選用。
主選項:
c 創建新的檔案文件。如果用戶想備份一個目錄或是一些文件,就要選擇這個選項。相當于打包。
x 從檔案文件中釋放文件。相當于拆包。
t 列出檔案文件的內容,查看已經備份了哪些文件。
特別注意,在參數的下達中, c/x/t 僅能存在一個!不可同時存在!因為不可能同時壓縮與解壓縮。
輔助選項:
-z :是否同時具有 gzip 的屬性?亦即是否需要用 gzip 壓縮或解壓? 一般格式為xx.tar.gz或xx. tgz
-j :是否同時具有 bzip2 的屬性?亦即是否需要用 bzip2 壓縮或解壓?一般格式為xx.tar.bz2?
-v :壓縮的過程中顯示文件!這個常用
-f :使用檔名,請留意,在 f 之后要立即接檔名喔!不要再加其他參數!
-p :使用原文件的原來屬性(屬性不會依據使用者而變)
好了好了,解析就寫這么多吧。注意它就是個打包命令 ,除了打包還能解壓
范例一:將整個 /etc 目錄下的文件全部打包成為 /tmp/etc.tar
[root@linux ~]# tar -cvf /tmp/etc.tar /etc <==僅打包,不壓縮!
[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc <==打包后,以 gzip 壓縮,一般都是使用這個
/tmp/etc.tar.gz 就是我們打包后的目標位置 以及 打包后的文件名?
那么我們如何查看剛剛打包好的文件里面的文件呢?一下就是
[root@linux ~]# tar -ztvf /tmp/etc.tar.gz
由於我們使用 gzip 壓縮,所以要查閱該 tar file 內的文件時,就得要加上 z 這個參數了!這很重要的!
范例二:解壓 ,此處我們把文件解壓到/home下 ,注意這里是直接解壓
[root@linux ~]# cd /home
[root@linux src]# tar -zxvf /tmp/etc.tar.gz
其實這里的不同的操作 都是c ?,x , t 在變
如果我想解壓到指定的目錄又怎樣呢,這里我們演示 指定解壓到home目錄里
tar -zxvf etc.tar.gz -C /home
范例三:那如果我們只想解壓 壓縮包里面其中一個目錄出來,怎么辦呢?
website中有themes ,image
tar -xvpf website.tar.gz ./website/image
gzip
1.最簡單的例子
gzip test.txt
運行后你會發現源文件不見了。只留下?test.txt.gz
2.指定目錄
gzip -c test.txt > /root/test.gz
這樣不但可以將原有的文件保留,而且可以將壓縮包放到任何目錄中,
3.壓縮比最高 去壓縮
gzip -9 test.txt
-1也可以換成–fast;-9表示壓縮比高,但速度最慢,-9也可以用–best代替
這個一般用在備份sql
/usr/local/mysql/bin/mysqldump -d $MYSQLDB | gzip -9 > ${BAKDIR}/db.sql.gz
4.解壓縮
gzip -d test.gz
幾種格式 tar ? tar.gz ? ,gz之間的分別
tar ?是用tar命令 打包后的后綴 一般是 tar -cvf ?test.tar ? test.txt ?(僅打包,不壓縮)
tar.gz 就是在上面命令的基礎上再加gzip壓縮 一般用得是 tar -zcvf test.tar.gz ?(打包和壓縮)
gz 就是直接用gzip壓縮后的文件 ? ?gzip ? test.txt
所以說tar本身并沒有壓縮的功能 只有歸檔,加了z參數就能使用gzip進行壓縮。