tar,Zip,7z解压缩命令的运用
一、tar命令
命令格式:tar 选项 /路径/压缩包名 被归档压缩的数据
参数
-C 切换到指定目录
-c create产生打包(必选)
-v 显示打包的详细过程
-f filename 指定打包后的文件名,后跟目标地址
-j 支持bzip2解压文件
-J 将文件打包成xz格式(速度最慢,文件最小)
-x从压缩的文件提取文件
-z支持gzip解压文件
例子:
将文件打包并压缩(以 gzip 压缩):
注:将test目录打包成tar.test.gz包
tar -zcvf test.tar.gz test(打包的目录)#
将文件打包但不压缩:
tar -cvf xxx.tar.gz test/(打包的目录)
将文件打包并压缩(以 bzip2 压缩):
tar -jcvf xxx.tar.bz2 test/(打包的目录)
解压bz2压缩包
# tar -xf userbin.tar.bz2
将多个文件同时打包并压缩:
tar -zcvf xxx.tar.gz dir1 dir2 dir3 (3个dir文件)
将文件解压缩到当前目录:
tar -zxvf xxx.tar.gz #解压到当前目录
将文件解压缩到指定 /home/test 目录:
tar -zxvf xxx.tar.gz -C /home/test
查看压缩包内容
# tar -tf tar.userbin.gz
查看压缩包内容并将其数量进行统计
tar -tf userbin.tar.gz | wc -l
二、ZIP命令
参数
-q 不显示指令执行过程。
-r 递归处理,将指定目录下的所有文件和子目录一并处理。
-d 从压缩文件内删除指定的文件。
-v 显示指令执行过程或显示版本信息。
举例:
如何抑制 unzip 命令的输出
默认情况下, unzip 命令打印它提取的所有文件的名称以及提取完成时的摘要。
使用 -q 选项可禁止打印这些消息。
unzip -q filename.zip
将 ZIP 文件解压缩到其他目录
要将 ZIP 文件解压缩到 /home/test 的目录中,请使用该 -d 选项。
unzip filename.zip -d /home/test
解压缩 ZIP 文件时如何排除文件
在以下示例中,我们将从 ZIP 存档中提取除 .file 目录之外的所有文件和目录:
unzip filename.zip -x "*.file/*"
使用解压缩时如何覆盖现有文件
如果要在不提示的情况下覆盖现有文件,请使用 -o 选项:
unzip -o filename.zip
请谨慎使用此选项。文件将被覆盖,如果您对文件进行了任何更改,则更改将丢失。
如何在不覆盖现有文件的情况下解压缩 ZIP 文件
假设已经解压缩了一个 ZIP 文件,并且对某些文件进行了更改,但是您不小心删除了一些文件。您希望保留更改并从 ZIP 存档中还原已删除的文件。
在这种情况下,您要使用 -n 选项来跳过已存在的文件的提取。
unzip -n filename.zip
如何解压缩多个 ZIP 文件
解压当前目录下多个zip文件
unzip '*.zip'
如何列出 Zip 文件的内容
unzip -l filename.zip
三、7z命令
参数
a 代表添加文件 / 文件加到压缩包
b 指定压缩类型,7za默认压缩类是7z
r 递归所有子文件夹
举例
d 从压缩档案删除文件。
从archive.zip中删除所有的bak文件。
7z d filename.zip *.bak -r
l 列出压缩档案内容。
列出压缩档案 filename.zip 的内容。
7z l filename.zip
t 测试压缩档案文件的完整性。
在压缩档案 filename.zip 中测试 *.doc 文件的完整性。
7z t filemane.zip *.doc
u 在压缩档案文件中使用较新的文件替换掉较旧的文件。
在压缩档案 filename.zip 中更新 *.doc 文件。
7z u filename.zip *.doc
解压举例
x 解压缩文件,按原始目录树解压
-r 表示递归解压缩所有子文件
-o 指定解压到的目录 -o后无空格,直接跟解压到的目录
7za x filename.7z -r -o./