一、文件归档并压缩解压命令tar
格式:tar [主选项+辅助选项] 文件或者目录,tar本身不具有压缩功能,它是调用功能实现的。
主选项 | 含义 |
-c | 创建新的文件 |
-r | 把要归档的文件追加到档案文件的末尾 |
-t | 列出档案文件中已经归档的文件列表 |
-x | 从打包的档案文件中还原出文件 |
-u | 更新档案文件,用新的文件替换档案中的原始文件 |
辅助选项 | 含义 |
-z | 调用gzip命令在文件打包的过程中压缩/解压文件 |
-w | 在还原文件时,把所有文件的修改时间设定为现在时间 |
-j | 调用bzip2命令在文件打包的过程中压缩/解压文件 |
-Z | 调用compress命令过滤档案 |
-f | -f选项后面紧跟档案文件的存储设备,默认是磁盘,需要指定档案文件名;如是果磁带,只需要指定磁带设备名即可 。注意,在-f选项之后不能再跟任何其他选项,也就是说-f必须是tar命令的最后一个选项 |
-v | 指定在创建归档文件过程中,显示各个归档文件的名称 |
-p | 在文件归档的过程中,保持文件的属性不发生变化 |
-N "yyyy/mm/dd" | 在指定日期之后的文件才会被打包到档案文件中 |
--exclude=file | 在打包过程中,不将指定file文件打包 |
二、tar命令玩法
1、将/etc/目录下的所有文件打包到/opt目录下
tar -cvf /opt/etc.tar /etc
2、将/etc/目录下的所有文件打包并压缩,并显示打包的详细文件
tar -czvf /opt/etc.tar.gz /etc 打包完成后调用jzip命令对档案文件进行压缩
tar -cjvf /opt/etc.tar.bz2 /etc 打包完成后调用bzip2命令对档案文件进行压缩,需要安装bzip2软件
3、查看etc.tar.gz压缩包的内容
tar -ztvf /opt/etc.tar.gz
tar -jtvf /opt/etc.tar.bz2
4、解压/opt/etc.tar.gz到/tmp下
tar -zxvf /opt/etc.tar.gz -C /tmp
5、将/opt/etc.tar.gz压缩文件中的/etc/inittab文件解压到/tmp目录下
tar -zxvf /opt/etc.tar.gz etc/inittab -C /tmp
6、将/etc目录下的所有文件打包备份到/opt目录下,并保存每个文件的权限
tar -zxvpf /opt/etc.tar.gz /etc
7、打包备份/var/log目录中2022/2/22以后的文件
tar -N '2022/2/22' -zcvf log.tar.gz /var/log
8、打包/etc/目录下文件,但不包含*.repo的文件
tar -czvf etc.tar.gz /etc --exclude=/etc/yum.repos.d/*.repo
三、文件压缩解压缩命令gzip/gunzip
gzip/gunzip是个使用广泛的解压缩程序,它用于解开被zip压缩过的文件,这些压缩文件预设最后的扩展名为".gz"。事实上gunzip就是gzip的硬连接,因此不论是压缩或解压缩,都可通过gzip指令单独完成。
gzip只能对文件进行压缩,不能压缩目录,即使指定压缩的目录,也只能压缩目录内的所有文件。
格式:gzip [选项] 压缩(解压缩)的文档名
1、将/etc目录下所有文件及子目录进行压缩,备份压缩包etc.zip,然后再对etc.zip文件进行gzip压缩,设置gzip的压缩级别为9
zip -r /opt/etc.zip /etc
gzip -9v /opt/etc.zip
etc.zip: 3.4% -- replaced with etc.zip.gz
2、查看压缩信息,-l显示压缩文件的压缩信息,显示字段为压缩文档大小
gzip -l etc.zip.gz
compressed uncompressed ratio uncompressed_name
14395928 14907838 3.4% etc.zip
3、解压etc.zip.gz到当前目录, -d对压缩的文件进行解压
gzip -d etc.zip.gz 等价于 gunzip etc.zip.gz
四、文件压缩解压缩命令bzip2/bunzip2
bzip2/bunzip2表示对文件进行压缩与解压缩。此命令类似于gzip/gunzip命令,只能对文件进行压缩。只能压缩目录下的所有文件,压缩完成后,在目录下生成以.bz2为扩展名的压缩包。bunzip2其实是bzip2的符号链接,即软链接,因此压缩解压都可以通过bzip2实现。其格式如下:
bzip2 [选项] 需要压缩或解压的文件