很多时候我需要使用命令行提取不同类型的存档文件。但我并不总是记得任何类型的文件存档的确切命令。所以我不得不浪费时间再次搜索。我该如何避免这种情况?
答案1
您可以使用以下 shell 脚本(我为其命名extract
并将其放入~/bin
):
/bin/bash #!/bin/bash 如果 [ $# -lt 1 ];则 echo“用法:`basename $0`文件” 出口 1 菲 #我发现以下功能https://unix.stackexchange.com/a/168/37944 #我对其进行了改进。非常感谢西多对于这个想法。 提炼 () { 对于 $@ 中的 arg ;执行 如果 [ -f $arg ] ; 那么 案例 $arg 在 *.tar.bz2) tar xjf $arg ;; *.tar.gz) tar xzf $arg ;; *.bz2) bunzip2 $arg ;; *.gz) gunzip $arg ;; *.tar) tar xf $arg ;; *.tbz2) tar xjf $arg ;; *.tgz) tar xzf $arg ;; *.zip) 解压缩 $arg ;; *.Z) 解压缩 $arg ;; *.rar) rar x $arg ;; # 必须安装 'rar' *.jar) jar -xvf $arg ;; # 必须安装 'jdk' *) echo "无法通过 extract() 提取‘$arg’" ;; 埃萨克 别的 echo“'$arg'不是有效文件” 菲 完毕 } 提取 $@
不要忘记使脚本可执行:
chmod +x ~/bin/extract
用法:
提炼文件_1 文件_2 ... 文件_n
答案2
dtrx
在这件事上,指挥部是你的朋友。
它通过猜测文件类型来解压任何存档文件。它还将确保将解压的文件放入新目录中;避免当前工作目录被大量文件弄乱。
安装
sudo aptitude install dtrx
用法
dtrx stuff.zip