Я знаю, что эти две команды делают одно и то же:
ls -la
ls -al
, но мне интересно, есть ли между ними какие-либо предпочтения. Лучше ли заказывать их определенным образом?
Это действительно не имеет значения*, если команда явно не упоминает. Я имею, не столкнулся ни с какой ссылкой, которая дала что-либо как инструкция, как поместить опции один за другим. Таким образом, я думаю ради удобочитаемости, опции могут быть расположены в алфавитном порядке.
*There является очень очень важным протестом, который является, если для какой-либо опции нужны имя файла или какой-либо другой вход прямо после него, необходимо поместить его соответственно.
, Например, -f
опция grep
берет файл в качестве входа для взятия шаблона для поиска из входного файла. Необходимо дать команду как, например:
grep -cf input.txt file.txt
, Если Вы используете его как:
grep -fc input.txt file.txt
это перестанет работать, поскольку это будет использовать c
в качестве имени файла.
POSIX соглашения определяют в Инструкция 11 и 12 Служебных Инструкций по Синтаксису , что порядок" не должен иметь значения ", если это не документируется для самой утилиты.
GNU C Руководство Справочного руководства по библиотеке также соблюдает те соглашения POSIX в 25.1.1 Соглашения о синтаксисе .
Аргумента программы, Но уведомление, существует несколько утилит, которые дают в некоторых ситуациях строгие распоряжения, как выполнить, параметры (например, находят). От эти находят страницу справочника :
Эти
-name
тест прибывает перед эти-type
тест, чтобы избежать необходимости звонитьstat(2)
на каждом файле.
Иногда утилита жалуется на упорядочивание.
С ls можно едва пойти не так, как надо с упорядочиванием опций.
, Но быть внимательным, хотя это другие команды может иметь различные ответы на опции в зависимости от порядка.
примером является команда находки. Вы получите различные результаты, например, между:
find . -ls -mtime -1
И
find . -mtime -1 -ls
Если то, что Вы хотите практиковать, располагает в алфавитном порядке короткие строки, возможно. Я нахожу две стратегии полезными: создание слов (уменьшает опечатки), и предложения создания (улучшает понимание).
Для ls, например, я обычно использую ls -halF
, потому что, даже со странной капитализацией, я лучше во вводе половина , чем что-то как Falh, который не является словом.
Для tar, с другой стороны, я тип tar czvf filename
и говорит (в моей голове) "tar, Создают и Zip, Verbosely Для имени файла", потому что это - то, как я изучил то, что означали различные буквы.
Как другие ответили, это не имеет значения (если не зарегистрировано иначе, или аргументы опции берут дальнейшие аргументы).
, Но он предпочтительный, чтобы приказать, чтобы опции в алфавитном порядке были спорны.
Лично, я нахожу, что мнемоника обеспечивает больше значения, чем строгий алфавитный порядок. Легче помнить ряд опций, когда они формируют незабываемое слово, например, рассматривают:
netstat -tan
# alphabetic is good (by chance) in this case
netstat -ant
по сравнению с:
netstat -atn
netstat -nta
Поэтому при нахождении определенной комбинации опций для команды можно хотеть попытаться перестроить буквы к порядку, который является самым легким для Вас помнить.