文件归档(打包)
1.
文件归档,就是把多个文件变成一个归档文件,即打包。
2.
tar c ##创建
f ##指定归档文件名称
t ##显示归档文件中的内容
r ##向归档文件中添加文件
--get ##取出单个文件
--delete ##删除单个文件
x ##取出归档文件中的所有内容
-C ##指定解档目录
测试:
1.首先将/etc/打包成名为etc.tar的归档文件
[root@server1 Desktop]# tar cf etc.tar /etc/
tar: 从成员名中删除开头的“/”
[root@server1 Desktop]# ls
etc.tar
2.查看打包内容
[root@server1 Desktop]# tar tf etc.tar
etc/
etc/fstab
etc/crypttab
.
.3.向etc.tar中添加/boot/目录
[root@server1 Desktop]# tar rf etc.tar /boot/
[root@server1 Desktop]# tar tf etc.tar
.
.
boot/initrd-plymouth.img
boot/initramfs-0-rescue-2c8e816ea5b64c1b926bfa66f88b54a8.img
boot/vmlinuz-0-rescue-2c8e816ea5b64c1b926bfa66f88b54a8
boot/initramfs-3.10.0-123.el7.x86_64.img
boot/initramfs-3.10.0-123.el7.x86_64kdump.img
4.取出单个文件
[root@server1 Desktop]# tar -f etc.tar --get boot
[root@server1 Desktop]# ls
boot etc.tar
[root@server1 Desktop]# ls boot/
config-3.10.0-123.el7.x86_64
grub2
initramfs-0-rescue-2c8e816ea5b64c1b926bfa66f88b54a8.img
initramfs-3.10.0-123.el7.x86_64.img
initramfs-3.10.0-123.el7.x86_64kdump.img
initrd-plymouth.img
symvers-3.10.0-123.el7.x86_64.gz
System.map-3.10.0-123.el7.x86_64
vmlinuz-0-rescue-2c8e816ea5b64c1b926bfa66f88b54a8
vmlinuz-3.10.0-123.el7.x86_64
只取出boot中的一个也可以
[root@server1 Desktop]# rm -rf boot/
[root@server1 Desktop]# ls
etc.tar
[root@server1 Desktop]# tar -f etc.tar --get boot/grub2
[root@server1 Desktop]# ls
boot etc.tar
[root@server1 Desktop]# ls boot/
grub2
5.删除包中的boot目录
[root@server1 Desktop]# tar -f etc.tar --delete boot
[root@server1 Desktop]# tar -tf etc.tar
.
.
etc/aliases.db
etc/hostname
etc/chrony.conf
etc/rsyslog.conf
用-t查看只有etc的东西了
6.取出归档文件中的所有内容
[root@server1 Desktop]# tar -xf etc.tar
[root@server1 Desktop]# ls
etc etc.tar
7.指定解档目录
[root@server1 Desktop]# tar -xf etc.tar -C /mnt/
[root@server1 Desktop]# ls /mnt/
etctip:tar后面的那个-规定是要加的,但不加也可以
压缩、解压
压缩之后归档文件文件明显变小了,有利于传输
[root@server1 Desktop]# du -sh etc.tar
29M etc.tar
[root@server1 Desktop]# gzip etc.tar
[root@server1 Desktop]# du -sh etc.tar.gz
8.3M etc.tar.gz
1.gz格式
gzip etc.tar ##压缩成gz格式
gunzip etc.tar.gz ##解压gz格式压缩包
2.bz2格式
bzip2 etc.tar ##压缩成bz2格式
bunzip2 etc.tar.bz2 ##解压bz2格式压缩包
3.xz格式
xz etc.tar ##压缩成xz格式
unxz etc.tar.xz ##解压xz格式压缩包
4.zip格式
zip -r etc.tar.zip etc.tar ##压缩成zip格式
unzip etc.tar.zip ##解压zip格式压缩包
但是在实际应用中一般都是打包压缩、解压解档一步完成的,不会先打包再压缩,传输给另一个人后他再解压然后再用tar -x解档的。有没有什么快捷命令呢,可以使用下面的命令一步完成:
打包压缩、解压解档
1.gz格式
tar zcf etc.tar.gz /etc ##把文件归档为tar并压缩成gz
tar zxf etc.tar.gz ##解压并解档gz格式压缩包
2.bz2格式
tar jcf etc.tar.bz2 /etc ##把文件归档为tar并压缩成bz2
tar jxf etc.tar.bz2 ##解压并解档bz2格式压缩包
3.xz格式
tar Jcf etc.tar.xz /etc ##把文件归档为tar并压缩成zx
tar Jxf etc.tar.xz ##解压并解档xz格式压缩包
4.zip格式
tar -cf etc.tar /etc/ ##将/etc/打包成etc.tar
zip -r etc.tar.zip etc.tar ##压缩成zip格式
unzip etc.tar.zip ##解压zip格式压缩包
tar -xf etc.tar ##解档etc.tar归档文件
tip:zip格式的在tar中没有像-z、-j、-J这样的快捷指令,只能先打包再压缩,然后先解压再解档了。
测试:
打包压缩为gz格式并解压解档.gz压缩包
[root@server1 Desktop]# tar zcf etc.tar.gz /etc/
tar: 从成员名中删除开头的“/”
[root@server1 Desktop]# ls
etc.tar.gz
[root@server1 Desktop]# tar zxf etc.tar.gz
[root@server1 Desktop]# ls
etc etc.tar.gz
解压解档到指定位置
[root@server1 Desktop]# tar -zxf etc.tar.gz -C /mnt/
[root@server1 Desktop]# ls /mnt/
etc
其余类似,不再截图。
9830

被折叠的 条评论
为什么被折叠?



