171021文件打包压缩、解压解档

文件归档(打包)

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
其余类似,不再截图。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值