标记linux中的压缩与解压

Linux的压缩和解压命令有好几个,今天我们可以简单的看一下它们的使用方法,写的不好望见谅!

一:zip/unzip命令

zip/unzip将一般的文件和目录进行压缩和解压,默认生成以“.zip”为后缀的压缩包;

格式如下:

zip [选项] 压缩文件名 需要压缩的文档列表

unzip [选项] 压缩文件名

选项

说明

-r

递归压缩

-d

从压缩文件中删除指定的文件

-i “文件列表”

只压缩文件列表中指定的文件

-x “文件列表”

压缩中排除文件列表中指定的文件

-u

更新文件到压缩文件中

-m

将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中

-F

尝试修复已损坏的压缩文件

-T

检查备份文件内的每个文件是否正确无误。

- 压缩级别

压缩效率是一个介于1-9的数值

表 1 zip压缩选项及其说明

 

选项

说明

-x 文件

指定不要处理.zip压缩文件中的哪些文件

-t

检查压缩文件是否正确

-v

执行是时显示详细的信息

-n

解压缩时不要覆盖原有的文件

-o

不必先询问用户,unzip执行后覆盖原有文件

-d 目录名

指定文件解压缩后所要存储的目录

表 2 unzip选项及其说明

2:举例

1)将/etc目录下的所有文件和目录进行压缩,设置压缩级别为最高,保存到文件/tmp/etc.zip

 zip -9r /tmp/etc.zip /etc

2)将/tmp目录中所有文件以及子目录压缩,除了”*.txt”文件之外,将压缩文件保存到/tmp目录下。

 zip -r  /tmp/demodir.zip demodir -x "*.txt"

3)将上面/tmp/demodir.zip中的*.html文件从压缩包中删除

zip demodir.zip -d "*.html" 

 

4)修改上述目中的3.txt文件,希望把更新信息更新到demodir.zip包中

 zip -ru /tmp/demodir.zip demodir

5)将上述的打包文件进行解压,除了.html文件,在解压过程中如果出现相同的文件就直接覆盖,不要求用户确认。

 

 unzip -o demodir.zip -x "*.html"

二:gzip/gunzip命令

功能说明:将一般的文件进行压缩或者解压。压缩文件预设的扩展名为“.gz”,其实gunzip就是gzip的硬链接,因此无论是压缩或解压都可以通过gzip来实现。

注意:gzip只能对文件进行压缩,不能压缩目录,即使指定压缩的目录,也只能压缩目录内的所有文件。

选项

说明

-d

解开压缩文件

-r

递归处理,将指定目录下的所有文件及子目录一并处理

-t

测试压缩文件是否正确无误

-v

显示指令执行过程

-l

列出压缩文件的相关信息

-num

缩效率是一个介于1-9的数值,预设值为"6",指定愈大的数值,压缩效率就会愈高;--best  此参数的效果和指定"-9"参数相同;--fast  此参数的效果和指定"-1"参数相同

表 3 gzip选项及其说明

示例:

1):将上述打包的demodir.zip进行压缩,压缩级别为9,并显示指令的执行过程;

 gzip -9v demodir.zip

2):查看上述的压缩信息

 gzip -l demodir.zip.gz

3):解压上述压缩的文件

 gunzip demodir.zip.gz

上述两个命令是一样的

三:bzip2/bunzip2命令

对于目录只能压缩目录下的所有文件,压缩完成后,此目录下生成以“.bz2”,bunzip2其实是bzip2的符号链接,即软连接;

bzip2 [选项] 要压缩或解压的文件

 

选项

说明

-d

执行解压缩

-v

压缩或解压缩文件时,显示详细的信息

-k

bzip2在压缩或解压缩后,会删除原始的文件。若要保留原始文件,请使用此参数

-f

bzip2在压缩或解压缩时,若输出文件与现有文件同名,预设不会覆盖现有文件。若要覆盖,请使用此参数

-t

测试.bz2压缩文件的完整性

-压缩级别

压缩时的区块大小

表 4 bzip2选项及说明

示例:

将/tmp/demodir.zip进行压缩,设置压缩率为最高,同时在压缩完毕后不删除原始文件,显示压缩过程的详细信息

 bzip2 -9vk demodir.zip

四:tar命令

tar [主选项+辅助选项] 文件或者目录 

tar主选项

选项

说明

-c

建立新的备份文件

-r

新增文件到已存在的备份文件的结尾部分

-t

列出备份文件的内容

-x

从备份文件中还原文件

-u

仅置换较备份文件内的文件更新的文件

表 5 tar主选项

选项

说明

-z

通过gzip指令处理备份文件

-w

遭遇问题时先询问用户

-j

调用bzip2命令在文件打包的过程中压缩/解压文件

-Z

通过compress指令处理备份文件

-f

指定备份文件

-v

显示指令执行过程

-p

用原来的文件权限还原文件

-N “yyyy/mm/dd”

只将较指定日期更新的文件保存到备份文件里

--exclude file

排除符合范本样式的文件

表 6 tar辅命令及说明

示例:

1):将/etc目录下的所有文件打包,并显示打包的详细文件,设置打包文件名为etc.tar,同时保存到tmp目录下:

 tar -cvf /tmp/etc.tar /etc

2):将/etc目录下的所有文件打包并压缩,然后显示打包的详细文件,设置打包文件名为etc.tar.gz,同时保存文件到/tmp目录下:

 tar -czvf etc.tar.gz /etc

3):查阅上面etc.tar.gz压缩包的内容

 tar -ztvf etc.tar.gz

4):将/etc目录下的所有文件打包备份到/tmp目录下,并保持每个文件的权限。

 tar -zcvpf etc.tar.gz /etc

5):打包备份/var/log目录中2020/05/01以后的文件

 tar -N "2020/05/01" -czvf /tmp/etc.tar.gz /var/log

6):打包备份/home目录和/etc目录,但是不备份/home下的ixdba目录。

 tar -exclude /home/ixadb -zcvf /tmp/etc.tar.gz /home/* /etc

五:dd命令

dd if=”input_file” of=”output_file” bs=”block_size” count=”number”

if :就是输入文件,可以是设备

of : 就是输出文件

bs : 指定一个block的大小

count:就是”bs”的数量

 

示例:将/tmp/dd.txt备份成/tmp/dd.txt.bak

 dd if =dd.txt of=dd.txt.bak

六:cpio命令

cpio命令是通过重定向的方式将文件进行打包、备份、还原、恢复的工具,它可以解压以”.cpio”或者”.tar”结尾的文件,格式如下:

cpio [选项] > 文件名或者设备名

cpio [选项] < 文件名或者设备名

 

选项

说明

-o

执行copy-out模式,建立备份档

-i

执行copy-in模式,还原备份档

-t

将输入的内容呈现出来

-v

详细显示指令的执行过程

-d

如有需要cpio会自行建立目录

-c

使用旧ASCII备份格式

-B

将输入/输出的区块大小改成5210 Bytes

表 7 cpio选项及其说明

示例:

1):将/etc下的所有普通文件都备份到/tmp/etc.cpio

 find /etc -type f | cpio -ocvB >/tmp/etc.cpio

cpio无法直接读取文件,它需要每个文件或者目录的完整路径名才能识别、读取,而find命令的输出刚好到了这点,因此cpio命令一般和find命令配合使用。

如果想查看更多,更关注公众号:我要一幕天

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值