GNU/Linux >> Belajar Linux >  >> Linux

Mengapa Menggunakan Superflous Dash (-) Untuk Melewati Bendera Opsi Ke Tar?

Untuk membuat file tar untuk direktori, tar perintah dengan compress , verbose dan file pilihan dapat diketik sebagai berikut:

$ tar -cvf my.tar my_directory/

Tetapi juga berfungsi untuk melakukannya dengan cara ini:

 $ tar cvf my.tar my_directory/

Artinya, tanpa tanda hubung (-) sebelum opsi. Mengapa Anda memberikan tanda hubung (-) ke daftar opsi?

Jawaban yang Diterima:

Ada beberapa pola berbeda untuk opsi yang telah digunakan secara historis dalam aplikasi UNIX. Beberapa yang lama, seperti tar , gunakan skema posisi:

argumen opsi perintah

seperti misalnya tar menggunakan

tar *something*f “file dioperasikan” *”jalur file untuk dimanipulasi”*

Dalam upaya pertama untuk menghindari kebingungan, tar dan beberapa program lain dengan gaya flags-arguments yang lama memungkinkan untuk membatasi flag dengan tanda hubung, tetapi kebanyakan dari kita mengabaikannya.

Beberapa perintah lain memiliki sintaks baris perintah yang lebih rumit, seperti dd(1) yang menggunakan bendera, tanda sama dengan, nama jalur, argumen, dan ayam hutan di pohon pir, semuanya dengan liar.

Di BSD dan versi unix yang lebih baru, ini kurang lebih telah dikonvergensi ke flag karakter tunggal yang ditandai dengan '-', tetapi ini mulai menghadirkan beberapa masalah:

  • benderanya mungkin sulit diingat
  • terkadang Anda benar-benar ingin menggunakan nama dengan ‘-‘
  • dan terutama dengan alat-alat GNU, mulai ada batasan yang disebabkan oleh jumlah kemungkinan flag. Jadi alat GNU menambahkan opsi panjang GNU seperti --output .

Kemudian Sun memutuskan bahwa '-' tambahan itu berlebihan dan mulai menggunakan bendera gaya panjang dengan '-' tunggal.

Dan begitulah keadaannya menjadi berantakan seperti sekarang ini.


Linux
  1. Linux – Mengapa Kami Menggunakan Su – Dan Bukan Hanya Su?

  2. Linux – Penggunaan Opsi -o Dalam Perintah Useradd?

  3. Apa gunanya opsi -o dalam perintah useradd?

  1. Mengapa saya menggunakan Linux untuk mengelola studio yoga saya

  2. Cara Menggunakan Perintah Tar di Linux

  3. Mengapa Saya Tidak Dapat Menggunakan Cd Dalam Skrip Bash??

  1. Mengapa Opsi Ssh -t Menambahkan Cr &Lf Dalam Output yang Dialihkan?

  2. Linux – Penggunaan Tcp_defer_accept di dunia nyata?

  3. Mengapa Unix-heads Mengatakan "minus"??