Manajer arsip baris perintah / ekstra

15

Saya selalu lupa semua perintah ekstrak yang sesuai untuk setiap format kompresi.

Jadi saya berpikir untuk menulis skrip yang hanya memetakan ekstensi file ke perintah ekstrak yang sesuai. Tapi saya kira sesuatu seperti ini sudah ada, saya tidak bisa menemukannya.

Saya akan senang dengan sesuatu seperti file-roller, tetapi file-roller adalah alat GUI.

brillout
sumber

Jawaban:

11

Beberapa saran:

unp

unp (tersedia dari pusat perangkat lunak) adalah modul perl kecil yang akan mendekompres berbagai arsip ke folder saat ini. Gunakan unp -suntuk format arsip yang didukungnya

Secara default, ini mendekompres arsip ke folder saat ini.

penggulung file

file-roller itu sendiri dapat dijalankan dari baris perintah. Gunakan file-roller -h <archive name>untuk mendekompres arsip.

kebebasan fosil
sumber
11

Dari sini , untuk memasukkan .bashrc Anda:

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
} 
luar biasa
sumber
Tambahkan contoh cara menggunakannya?
MiniGod
4
ekstrak file.zip
frabjous
4

Apa yang belum disebutkan adalah swiss-tentara-pisau utilitas baris perintah: atool; ini tersedia di repositori: klik atool Instal atool atau jalankan sudo apt-get install atool.

atoolsebenarnya adalah skrip yang terdiri dari berbagai fungsi seperti aunpack, apack, als, acat, adiff, dan arepack. Mungkin penggunaan paling umum dari program ini adalah untuk mengekstrak arsip menggunakan perintah aunpack. Ada beberapa opsi yang menarik dan berguna, tetapi cara dasar untuk mengekstrak sebagian besar arsip hanya dengan menjalankan, misalnya,

aunpack myarchive.tar

Dukungan untuk tar, 7z, zip, jar, rar, ar, lha dan banyak lagi format arsip dan variasinya didokumentasikan dengan memasukkan man atooldi terminal atau dengan melihat halaman manual Ubuntu secara online .

Jadi, hal yang berguna adalah jika Anda memiliki arsip tar, zip, dan gz di folder yang sama, yang perlu Anda lakukan untuk mengekstrak semuanya adalah dengan menjalankan

aunpack -e *

dan semua arsip yang didukung akan dibongkar dengan struktur foldernya tetap dipertahankan. Jika nama folder yang dihasilkan sudah ada, itu tidak akan ditimpa, tetapi akan diberi nama unik seperti unpack-5645.

Atau jika Anda ingin memilih hanya satu jenis arsip dan membongkar semuanya, alih-alih gunakan

aunpack -e *.zip

Jika Anda memerlukan file yang dibongkar secara langsung di direktori tertentu, dengan hanya struktur direktori sub folder yang dipertahankan (jika keluar), masukkan, misalnya,

aunpack -e Scripts11.zip -X /home/mike/Videos

Jika file dengan nama yang sama sudah ada, Anda akan diminta untuk melakukan tindakan untuk mengubah nama atau menimpa kecuali Anda telah menentukan opsi gaya ( -f) dalam perintah.

Sebagai catatan manual, aunpack mengekstrak terlebih dahulu

file ke direktori unik (sementara), dan kemudian memindahkan isinya kembali jika memungkinkan. Ini juga mencegah file lokal ditimpa karena kesalahan.


Dengan perangkat lain, tindakan lain dimungkinkan, seperti yang disebutkan oleh halaman manual :

  • apack membuat arsip dari file atau folder yang ditentukan atau stdin
  • juga mencantumkan file dalam arsip yang ditentukan
  • acat memungkinkan seseorang untuk mengekstrak file arsip ke stdout
  • Adiff memungkinkan Anda untuk membandingkan dua arsip yang ditentukan
  • arepack memungkinkan untuk mengonversi satu format arsip ke format lain dengan menempatkan konten arsip asli dalam folder sementara dan kemudian mengemasnya kembali.

Ada banyak opsi yang lebih berguna untuk semua utilitas, tetapi mungkin yang paling sering digunakan adalah paket unun, karena itu membuatnya sangat mudah untuk mengekstrak banyak, arsip yang berbeda. Sangat bagus untuk dapat hanya mengeluarkan satu perintah dan dapat mengekstrak beberapa format arsip berbeda tanpa harus menggunakan berbagai perintah untuk tar, zip, dll.

Untuk artikel yang sangat baru yang menjelaskan cara mengintegrasikan fungsi atool ke dalam tindakan kustom manajer file Anda, seperti Thunar, lihat majalah online ini .

Komunitas
sumber
3

Ada alat yang disebut dtrx- lakukan ekstraksi yang tepat.

Instal dari repositori Ubuntu dan jalankan dtrx somefile.someext. Alat ini akan secara interaktif menanyakan pengguna tentang arsip bersarang (zip file zip).

dtrx adalah versi canggih dari ekstrak frabjous .

Jan
sumber
0

Format apa yang perlu Anda tangani? Salah satu caranya adalah dengan menulis skrip shell, yang memeriksa ekstensi argumennya. Atau, jika semua yang Anda tangani adalah variasi pada .tar. *, Cukup melakukan tar -xfakan menangani sebagian besar dari mereka secara otomatis. (Karena itu saya hanya ingat itu dan unzipyang cukup untuk semua yang biasanya saya temui.)

Ben Kraft
sumber