Apakah ada program untuk menyediakan antarmuka yang konsisten di berbagai jenis arsip?

13

Saat ini, jika saya mengunduh file terkompresi, itu bisa berupa arsip .tar.gz, arsip tar.bz2, arsip .zip, atau arsip .gz. Dan setiap kali saya melakukannya, saya harus mengingat apa opsi baris perintah untuk program itu.

Apakah ada program CLI di mana saya bisa pergi:

undocompression somefile. ??

dan biarkan mencari tahu apa format arsip itu? (nama yang terlalu panjang digunakan untuk menghindari konflik dengan program nyata)

Macha
sumber
Saya tidak dapat menemukan atau membuat tag seperti archive, compressiondll. Bisakah orang lain menambahkan yang benar?
Macha
@Tepang: Tetap.
Macha

Jawaban:

11

Anda dapat menggunakan p7zip . Secara otomatis mengidentifikasi tipe arsip dan mendekompresnya.

p7zip adalah versi baris perintah 7-Zip untuk Unix / Linux, dibuat oleh pengembang independen.

7z e <file_name>

Hemant
sumber
5

Saya menemukan potongan kecil ini beberapa waktu yang lalu dan telah menggunakannya sejak saat itu. Saya hanya memilikinya di file .bashrc saya

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
}
Alasan
sumber
1
Ini lebih efektif daripada jawaban yang diterima, karena 7z e foo.tar.gzhanya meninggalkan Anda dengan foo.tarfile.
Wilfred Hughes
2

Di Debian / Ubuntu ada unppaket, yang merupakan skrip Perl yang berfungsi sebagai antarmuka untuk banyak utilitas pengarsipan.

JanC
sumber
2

Dari pertanyaan lain : atool , yang juga menangani berbagai jenis arsip dan lebih kuat daripada unpkarena juga menangani daftar konten, menemukan perbedaan antara arsip, dll.

Thomas Themel
sumber
1

Tar GNU (dan bintang) memiliki setidaknya beberapa kemampuan deteksi otomatis kompresi:

tar xf foo.tar.gz
tar xf foo.tar.bz

hanya bekerja.

maxschlepzig
sumber
Itu tergantung pada versi tar yang formatnya dapat dideteksi secara otomatis tetapi selain itu berfungsi dengan baik ... IIRC starsebenarnya merupakan cara yang lebih standar, di mana tar GNU adalah ekstensi non-standar.
xenoterracide
Versi terbaru dari GNU tar dapat mengompres semua arsip terkompresi, yang dibuat dengan sakelar filter kompresi mana pun (z, j, J, --lzma), ia akan mendeteksi kompresi secara otomatis.
polemon
@xenoterracide: Ya, penulis bintang telah banyak mengkritik GNU tar dengan gayanya yang biasa - tulisan-tulisan ini bisa menjadi bias (mengabaikan poin buruk tentang bintang dan poin bagus tentang GNU tar), mungkin mengandung beberapa FUD dan mungkin sudah ketinggalan zaman.
maxschlepzig
1

Saya pikir arkitu alat pengarsipan KDE dapat dijalankan tanpa GUI. Dari halaman arkmanual

ark --batch archive.tar.bz2

Akan mengekstrak archive.tar.bz2 ke direktori saat ini tanpa menunjukkan GUI.

Dukungan Arks dari berbagai format arsip tergantung pada aplikasi mana yang telah Anda instal (mis. Untuk rar itu tergantung pada unrar), tetapi saya tidak tahu format apa pun yang tidak dapat ditangani.

xenoterracide
sumber
1

Saya terkejut tidak ada yang menyebutkan alat dtrx yang disarankan dalam jawaban ini .

Tampaknya sesuai permintaan ke tee.

Komandan Tinggi4
sumber
0

Unarchiver mendukung ekstraksi sekitar 50 format berbeda dengan antarmuka yang konsisten.

Secara default, direktori dibuat jika ada lebih dari satu file atau folder tingkat atas.

Lihat manhalamannya .

Versi baris perintah mendukung Linux dan tersedia di sini .

Tom Hale
sumber