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.gzback/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 #这个压缩比例最高,压缩的时间是最长