Я часто вижу одну -
или две черты, --
за которыми следуют команды linux или другие установленные программы linux.
Каковы различия между одинарной и двойной тире?
Это просто аббревиатура? Например, -v
значит --verbose
большую часть времени.
command-line
Пэн Чжан
источник
источник
Ответы:
Это вопрос соглашения. Стандартные программы POSIX обычно имеют только односимвольные опции, и все они имеют префикс с одним дефисом. Насколько я могу судить, более длинные версии являются улучшением GNU для ясности и обычно имеют префикс с двойными дефисами. Вы можете увидеть это в библиотеках и программах, используемых для разбора опций -
getopt
иgnu-getopt
соответственно. Программы, не совместимые с GNU и POSIX, могут делать что-то совсем другое. Обратите внимание, что вы действительно не можете быть уверены, что длинная форма аргумента может быть одинаковой для разных программ.-f
обычно означает--force
, но не сapt-get install
(распространенное заблуждение).-v
может означать версию - обычно или--verbose
, и так далее. Проверьте man-страницы или другую документацию, чтобы быть уверенным. Также посмотрите наСтатья в Википедии о getopt . Все это предшествует Linux на десять и более лет.dd
является примером стандартной утилиты POSIX , которая не имеет каких - либо дефис опции на всех .find
Классический пример стандартной утилиты POSIX, в которой есть опции слова с одиночными дефисами - почти всеfind
опции имеют длину в несколько символов.ps
поддерживает несколько вариантов стилей:GNU
tar
также поддерживает несколько стилей опций.С точки зрения использования, предпочитайте длинные опции в сценариях, если вы можете быть уверены, что сценарии будут выполняться в совместимых средах - улучшение в ясности является благословением при отладке. Для мобильности предпочтительны короткие варианты.
источник
Обычно - параметры могут быть объединены в цепочку, например
pacman -Syu
эквивалентныpacman -S -y -u
, и - параметры обычно принимают параметр, как в./configure --prefix=/usr
источник