Kabukta çalışmaya yeni başladım ve bu komutların kullanımı keyfi görünüyor. Bir bayrak tek bir çizgi ve diğer bir çift çizgi olabilir bir nedeni var mı?
Kabukta çalışmaya yeni başladım ve bu komutların kullanımı keyfi görünüyor. Bir bayrak tek bir çizgi ve diğer bir çift çizgi olabilir bir nedeni var mı?
Yanıtlar:
Tek bir kısa çizgi, birden çok tek karakterlik bayraklarla takip edilebilir. Çift tire, tek, çok karakterli bir seçeneği ön ekler.
Bu örneği düşünün:
tar -czf
Bu örnekte, -czf
üç tek karakterlik bayrakları belirtir: c
, z
, ve f
.
Şimdi başka bir örnek ele alalım:
tar --exclude
Bu durumda, --exclude
adında tek, çok karakterli bir seçenek belirtir exclude
. Çift düz çizgi sağlanması, komut satırı bağımsız belirsizliği ortadan kaldırır tar
bunu olarak yorumlar ve exclude
yerine bir arada e
, x
, c
, l
, u
, d
, ve e
.
cdrecord
yıllar önce yukarıdaki yorumlarda belirtildiği gibi .
Her şey programa bağlı. Genellikle “-” “kısa” seçenekler için (bir harf, -h), “-” “uzun” (er) seçenekler (--help) için kullanılır.
Kısa seçenekler genellikle birleştirilebilir (bu nedenle "-h -a", "-ha" ile aynıdır)
Unix benzeri sistemlerde, ASCII kısa çizgisi-eksi genellikle seçenekleri belirlemek için kullanılır. Karakteri genellikle bir veya daha fazla harf izler. Harfsiz tek başına kısa çizgi eksi olan bir argüman genellikle bir programın standart girdiden gelen verileri işlemesi veya standart çıktıya veri göndermesi gerektiğini belirtir. Daha açıklayıcı seçenek adlarının kullanıldığı "uzun seçenekler" i belirtmek için bazı programlarda iki kısa çizgi eksi karakteri (-) kullanılır. Bu GNU yazılımının ortak bir özelliğidir.
Bu gerçekten bir kongre. Bununla birlikte, programa geçirilen seçenekler hakkında ayrıştırıcıların daha verimli bilgi sahibi olmalarına yardımcı olabilir. Ayrıca, bir programın argümanlarını ayrıştırmaya yardımcı olmak için getopt(3)
standart olmayan veya bu gibi komutları ayrıştırmaya yardımcı olabilecek düzgün yardımcı programlar vardır getopt_long(3)
.
Güzel, çünkü diğer cevapların da söylediği gibi birleştirilmiş kısa seçeneklerimiz olabilir tar -xzf myfile.tar.gz
.
İçin bir "lisa" argümanı varsa ls
, muhtemelen yazabilmek için farklı bir anlam var olurdu ls -lisa
daha ls --lisa
. Birincisiyseniz l
, i
, s
, ve a
parametreler, kelimeler.
Aslında, ls -l -i -s -a
tam olarak aynı ls -lisa
, ancak programa bağlı , yani yazabilirsiniz .
Bu sözleşmeye uymayan programlar da var. En çok da benim görüşüme göre, dd
ve gcc
.
tek çizgi ile kısa seçenekler - çift çizgi ile uzun seçenekler
kısa seçenekler tek bir argümana birleştirilebilir;
for example: ls -lrt #instead of ls -l -r -t
Tek çizgi ile uzun seçeneklere izin verirsek, belirsizliğe neden olur. Bunu çözmek için uzun seçenekler için çift çizgi kullanıyoruz.