shell命令4------压缩与解压

2017-09-15  本文已影响0人  我弟是个程序员

学会了常用的文件操作,那么文件的压缩与解压也是必要的。

1.zip / unzip 命令

将文件或是目录进行压缩或是解压,默认生产“.zip”后缀结尾的压缩包。
zip指令 格式如下:

zip [选项] 压缩文件名 需要压缩的文档列表
选项 说明
-r 递归压缩,将制定目录下的所有文件及子目录全部压缩
-d 压缩文件里删除指定文件
-i “文件列表” 只压缩文件列表中的文件
-x “文件列表” 压缩时排除文件列表中指定的文件
-u 更新文件到压缩文件中
-m 将文件加入压缩文件后,删除原始文件。即把文件加入原始文件中
-F 尝试修复坏的压缩文件
-T 检查压缩文件内的每个文件是否正确
- 压缩级别 压缩级别为1~9之间的一个数字

unzip指令 格式如下:

unzip [选项] 压缩文件名
选项 说明
-x “文件列表” 加压文件,但不包含文件列表中指定的文件
-t 测试压缩文件有无损坏,并不解压
-v 查看压缩文件的详细信息,具体包含压缩文件中包含的文件的大小、文件名和压缩比等,并不解压
-n 解压时不覆盖已存在的文件
-o 解压时覆盖同名文件,并且不征求用户同意
-d 目录名 将压缩文件解压到指定目录下
> zip -9r /personal/test.zip /test //将/test 目录记及其子目录下的所有文件压缩到/personal/test.zip中
2.gzip/gunzip 命令

将一般的文件进行压缩或解压。压缩文件预设的扩展名为“.gz”,其实gunzip就是gzip的硬链接,因此无论是解压还是压缩,都可以用gzip来完成。

gzip只能对文件进行压缩,不嫩压缩目录。即使压缩目录,也只能压缩目录内的所有文件。格式如下:

gzip [选项] 压缩(解压缩)的文档名
选项 说明
-d 对压缩的文件进行解压
-r 递归压缩目录及其子目录下的所有文件
-t 检查压缩文件的完整性
-v 对每个压缩和解压的文件,显示相应的文件名和压缩比
-l 显示压缩文件的压缩信息,显示字段为压缩文件的大小、未压缩文档大小、压缩比和未压缩文档名
-num 用指定的数字num配置压缩比,“-1”或是“-fast”为最低压缩比,“-9”或是“-best”为最高压缩比,默认6

下面用gzip进行压缩文件,可以发现压缩文件后,源文件就被放进了压缩包内,源文件已经不存在了

gzip命令压缩

使用mv将文件移动一个位置,然后用mv指令将文件重命名。


mv命令

从下面可以发现gzip这个命令只能解压“.gz”后缀的文件


gzip命令加压缩
3.bzip2/bunzip2 命令

和gzip一样,只能对文件进行压缩,默认后缀为“.bz2”。bunzip2是bzip2的软链接,所以压缩和解压缩都可以用bzip2来实现。格式如下:

bzip2[选项] 要压缩(解压缩)的文件
4.tar 命令

tar命令是Linux下经常使用的归档工具,对文件或是目录进行打包归档,归档成一个文件,但不是进行压缩。格式如下:

tar [主选项 + 辅助选项]  文件或是目录
主选项 说明
-c 新建文件
-r 把要归档的文件追加到档案文件的末尾
-t 列出档案文件中已经归档的文件列表
-x 从打包的档案文件中还原出文件
-u 更新档案文件,用新建文档替换档案中的原始文件
主选项 说明
-z 调用gzip命令在文件打包过程中压缩/解压文件
-j 调用bzip2命令在文件打包过程中压缩/解压文件
-v 指定在创建归档文件的过程中,显示各个归档文件的名称
--exclude file 打包过程中,不讲指定file打包
> tar -cvf /home/personal/test.tar /home/test //将/home/test目录下的所有文件打包为test.tar文件,并放在/home/personal/目录下
tar解压
5.dd 指令

用来转换或复制文件,可以对设备进行备份,格式如下:

dd if="input_file" of="output_file" bs="block_size" count="number"
> dd if=/home/personal/test.txt of=/home/test/test.bak   //将/home/personal/test.txt备份到/home/test/test.bak中
6.cpio 命令

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

cpio [选项] >文件名或设备名
cpio [选项] <文件名或设备名
主选项 说明
-o 将文件复制、打包成文件或者将文件输出到设备上
-i 将打包文件解压或者将设备上的备份还原到系统
-t 查看cpio打包的文件内容或是输出到设备上的文件内容
-v 显示打包过程中的文件名
-d 在cpio还原文件时自动创建相应的目录
-c 一种较新的存储模式
-B 让默认块 增大到5210字节,默认块为512字节,这样做的好处是可以存取速度
上一篇 下一篇

猜你喜欢

热点阅读