仅针对当前目录下的压缩文件给出示例代码(Mac和Linux代码适用)。

部分参数补充解释

在介绍具体的命令行示例之前,先说明一些常用的参数的含义:

  1. -p密码后接压缩文件的密码,-p密码间不存在空格
  2. -o目标文件夹解压到目标文件夹,若不存在会创建,可避免出现双重压缩下的同名压缩文件冲突。注意-o目标文件夹之间不存在空格(不同解压文件可能有细微差别,建议用前利用man命令进行查询)

注意,以下代码其实大同小异,这里给出是为了方便直接套用,也仅给出最简单的代码示例,有特殊需要的话请按自身需求修改。

解压命令示例

tar

由于受到 DOS 8.3 文件名格式的限制,常使用下列缩写:
.tgz 等价于 .tar.gz
.tbz 与 tb2 等价于 .tar.bz2
.taz 等价于 .tar.Z
.tlz 等价于 .tar.lzma
.txz 等价于 .tar.xz
– 摘自维基百科

文件格式:*.tar

for f in *.tar; do tar xvf $f; done

这条命令表示对当前目录下所有以 .tar 结尾的文件进行解压,并保留原始文件名和目录结构。

文件格式:*.tar.gz

for f in *.tar.gz; do tar zxvf $f; done

这条命令表示对当前目录下所有以 .tar.gz 结尾的文件进行解压,并保留原始文件名和目录结构。其中 z 参数表示使用 gzip 工具进行解压。

文件格式:*.tar.bz

for f in *.tar.bz; do tar jxvf $f; done

这条命令表示对当前目录下所有以 .tar.bz 结尾的文件进行解压,并保留原始文件名和目录结构。其中 j 参数表示使用 bzip2 工具进行解压。

rar

文件格式:*.rar
工具:unrar

  1. 无密码
for f in *.rar; do unrar x $f; done
  1. 有密码
for f in *.rar; do unrar x -p'密码' $f; done

zip

文件格式:*.zip
工具:unzip

  1. 无密码
for f in *.zip; do unzip $f; done
  1. 有密码
for f in *.zip; do unzip -p'密码' $f; done

7z

文件格式:*.7z
工具:p7zip

  1. 无密码
for f in *.7z; do 7z x $f; done
  1. 有密码
for f in *.7z; do 7z x -p'密码' $f; done
Logo

更多推荐