linux基础(十五)文件打包压缩、解压解档

来源:互联网 发布:windows 锁屏快捷键 编辑:程序博客网 时间:2024/05/22 20:48

文件归档(打包)
一、文件归档,就是把多个文件变成一个归档文件,即打包。

二、命令

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/
etc
tip: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归档文件

tipzip格式的在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
其余类似,不再截图。

 

原创粉丝点击