GNU/Linux >> Belajar Linux >  >> Ubuntu

Perintah Tar -cvfz Menghasilkan Pesan Kesalahan Kecuali Saya Menghilangkan Tanda hubung Sebelum 'cvfz'?

Pertanyaan ini sudah memiliki jawaban di sini :Tutup 9 tahun yang lalu.

Kemungkinan Duplikat:
sudo tar cvpzf keluar dengan kegagalan karena kesalahan sebelumnya

Saat saya menjalankan perintah

tar -cvfz backup.tar.gz somedirectory

Saya mendapatkan sterr berikut

tar: Exiting with failure status due to previous errors

Namun ketika saya menghilangkan tanda hubung sebelumnya dari -cvfz semuanya tampaknya bekerja dengan baik. Apakah ada alasan yang diketahui mengapa tanda hubung mencegah saya men-tar file saya?

Jawaban yang Diterima:

Saya tidak yakin mengapa tar cvfz berfungsi, ketika menurut pemindaian cepat man halaman dan pengalaman saya, tanda hubung adalah praktik standar. Mungkin ini masalah kompatibilitas BSD (seperti ps ).

Bagaimanapun, sintaks Anda salah. -f mengambil argumen berikutnya sebagai nama file untuk dikompres. Dalam hal ini, nama file itu adalah z , yang tidak seperti yang Anda harapkan. Berikut ini contoh outputnya sehingga Anda dapat melihat apa yang saya maksud:

$ tar -cvfz test.tar.gz scott
tar: test.tar.gz: Cannot stat: No such file or directory
scott/
scott/netx/
scott/netx/locks/
scott/netx/locks/netx_running
tar: Exiting with failure status due to previous errors

Sebuah ls menunjukkan file bernama z . file perintah mengungkapkan bahwa itu adalah tar yang tidak terkompresi arsip. Itu tidak terkompresi karena -z argumen tidak lolos. Dan pesan kesalahan datang dari mencoba menambahkan file yang tidak ada test.tar.gz ke arsip.

Cukup atur ulang opsi dan Anda akan baik-baik saja:

tar -czvf test.tar.gz some/directory

Jika Anda selalu membuat -f argumen terakhir, Anda akan baik-baik saja. Omong-omong, ingatlah bahwa opsi pendek (opsi satu huruf) yang menggunakan argumen biasanya tidak memerlukan spasi antara opsi dan argumen.

EDIT: Omong-omong, jika formulir tanpa tanda hubung adalah hal yang kompatibel dengan BSD atau semacamnya, maka kemungkinan cara itu tar dipanggil dalam lingkungan seperti itu berbeda, dan tidak memerlukan f flag untuk menentukan file input, tetapi bekerja lebih seperti cp atau sesuatu. Tapi ini hanya spekulasi berdasarkan perbandingan dengan ps (q.v.).

Terkait:Bagaimana Cara Streaming Musik Melalui Jaringan ke Banyak Komputer di Ubuntu?
Ubuntu
  1. Saya Tidak Dapat Mengekstrak File Tar.bz2:Pesan Kesalahan, File .h:Izin Ditolak?

  2. Apakah mungkin untuk menyalurkan hasil FIND ke perintah COPY CP?

  3. Ekstrak tar kesalahan file tar.bz2

  1. Cara Menggunakan Perintah Tar di Linux

  2. Cara Mengekstrak File tar.gz di Linux dengan Menggunakan Command Line

  3. Apa perintah pohon di Ubuntu?

  1. Cara Menggunakan Perintah Sudo di Linux

  2. Cara Menggunakan Perintah dinding di Linux

  3. Cara menggabungkan perintah 'tar' dengan 'find'