Saya terbiasa mengekstraksi tarbal dengan -xfz
bendera, yang menangani arsip gzip dan bzip2.
Baru-baru ini saya mengalami .tar.xz
file dan saya ingin membuka kompresi dalam satu langkah menggunakan tar
, bagaimana saya bisa melakukan itu?
tar
compression
Jorge Castro
sumber
sumber
xz-utils
jika belum adatar --help
daftartar
bendera.-xzf
berlaku untukgzip
.-xjf
untukbz2
.-xJf
untukxz
.Jawaban:
Ubuntu menyertakan GNU tar, yang mengenali format dengan sendirinya! Satu perintah berfungsi dengan metode kompresi apa pun yang didukung, per manual .
dll. Jika tar memberikan
Cannot exec
kesalahan, Anda mungkin perlusudo apt install xz-utils
terlebih dahulu.sumber
tar: xz: Cannot exec: No such file or directory
, instalxz-utils
:sudo apt-get install xz-utils
tar
tidak lagi membutuhkan tanda khusus?Mencoba
tar -xJf file.pkg.tar.xz
Ini
-J
adalah flag yang khusus menangani file .xz.sumber
.xz
Jika karena alasan tertentu
tar
solusinya tidak berfungsi (mungkin karena Anda menggunakan bawaan OS X), coba ini:... yang setara dengan:
Kemudian gunakan
tar
untuk membuka file.sumber
unxz < file.tar.xz | tar x
atau serupa.tar xf
tidak. ubuntu 12.04unxz
tidak setara denganxz -dc
, tetapi untukxz -d
. Jadi untuk mengekstrakfile.tar.xz
untukfile.tar
, Anda akan hanya menulisunxz file.tar.xz
. Jika Anda ingin yang setara denganxz -dc
, dekompresi ke stdout, gunakanxzcat
. Sebagai contohxzcat file.tar.xz | tar x
.xz adalah kompresor data lossless. Anda harus mengekstrak bola tar dari xz dan kemudian mengekstrak tar:
Maka Anda tahu untuk mengekstrak tar
Sumber: XZ Utils - Wikipedia .
sumber
xz
tidak perlu pengalihan stdout. Bahkan lebih baik:unxz -k
Saya memiliki masalah yang sama,
tar xf
perintah tidak dapat mengekstraknya. Untuk memperbaiki ini, Anda perlu menginstalxz-utils
paket. Solusinya adalah:kemudian:
sumber
-x
- ekstrak file-v
- daftar file yang diproses secara lisan-f
- Gunakan file arsip yang ditentukansumber
Hanya ingin menambahkan bahwa jika Anda memiliki versi lama GNU tar sebelum versi 1.22 ketika opsi --xz dan -J tersedia, Anda bisa mengompres atau mendekompres file tar.xz dengan menggunakan
--use-compress-program xz
. Sebagai contoh,atau
sumber
Jika tar mengenali format kompresi, Anda tidak perlu flag:
tar xvf *.tar.xz
Jika Anda perlu mendekompres input secara manual, misalnya karena tar Anda terlalu tua untuk mengenali xz, atau Anda memerlukan jalur khusus:
xz -cd *.tar.xz | tar xvf -
Pipa lebih cepat daripada membuat file perantara yang tidak terkompresi, dan menggunakan lebih sedikit ruang disk juga!
sumber
Saya suka dtrx
sumber
Wow, itu benar-benar bagus. Apakah itu dilakukan dengan 7zip di Mac? Coba ini:
sumber
tar J
=tar xz
, jadi kita mungkin menulistar xzf file.tar.xz
seperti "normal"tar xvfz file.tar.gz
. Jadi pada dasarnya tidak ada perbedaan. Tidak perlu tanda hubung sebelum menggunakan sakelar.Ubuntu hadir dengan Python (Python 2.7 dan Python 3), yang berisi modul-modul yang diperlukan untuk mengekstraksi arsip. Jadi jika karena alasan apa pun
tar
perintah tidak ada (misalkan sysadmin Anda telah menghapusnya dan Anda tidak memilikisudo
privillege untuk menginstalnya), Anda dapat menggunakan:Sebagai skrip pendek, itu lebih mudah dibaca sebagai:
Misalkan saya membuat
.xz
file dengantar cJf thing.xz /etc/passwd
. Arsip akan berisietc
direktori denganpasswd
file di dalamnya. Menggunakan skrip di atas akan menghasilkanetc
direktori yang dibuat di direktori kerja Anda saat ini, dan di dalamnya akan adapasswd
file. Tentu saja, ini selalu dapat diperpanjang dengan menentukan jalur tempat Anda ingin mengekstrak di dalamextractall()
fungsi.sumber
unar
adalah program sederhana yang cukup bagus dan mudah diketik, untuk mengarsipkan hampir semua format termasuk 7z dan RARtampaknya ditulis dalam (GNU) Objective-C dan karenanya memerlukan instalasi dari beberapa
gnustep
(implementasi Objective-C GNU) perpustakaan (gnustep-base-runtime
danlibgnustep-base1.25
)jika Anda menggunakan --install-suggest atau telah mengkonfigurasi
apt
untuk menginstal paket yang disarankan,unar
akan menyarankan dan menginstal banyak program GUI GNUStep yang bukan yang Anda inginkanitu akan membuat direktori keluaran
linux-source
secara otomatis.sumber