Saya cukup yakin saya bukan satu-satunya dengan masalah berikut: setiap kali saya perlu mengompres file di * nix saya tidak dapat mengingat semua switch, dan akhirnya googling, yang mengherankan mengingat seberapa sering saya perlu melakukan hal ini.
Apakah Anda memiliki lembar contekan kompresi yang baik? Atau bagaimana dengan mnemonic untuk semua switch jahat di tar?
Saya membuat artikel ini sebagai wiki sehingga kita dapat membuat lembar contekan yang bagus di sini.
Oh, dan tentang halaman manual: apakah ada satu hal yang tidak membantu, itu untuk mencari tahu cara membuka kompresi file.
Jawaban:
Atau bagaimana menggunakan shell dengan kemampuan penyelesaian tingkat lanjut (seperti zsh atau versi bash baru) yang akan melengkapi opsi untuk Anda, dengan bantuan komprehensif? :))
Mengenai tar: lihat saja keyboard "qwerty". Ada huruf "zxcvf" di sebelah satu sama lain. Anda memerlukan "tar czvf file.tar.gz file" atau "tar xzvf file.tar.gz".
sumber
z
opsi (atauj
opsi untuk.bz2
file) tidak diperlukan saat mengekstraksi dengan tar versi modern. Secara otomatis membuka file.Ringkasan opsi tar
Anda dipersilakan untuk mengedit ini untuk menambahkan lebih banyak saklar esoteris tetapi inilah dasar-dasarnya:
Contohnya
Membatalkan kompresi file tar.gz: tar zxf tarball.tar.gz
Hapus kompresi file tar.bz2: tar jxf tarball.tar.bz2
Buat file tar.gz: tar zcvf tarvall.tar.gz mydir / *
sumber
Ada skrip Perl kecil yang disebut "unp".
... dan itu mengekstrak segalanya. Bekerja dengan setiap file yang terkompresi selama Anda memiliki binari yang tepat. Dan Anda hanya lupa tentang sintaks atau semua omong kosong itu. Periksa repositori distribusi Linux Anda. Itu harus ada di sana (setidaknya di Arch, Debian dan Ubuntu).
sumber
Sungguh dengan penggunaan yang sering, saya membuat perbedaan antara mengekstraksi (x) data dan mengompresi (c) data:
Untuk mengekstrak:
Untuk kompres:
Selanjutnya Anda dapat menambahkan dua fungsi juga .bashrc Anda:
Ada fungsi ekstrak lain yang bagus, itu mendeteksi ekstensi file terkompresi Anda dan melakukan pekerjaan untuk Anda:
sumber
Cukup ketikkan
tar --help
dan inilah cheatsheet Anda.sumber
Jika Anda kesulitan mengingat opsi tar, coba gunakan pipa:
zcat file.tar.gz | tar xvf -
bzcat file.tar.bz2 | tar xvf -
Ganti
tar xv
dengantar tv
untuk hanya melihat konten tarball.Secara pribadi, saya menggunakan mnemonik berikut:
Meskipun "j" dan "bzip2" tampaknya tidak ada hubungannya satu sama lain, saya merasa mudah untuk mengingat pengecualian ini.
Juga, saya merasa lucu bahwa Googling telah menggantikan "man tar".
sumber
f
opsi: baru belakangan ini distribusi tar default menjadif -
, default historisnyaf /dev/rmt0
atau serupa. Bagaimanapun, tar adalah Tape ARchiver.Manusia adalah temanmu.
man tar
sumber
Tiga Operasi Yang Paling Sering Digunakan :
Buat arsip tar baru.
Daftar isi arsip.
Ekstrak satu atau lebih anggota dari arsip.
Lima Operasi Operasi Lanjutan :
Tambahkan entri baru ke arsip yang sudah ada.
Tambahkan salinan terbaru dari anggota arsip ke bagian akhir arsip, jika ada.
Tambahkan satu atau lebih arsip yang sudah ada ke akhir arsip lain.
Hapus item dari arsip (tidak berfungsi pada kaset).
Bandingkan anggota arsip dengan rekan-rekan mereka di sistem file.
sumber
Saya selalu membaca perintah di pikiran saya, saat mengetik
kompres verbose file zip
ekstrak file zip verbose FILE
sumber
Saya melakukan hal berikut
Untuk membuat tar:
Untuk untar:
Ini harus menjadi sakelar utama yang perlu Anda khawatirkan:
Anda dapat melakukan beberapa hal yang lebih menarik seperti tar dan untar inline saat Anda mencoba untuk memindahkan file di direktori seperti:
sumber
90% dari waktu saya hanya digunakan
x: ekstrak
v: menjadi verbose (opsional)
f: file input (tar, gz, bzip2, dll ...)
Mudah kan? :)
Gunakan Fileroller, atau Ark jika Anda tidak di konsol.
sumber
Saya telah menggunakan skrip Perl yang disebut
aunpack
, bagian dari proyek atool , selama bertahun-tahun sekarang. Jadi, Anda jalankan saja:aunpack foo.{zip/tar.gz/tar.bz2}
dan ia melakukan hal yang benar berdasarkan ekstensi file.Manfaat lain
aunpack
adalah tidak akan mencemari direktori saat ini dengan banyak file. Katakanlah ada 20 file dalamfoo.zip
yang tidak ada dalam subdirektori. Alih-alih memuntahkan file-file ini di direktori saat ini,aunpack
akan membuatfoo
subdirektori dan meletakkan semua file di sana.sumber
Yang Anda butuhkan adalah
tar x
(ekstrak dari stdin),tar c
(tar ke stdout),gzip -c
(gzip dari stdin ke stdout;-1
ke-9
untuk tingkat kompresi; berlaku untukbzip2
) dangunzip -c
(gunzip dari stdin ke stdout) - semua yang lain adalah pipa.Untuk tar dan gzip:
Untuk un-gzip dan untar
Jika Anda ingin bilah progres yang manis, gunakan pv yang mirip dengan kucing tetapi bilah bilah progres:
sumber
Saya pikir mudah untuk memikirkan apa yang Anda inginkan dan bukan hanya beberapa surat.
Sebagai ilustrasi, saya akan menggunakan contoh cara mengekstrak file.tar.gz:
Karena ini adalah file tar, Anda harus menggunakan program tar. Maka itu opsi:
Ini ditunjukkan dalam contoh di bawah ini:
sumber
Yang saya ingat adalah selalu "tar XXvf", di mana kedua Xs berada
Kadang-kadang Anda mengalami file terkompresi tetapi tidak tar di mana Anda menambahkan un untuk apa pun jenis kompresi. mis. g un zip atau b un zip2.
Jika ada, saya lupa 2 dan kadang-kadang ketik "bzip".
sumber
Anda juga dapat membuat alias. cukup tambahkan dua baris ini ke
~/.bash_aliases
file Anda :Anda dapat menggunakannya
untar foo.tar.gz
untuk mengekstrak dandotar foo.bar
mengompres. Anda bisa menggunakan alias lain yang mudah Anda ingat.sumber
C buat kembali Z ip ke F ilename
e X traktat Z ip dengan F ilename
sumber