Большинство команд unixoid имеют короткие и длинные альтернативы для параметров командной строки, такие как ls -a
и ls --all
, или ls -A
и ls --almost-all
. Почему существуют эти два пути? Один из них короче, другой легче читать и понимать. Но каждый раз, когда я пишу сценарий оболочки, мне нужно решить, какой из них я хочу использовать. Известно ли, почему существуют две альтернативы? Кто был первым, почему был представлен другой? Например, в DOS / Windows практически не учитывается регистр букв из одной буквы.
23
ls -BartSimpsonIsJustCool
(илиGreat
если вы находитесь на Солярисе.I
является аргументом-I
опции, поэтому это имеет значение, только если у вас есть файл, вызываемыйsJustCool
в текущем каталоге.-BartSimpson
Часть может быть заказана, за исключением того, чтоS
(сортировка по размеру) должен остаться послеt
(сортировка по дате). Также неm
имеет никакого эффекта, когдаn
илиo
присутствуют. Таким образом, команда эквивалентнаls -BSainopsr
, и если я ничего не пропустил, вы не можете удалить еще одну букву для достижения того же результата, и вы можете изменить порядок этих букв свободно.gzip -9 filename
например.Вы можете догадаться, что это дело вкуса. При наборе текста в командной строке может быть предпочтительнее использовать короткий параметр, особенно в случае параметров запуска (например
ls -AL
). Длинные опции лучше передают намерения, поэтому вам не нужно обращаться к справочной странице, когда вы читаетеls --almost-all --dereference
.Естественно, когда вы набираетесь опыта, вы можете узнать, что оба варианта
-A
и-L
короткий достаточно хорошо известны и не требуют дополнительной документации. Особенно в сложной команде, которая может комбинировать несколько команд интересными способами с оценкой, перенаправлением и т. Д. В таком случае вы можете предпочесть краткость, а не документацию.источник
Еще одна цель, которую я вижу, имея разные способы задания параметров (короткие и длинные), заключается в том, что при вводе текста пользователи командной строки Unix / Linux предпочитают иметь как можно более короткие команды. Тем не менее, они могут стать загадочными, и если сценарий написан с использованием этих коротких версий, их может стать трудно понять в будущем. Использование длинной версии может сделать команду SAME более читаемой и понятной для кого-то, кто не является гуру этой команды, особенно если эта команда на самом деле написана локально, а не известной командой.
источник