Command-Line

是否有任何程序可以跨多種檔案類型提供一致的界面?

  • December 24, 2018

目前,如果我下載一個壓縮文件,它可以是 .tar.gz 存檔、tar.bz2 存檔、.zip 存檔或 .gz 存檔中的任何一個。每次我這樣做時,我都必須記住該程序的命令行選項是什麼。

有沒有我可以去的 CLI 程序:

取消壓縮 somefile.??

讓它弄清楚檔案的格式是什麼?(用於避免與任何實際程序衝突的名稱過長)

您可以使用p7zip。它會自動辨識存檔類型並將其解壓縮。

p7zip 是用於 Unix/Linux 的7-Zip的命令行版本 ,由獨立開發人員製作。

7z e <file_name>

不久前我發現了這個小片段,並且從那以後一直在使用它。我只是在我的 .bashrc 文件中有它

extract () {
if [ -f $1 ] ; then
   case $1 in
       *.tar.bz2)  tar xjf $1      ;;
       *.tar.gz)   tar xzf $1      ;;
       *.bz2)      bunzip2 $1      ;;
       *.rar)      rar x $1        ;;
       *.gz)       gunzip $1       ;;
       *.tar)      tar xf $1       ;;
       *.tbz2)     tar xjf $1      ;;
       *.tgz)      tar xzf $1      ;;
       *.zip)      unzip $1        ;;
       *.Z)        uncompress $1   ;;
       *)          echo "'$1' cannot be extracted via extract()" ;;
   esac
else
   echo "'$1' is not a valid file"
fi
}

引用自:https://unix.stackexchange.com/questions/1340