發布時間: 2021-06-28 09:12:22
tar命令進行文件的歸檔和壓縮,歸檔和壓縮文件的好處:節約硬盤的資源 ,加快文件傳輸速率
tar命令 作用:打包、壓縮文件
作用:打包、壓縮文件;tar 文件是把幾個文件和(或)目錄集合在一個文件里,該存檔文件可以通過使用gzip、bzip2或xz等壓縮工具進行行壓縮后傳輸
查看man tar
用法:tar [OPTION...] [FILE]...
參數:
-c create創建文件
-x -extract [?ekstr?kt] 提取 解壓還原文件
-v --verbose顯示執行詳細過程
-f --file指定備份文件
-t --list 列出壓縮包中包括哪些文件,不解包,查看包中的內容
-C (大寫)--directory 指定解壓位置
例:給/boot/grub目錄 打包
# tar -cvf grub.tar /boot/grub/ # tar的參數前可以不使用‘-’
或:
# tar cvf grub.tar /boot/grub/
tar: 從成員名中刪除開頭的“/”
/boot/grub/ /boot/grub/splash.xpm.gz
# ls gurb.tar
# tar xvf grub.tar #解壓縮
boot/grub/ boot/grub/splash.xpm.gz
# ls boot #得到boot目錄
注意:在使用絕對路徑名歸檔文件時,將默認從文件名中刪除該路徑中前面的 / 符號。這樣解壓時,會直接解壓到當前目錄。 如果不移除/壓縮時,當解包時,直接按絕對路徑來釋放,會覆蓋原系統中此路徑的文件。
例1:指定解壓位置 -C
# tar xvf grub.tar.bz2 -C /opt/
tar: 從成員名中刪除開頭的“/”
/boot/grub/ /boot/grub/splash.xpm.gz
# ls /opt/
boot
例2:把兩個目錄或目錄+文件打包成一個軟件包:
# mkdir back
# cp /etc/passwd back/
# tar -cvf back.tar /boot/grub back/ /etc/passwd
tar: 從成員名中刪除開頭的“/”
/boot/grub/ /boot/grub/splash.xpm.gz back/ back/passwd /etc/passwd
例3:不解包,查看tar中的內容:
# tar -tvf grub.tar # List all files in archive.tar verbosely.
例4:對比加v的效果
# tar -xf grub.tar
# tar -xvf grub.tar
boot/grub/ boot/grub/splash.xpm.gz
tar 歸檔+壓縮:
語法:tar czvf newfile.tar.gz SOURCE
常用參數:
-z, --gzip 以gzip方式壓縮 擴展名: tar.gz
-j : 以bz2方式壓縮的 擴展名:tar.bz2
-J : 以xz 方式壓縮 擴展名:tar.xz
例1:創建.tar.gz 包
# tar cvf etc.tar /etc
# tar zcvf etc.tar.gz /etc #歸檔,注意備份的名字后綴
# tar zxvf etc.tar.gz #解壓縮
例2:創建.tar.bz2包
語法: #tar jcvf newfile.tar.bz2 SOURCE
# tar -jcvf etc.tar.bz2 /etc
# tar -jxvf etc.tar.bz2 /etc #解壓縮
# tar jxvf etc.tar.bz2 -C /opt #解壓到opt目錄下
例3:創建.tar.xz包
# tar -Jcvf etc.tar.xz /etc
# tar -xvf etc.tar.xz #tar.xz 這類包,解壓縮
或:
# tar -Jxvf etc.tar.xz #
對比三種壓縮方式后壓縮比例:
# ll -h etc.tar*
-rw-r--r-- 1 0 root 36M 5月 10 12:10 etc.tar -rw-r--r-- 1 0 root 9.6M 5月 10 12:14 etc.tar.bz2 #這個常用 -rw-r--r-- 1 0 root 12M 5月 10 12:11 etc.tar.gz #這個常用 -rw-r--r-- 1 0 root 7.7M 5月 10 12:16 etc.tar.xz #這個壓縮比例最高,壓縮的時間是最長
上一篇: ansible部署openstack教程
下一篇: 為什么要使用Nginx