Anda dapat menggunakan skrip shell berikut (saya menamainya extract
dan memasukkannya ~/bin
):
#! / bin / bash
if [$ # -lt 1]; lalu
echo "Penggunaan:` basename $ 0` FILES "
keluar 1
fi
# Saya menemukan fungsi berikut di https://unix.stackexchange.com/a/168/37944
# yang saya sedikit perbaiki. Banyak terima kasih kepada sydo untuk ide ini.
ekstrak () {
untuk arg dalam $ @; melakukan
jika [-f $ arg]; kemudian
case $ arg in
* .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) unzip $ arg ;;
* .Z) uncompress $ arg;
* .rar) rar x $ arg ;; # 'rar' harus diinstal
* .jar) jar -xvf $ arg ;; # 'jdk' harus diinstal
*) echo "'$ arg' tidak dapat diekstraksi melalui ekstrak ()";
esac
lain
gema "'$ arg' bukan file yang valid"
fi
selesai
}
ekstrak $ @
Jangan lupa untuk membuat skrip dapat dieksekusi:
chmod +x ~/bin/extract
Pemakaian:
ekstrak file_1 file_2 ... file_n
atool
, dengan mana Anda dapat mengekstrak / mengemas banyak format: lihat jawaban yang saya berikan untuk pertanyaan ini: command-line-archive-manager-extracter . Pertanyaan ini juga merupakan duplikat dari pertanyaan itu, jadi mereka mungkin harus digabung.