Linux 常用命令(5):压缩与解压
🏷️ Linux
zip
/ unzip
将一般的文件或者目录进行压缩或者解压,默认生成以 .zip 为后缀的压缩包。
shell
zip [选项] 压缩文件名 需要压缩的文档列表
1
选项 | 说明 |
---|---|
-r | 递归压缩,将指定目录下的所有文件以及子目录全部压缩。 |
-d | 从压缩文件内删除指定的文件。 |
-u | 更新文件到压缩文件中。 |
-m | 将文件加入压缩文件后,删除原始文件, 即把文件移到压缩文件中。 |
-压缩级别 | 压缩级别是 1~9 之间的数字。 |
shell
unzip [选项] 压缩文件名
1
选项 | 说明 |
---|---|
-v | 查看压缩文件的详细信息,并不解压 |
-n | 解压时不覆盖已经存在的文件。 |
-o | 解压时覆盖已经存在的文件,并且不要求用户确认。 |
-d 目录名 | 把压缩文件解压到指定目录下。 |
gzip
/ gunzip
将一般的文件进行压缩或者解压。压缩文件预设扩展名为 .gz 。gunzip
就是 gzip
的硬链接。
注意
gzip
只能对文件进行压缩,不能压缩目录。即使指定压缩目录,也只能压缩目录内的所有文件。
shell
gzip [选项] 压缩(解压缩)的文档名
1
选项 | 说明 |
---|---|
-d | 对压缩的文件进行解压。 |
-r | 递归式压缩指定目录以及子目录下的所有文件。 |
-t | 检查压缩文档的完整性。 |
-num | 用指定的数字 num 配置压缩比。-1 或者-fast 表示最低压缩比;-9 或者-best 表示最高压缩比。系统默认压缩比为 6 。 |
bzip2
/ bunzip2
对文件进行压缩和解压缩。
类似于 gzip
/ gunzip
只能对文件进行压缩。
默认压缩包扩展名为 .bz2 。bunzip2
是 bzip2
的软链接。
shell
bzip2 [选项] 要压缩或解压的文件
1
选项 | 说明 |
---|---|
-d | 对压缩的文件进行解压。 |
-v | 压缩或解压文件时,显示详细信息。 |
-k | bzip2 在压缩或解压后,默认会删除原始文件。 若要保留原始文件,可使用此选项。 |
-f | bzip2 在压缩或解压时,若输出文件与现有文件重名,预设不会覆盖现有文件。 若要覆盖,可使用此选项。 |
-压缩级别 | 1~9,数字越大,压缩率越高。 |
tar
对文件或者目录进行打包归档,归档成一个文件,但是并不进行压缩。
shell
tar [主选项 + 辅助选项] 文件或者目录
1
主选项:
选项 | 说明 |
---|---|
-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 | 在打包过程中,不将指定文件打包。 |
dd
转换或复制文件,同时可以对设备进行备份。
shell
dd if="input_file" of="output_file" bs="block_size" count="number"
1
- if:输入文件,可以是设备;
- of:输出设备,也可以是设备;
- bs:指定一个 block 的大小,默认为 512 字节;
- count:bs 的数量;
cpio
通过重定向的方式将文件进行打包、备份、还原或恢复,也可以解压 .cpio 或 .tar 文件。
shell
cpio [选项] > 文件名或设备名
cpio [选项] < 文件名或设备名
1
2
2
选项 | 说明 |
---|---|
-o | 将文件复制、打包成文件或者将文件输出到设备上。 |
-i | 将打包文件解压或者将设备上的备份还原到系统中。 |
-t | 查看 cpio 打包的文件内容或者输出到设备上的文件内容。 |
-v | 显示打包过程中的文件名称。 |
-d | 在 cpio 还原文件的过程中,自动建立相应的目录。 |
-c | 一种较新的存储方式。 |
-B | 让默认块可以增大到 5120 字节,默认块为 512 字节。 这样做的好处是可以加快存取速度。 |