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.).