Untuk membuat file tar untuk direktori, tar
perintah dengan compress
, verbose
dan file
opsi dapat diketik dengan demikian:
$ tar -cvf my.tar my_directory/
Tetapi itu juga berfungsi untuk melakukannya dengan cara ini:
$ tar cvf my.tar my_directory/
Artinya, tanpa tanda hubung (-) sebelum opsi. Mengapa Anda pernah memberikan tanda hubung (-) ke daftar opsi?
Jawaban:
Ada beberapa pola berbeda untuk opsi yang telah digunakan secara historis dalam aplikasi UNIX. Beberapa yang lama, seperti tar , menggunakan skema posisi:
seperti misalnya penggunaan tar
Dalam upaya pertama untuk menghindari kebingungan, tar dan beberapa program lain dengan gaya flag-argumen lama diperbolehkan membatasi bendera dengan tanda hubung, tetapi kebanyakan dari kita orang tua mengabaikannya.
Beberapa perintah lain memiliki sintaks baris perintah yang lebih rumit, seperti dd (1) yang menggunakan flag, tanda sama, nama path, argumen dan partridge di pohon pir, semua dengan pengabaian liar.
Dalam BSD dan versi unix yang lebih baru, ini memiliki lebih atau kurang konvergen ke bendera karakter tunggal ditandai dengan '-', tetapi ini mulai menimbulkan beberapa masalah:
--output
.Kemudian Sun memutuskan bahwa ekstra '-' itu berlebihan dan mulai menggunakan bendera gaya-panjang dengan single '-'s.
Dan begitulah yang menjadi kekacauan sekarang.
sumber
-
. Apakah itu dari Sun?Anda dapat memberikan opsi tar dengan cara unix standar di
tar -c -f foo -v -B file1 file2 file3
mana Anda memerlukan tanda hubung untuk membedakan antara opsi dan parameter atau nama file di akhir baris perintah. Atau Anda dapat menggabungkan semua opsi dalam argumen pertama, dalam hal ini tanda hubung adalah opsional.Lalu ada
ps
, di mana Anda menggunakan tanda hubung jika Anda menggunakan opsi SysV-ish, dan tinggalkan mereka jika Anda menggunakan opsi BSD-ish, hanya untuk membuat hal-hal lebih membingungkan.Dan mari kita tidak membicarakannya
find
.sumber
Tanda hubung digunakan untuk memisahkan antara opsi parameter nama dan nilai. Saya kira itu lebih dari konvensi standar.
sumber
best-practice
tag karena saya pikir itu mungkin karena itu.Ada hingga empat konvensi untuk menggunakan opsi baris perintah unix:
Sebagai contoh:
sumber
Dengan tanda minus / tanda hubung (-) Anda harus menjaga agar opsi tetap dalam urutan yang akurat. Tanpa minus urutan opsi Anda dapat berubah.
Sebagai contoh:
sumber
f
itu yang mengambil argumen yang urutannya penting. Lihat unix.stackexchange.com/a/239120/3169