tar命令是類Linux中比較常用的解壓與壓縮命令。
其實在使用tar命令的時候,tar命令本身用到的是歸檔功能,即文件沒有真正進行壓縮打包,創建之後的歸檔文件,往往會比原來所有文件的大小總和要大,就相當於日常生活中把一些東西放入到收納盒裏面,整個收納盒的重量是要大於原來被收納的物品的總重量的。
如果要對文件進行壓縮,一般會調用其他的命令來實現,常用的有三種:zip,gzip2,bzip,其中zip命令一般是單獨使用的,gzip2,bzip一般要跟tar命令結合到一起使用。
tar命令的具體使用方法,可以使用命令 (man tar) 命令來進行查看tar的基本命令。下面舉例説明一下tar 的基本命令。
一些常用的命令參數如下:
-c --create創建新的文檔
-v --verbose 顯示詳細的tar處理的文件信息
-f --file 要操作的文件名
-x --extract, --get 解壓文件
-z --gzip, --gunzip, --ungzip 通過 gzip 來進行歸檔壓縮
-j --bzip2 通過 bzip2 來歸檔壓縮文件
-t --list 表示查看文件,查看文件中的文件內容
-C --directory=DIR 解壓文件至指定的目錄
-r --append 表示增加文件,把要增加的文件追加在壓縮文件的末尾
-u --update 僅將較新的文件附加到存檔中
-d --diff, --compare比較存檔與當前文件的不同之處--delete從存檔中刪除
--remove-files 壓縮後刪除原文件
--exclude 排除不需要壓縮的目錄或者文件
具體的用法:
-c --create創建新的文檔
-v --verbose 顯示詳細的tar處理的文件信息
-f --file 要操作的文件名
#tar -cvf /etc/sysconfig
命令解釋:將目錄/etc/sysconfig/目錄下的文件打包成文件文件,並且放在當前目錄中
(可以使用pwd命令查看當前路徑,可以使用ls命令來查看當前文件夾)。
-r --append 表示增加文件,把要增加的文件追加在壓縮文件的末尾
#tar -rvf /etc/sysconfig/
命令解釋:將目錄/etc/sysconfig/目錄下的文件添加到文件文件中,並放在末尾的位置。
-t --list 表示查看文件,查看文件中的文件內容
#tar -tf
命令解釋:查看壓縮文件中包含了哪些文件。
--remove-files 壓縮後刪除原文件
#tar -cvf --remove-files
命令解釋:將 三個文件進行歸檔壓縮,歸檔成功後並將這三個文件刪除。
--exclude 排除不需要壓縮的目錄或者文件
#tar -cvf test1/* --exclude=test1/log
命令解釋:將test1目錄下除log目錄外所有的文件和文件夾進行壓縮。
log目錄後面不能加/,不能寫成--exclude=test1/log/
#tar -cvf --exclude=
命令解釋:將 三個文件進行歸檔壓縮,但是排除這個文件。
-x --extract, --get 解壓文件
#tar -xvf
命令解釋:解壓文件,將壓縮文件文件解壓到當前文件夾內。
-C --directory=DIR 解壓文件至指定的目錄
#tar -xvf -C /root
命令解釋:解壓文件,將壓縮文件文件解壓到/root目錄內。
tar調用程序進行壓縮與解壓縮:
1、tar調用gzip。
gz結尾的文件就是調用gzip程序進行壓縮的文件,相反文件以結尾的文件需要使用gunzip來進行解壓。tar中使用-z參數
來調用gzip程序。在這裏通過舉例子來進行解釋。
-z --gzip, --gunzip, --ungzip 通過 gzip 來進行歸檔壓縮
#tar -czvf /etc/sysconfig/
命令解釋:將目錄/etc/sysconfig/打包成一個tar文件包,通過使用-z參數來調用gzip程序,對目錄/etc/sysconfig/進行壓縮
壓縮成文件,並且將壓縮成的文件放在當前文件夾內。
-z 調用gzip程序來壓縮文件,壓縮後的文件名稱以結尾。
#tar -xzvf
命令解釋:這條命令是將上一條命令解壓。
2、tar調用bzip2
bz2結尾的文件就是調用bzip2程序來進行壓縮的文件,相反,文件以2結尾的文件需要使用bunzip2來解壓。tar中使用-j
參數來調用程序bzip2。
-j --bzip2 通過 bzip2 來歸檔壓縮文件
#tar -cjvf 2 /etc/sysconfig/
命令解釋:將/etc/sysconfig/目錄打包成一個tar包,接着使用-j參數調用bzip2來進行壓縮文件,對目錄/etc/sysconfig/進行
壓縮,壓縮成文件2並將其放在當前目錄下。
#tar -xjvf 2
命令解釋:解壓上一個命令生成的壓縮包。
zip進行壓縮和解壓縮
zip結尾的文件就是調用zip程序來進行壓縮文件的
#zip /etc/sysconfig/
命令解釋:將/etc/sysconfig/目錄打包成一個zip包
#zip -r /etc
命令解釋:將/etc整個目錄打包成一個zip包
#unzip
命令解釋:將包進行解壓縮