tar命令
1.可以把很多文件做成一个压缩包文件
2.可以把很多的文件和目录一起做成一个压缩包文件
用途:制作归档文件,释放归档文件
格式:tar[选项]…归档文件名 源文件或目录
tar[选项]…归档文件名[-C目标目录]
常用命令选项:
-c:创建.tar格式的包文件 create
-x:解开.tar格式的包文件
-v:输出详细信息 verbose
-f:表示使用归档文件 file
-t:列表查看包内的文件
-z:调用gzip对归档文件进行压缩
-J:调用xz对归档文件进行压缩
-t:查看归档文件里的内容
经典选项:
tar czvf
tar cJvf
例子:
1.将系统里的/etc/passwd /var/log/messages /etc/hosts 这三个文件打包到/lianxi 目录下叫pwd—_hosts.tar.gz
tar czvf /lianxi/pwd_ms_hosts.tar.gz /etc/passwd /etc/hosts /var/log/messages
生成的tarball压缩文件 要打包的文件
目的文件 源文件
[root@localhost lianxi]# tar czvf /lianxi/pwd_ms_hosts.tar.gz /etc/passwd /etc/hosts /var/log/messages
tar: 从成员名中删除开头的“/”
/etc/passwd
/etc/hosts
/var/log/messages
[root@localhost lianxi]# pad_ms_hosts.tar.gz
2.将/boot目录复制到/lianxi目录下,然后/lianxi目录下打包成一个boot.tar.xz的文件
tar cJvf boot.tar.xz boot
压缩过程需要时间,不能立马完成
[root@localhost lianxi]# tar cJvf boot.tar.gz boot
boot/
boot/efi/
boot/efi/EFI/
boot/efi/EFI/centos/
boot/grub2/
boot/grub2/device.map
boot/grub2/i386-pc/
boot/grub2/i386-pc/gcry_rmd160.mod
boot/grub2/i386-pc/acpi.mod
boot/grub2/i386-pc/gcry_rsa.mod
boot/grub2/i386-pc/adler32.mod
boot/grub2/i386-pc/gcry_seed.mod
[root@localhost lianxi]# ls
boot boot.tar.gz
#-v选项的作用:就是可以看到整个压缩文件的过程,看到一些信息
3.xz与gz压缩后的结果比较
[root@localhost lianxi]# ls
boot boot.tar.gz
[root@localhost lianxi]# tar cf boot.tar boot
[root@localhost lianxi]# ls
boot boot.tar boot.tar.gz
[root@localhost lianxi]# tar cJf boot.tar.xz boot
[root@localhost lianxi]# ll -h
总用量 322M
dr-xr-xr-x. 5 root root 4.0K 3月 23 15:38 boot
-rw-r--r--. 1 root root 109M 3月 23 16:08 boot.tar
-rw-r--r--. 1 root root 109M 3月 23 15:41 boot.tar.gz
-rw-r--r--. 1 root root 107M 3月 23 16:12 boot.tar.xz
[root@localhost lianxi]#
#-xz的压缩效果要好一些
4.查看归档文件中的内容:
[root@localhost lianxi]# tar tf boot.tar.gz
boot/
boot/efi/
boot/efi/EFI/
boot/efi/EFI/centos/
boot/grub2/
boot/grub2/device.map
boot/grub2/i386-pc/
boot/grub2/i386-pc/gcry_rmd160.mod
boot/grub2/i386-pc/acpi.mod
boot/grub2/i386-pc/gcry_rsa.mod
boot/grub2/i386-pc/adler32.mod
- 解压归档文件:gz,xz,都是用xf解压
[root@localhost lianxi]# tar xf boot.tar.xz
[root@localhost lianxi]# ls
boot boot.tar boot.tar.gz boot.tar.xz
[root@localhost lianxi]# rm -rf boot
[root@localhost lianxi]# ls
boot.tar boot.tar.gz boot.tar.xz
[root@localhost lianxi]# tar xf boot.tar.gz
[root@localhost lianxi]# ls
boot boot.tar boot.tar.gz boot.tar.xz
[root@localhost lianxi]#
#打压缩包和解压缩包都会替换原来的文件