学会了常用的文件操作,那么文件的压缩与解压也是必要的。
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进行压缩文件,可以发现压缩文件后,源文件就被放进了压缩包内,源文件已经不存在了
使用mv将文件移动一个位置,然后用mv指令将文件重命名。
从下面可以发现gzip这个命令只能解压“.gz”后缀的文件
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/目录下
5.dd 指令
用来转换或复制文件,可以对设备进行备份,格式如下:
dd if="input_file" of="output_file" bs="block_size" count="number"
- if:就是输入文件,可以使设备。例如:磁盘某分区或是整个磁盘
- of:就是输出文件,也可以是输出设备。例如:磁盘、磁带
- bs:指定一个block大小,如果没有指定,默认是512字节
- count:就是bs的数量
> 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字节,这样做的好处是可以存取速度 |