內容總結自《鳥哥的Linux私房菜》http://cn.linux.vbird.org/linux_basic/0240tarcompress.phpphp
*.gz | gzip 程序壓縮的文件 |
*.bz2 | bzip2 程序壓縮的文件 |
*.tar | tar 程序打包的數據,並無壓縮過 |
*.tar.gz | tar 程序打包的文件,其中而且通過 gzip 的壓縮 |
*.tar.bz2 | tar 程序打包的文件,其中而且通過 bzip2 的壓縮 |
一、常見場景linux
壓縮 | tar -zcv -f filename.tar.gz 要被壓縮的文件或目錄名稱 |
查詢 | tar -ztv -f filename.tar.gz |
解壓縮 | tar -zxv -f filename.tar.gz -C 欲解壓縮到的目錄 |
二、僅解開單一文件的方法spa
tar -zxv -f filename.tar.gz 待解開文檔名
具體文檔名的查看能夠用查詢命令:code
tar -ztv -f filename.tar.gz #或者經過grep查找文件名關鍵字 tar -ztv -f filename.tar.gz | grep '文件名關鍵字'
三、打包時排除特定文件blog
假設咱們想要打包 /etc/ /root 這幾個重要的目錄,但卻不想要打包 /root/etc* 開頭的文件,且不打包自身。ip
tar -zcv -f /root/system.tar.gz --exclude=/root/etc* --exclude=/root/system.tar.gz /etc /root
-c | 建立打包文件,可搭配 -v 來察看過程當中被打包的檔名(filename) |
-t | 察看打包文件的內容含有哪些檔名 |
-x | 解打包或解壓縮的功能,能夠搭配 -C (大寫) 在特定目錄解開。特別留意的是,-c, -t, -x 不可同時出如今一串命令列中 |
-j | 透過 bzip2 的支持進行壓縮/解壓縮:此時檔名最好爲 *.tar.bz2 |
-z | 透過 gzip 的支持進行壓縮/解壓縮:此時檔名最好爲 *.tar.gz |
-v | 在壓縮/解壓縮的過程當中,將正在處理的檔名顯示出來 |
-f filename | -f 後面要馬上接要被處理的檔名 |
-C 目錄 | 這個選項用在解壓縮,若要在特定目錄解壓縮,可使用這個選項 |
--exclude=FILE | 在壓縮的過程當中,不要將 FILE 打包 |
-p | 保留備份數據的本來權限與屬性,經常使用於備份(-c)重要的配置檔 |
-P | 保留絕對路徑,亦即容許備份數據中含有根目錄存在之意 |