Я часто вижу одиночную черту -
или двойную черту --
, за которой следуют команды linux или другие установленные программы linux.
Каковы различия между одинарной и двойной тире?
Это просто аббревиатура? Например, -v
означает --verbose
большую часть времени.
Это - вопрос конвенции. Программы стандарта POSIX обычно только имеют односимвольные опции, и они все снабжаются префиксом единственный дефис. Более длительные версии являются улучшением GNU для ясности, насколько я могу сказать и обычно снабжаюсь префиксом двойные дефисы. Вы видите это в библиотеках, и программы раньше анализировали опции - getopt
и gnu-getopt
соответственно. НеGNU и non-POSIX-compliant программы могут сделать что-то еще в целом. Обратите внимание, что Вы действительно не можете быть уверены, что длинная форма аргумента может быть тем же от межпрограммного. -f
обычно средства --force
, но не с apt-get install
(распространенное заблуждение). -v
может означать версию - обычно, или --verbose
, и так далее. Проверьте страницы справочника или другую документацию, чтобы быть уверенными. Также взгляните на статью Wikipedia о getopt. Все это предшествует Linux на десятилетие или больше.
dd
пример утилиты стандарта POSIX, которая не имеет никаких написанных через дефис опций вообще. find
классический пример утилиты стандарта POSIX, которая имеет опции слова с единственными дефисами - почти весь из find
опции являются несколькими символами долго. ps
поддержки несколько стилей опции:
This version of ps accepts several kinds of options:
1 UNIX options, which may be grouped and must be preceded by a dash.
2 BSD options, which may be grouped and must not be used with a dash.
3 GNU long options, which are preceded by two dashes.
GNU tar
также поддержки несколько стилей опции.
Как использование, предпочтите долгие опции в сценариях, если можно быть уверены, что скрипты будут запущены в совместимых средах - улучшение ясности является благословением при отладке. Для мобильности предпочтены короткие опции.
Обычно - опции могут быть объединены в цепочку вместе, как pacman -Syu
являющийся эквивалентным pacman -S -y -u
, и - опции обычно берут параметр в качестве в ./configure --prefix=/usr