tar命令通過-c、-v、-f參數可打包文件,如tar -cvf backup.tar file1.txt dir1/;結合-z參數實現gzip壓縮,如tar -czvf backup.tar.gz file1.txt dir1/;使用-j參數進行bzip2壓縮,如tar -cjvf backup.tar.bz2 file1.txt dir1/;解壓時用-x參數并根據格式添加z或j,如tar -xzvf backup.tar.gz;查看內容不解壓則用-t參數,如tar -tzvf backup.tar.gz。
在linux系統中,處理文件壓縮和解壓最常用的方式之一就是使用tar命令。它不僅可以打包文件,還能結合不同的壓縮算法(如gzip、bzip2等)進行壓縮。下面我們就來聊聊tar命令在日常使用中最常見、最實用的幾種用法。
如何用tar打包文件?
如果你只是想把多個文件或目錄合并成一個包,而不進行壓縮,可以使用以下命令:
tar -cvf 包名.tar 文件1 文件2 目錄1 ...
- -c:創建新包。
- -v:顯示打包過程中的詳細信息。
- -f:指定生成的包文件名。
比如,要把file1.txt和dir1/打包成backup.tar,就可以寫:
tar -cvf backup.tar file1.txt dir1/
這個操作很適合歸檔一些不需要壓縮但需要集中管理的文件。
如何用tar進行gzip壓縮?
如果希望壓縮后的文件更小,通常會配合gzip使用。這時候命令會是這樣:
tar -czvf 壓縮包名.tar.gz 要壓縮的文件...
- -z:表示使用gzip壓縮。
例如:
tar -czvf backup.tar.gz file1.txt dir1/
這條命令會生成一個名為backup.tar.gz的壓縮包。這是目前最常用的壓縮格式之一,兼容性好、壓縮率適中。
如何用tar進行bzip2壓縮?
如果你對壓縮率要求更高,可以選擇bzip2壓縮,雖然壓縮速度會慢一些,但壓縮后的體積更小:
tar -cjvf 壓縮包名.tar.bz2 文件...
- -j:表示使用bzip2壓縮。
舉個例子:
tar -cjvf backup.tar.bz2 file1.txt dir1/
這種方式適合用于長期存檔或者傳輸帶寬有限的情況。
如何解壓tar壓縮包?
解壓的時候,根據壓縮方式不同,參數也要對應上:
-
解壓.tar文件:
tar -xvf 文件名.tar
-
解壓.tar.gz文件:
tar -xzvf 文件名.tar.gz
-
解壓.tar.bz2文件:
tar -xjvf 文件名.tar.bz2
其中:
- -x:表示解壓。
- 其他參數保持一致即可。
你也可以通過添加-C指定解壓到某個目錄,例如:
tar -xzvf backup.tar.gz -C /path/to/target/
小貼士:查看tar包內容不解壓
有時候你只想看看里面有哪些文件,而不想真的解壓出來,可以用:
tar -tvf 文件名.tar
或者對應壓縮格式加上z或j:
tar -tzvf 文件名.tar.gz tar -tjvf 文件名.tar.bz2
這在處理不確定內容的壓縮包時非常有用。
基本上就這些。掌握這幾個常用組合,就能應對大多數tar打包和壓縮場景了。不復雜但容易忽略的是參數順序和壓縮格式對應的選項,多練幾次就熟練了。