Я знаю, что эти две команды делают то же самое:
ls -la
ls -al
, но мне интересно, есть ли у них предпочтения. Лучше ли это упорядочить их определенным образом?
Соглашения POSIX определяют в Руководящих принципах 11 и 12 Руководства по синтаксису служебных программ, что порядок «не имеет значения», если он не документирован для самой утилиты.
POSIX также соблюдает эти соглашения POSIX в Руководстве 11 и 12 Руководства по синтаксису служебных программ .
Но заметьте, есть несколько утилит, которые в некоторых ситуациях дают строгие порядки, как выполнять параметры (например, найти). На странице поиска:
Тест -name предшествует тесту -type, чтобы избежать необходимости называть stat(2) для каждого файла.Иногда утилита жалуется на упорядочение.
С ls вы вряд ли ошибаетесь при заказе опций.
Но помните, что другие команды могут иметь разные ответы на опции в зависимости от порядка.
Примером является команды find. Вы получите разные результаты, например:
find . -ls -mtime -1
И
find . -mtime -1 -ls
Если вы хотите практиковать, это, возможно, алфавитные короткие строки. Я нахожу две стратегии полезными: делать слова (уменьшает опечатки) и делать предложения (улучшает понимание).
Для ls, например, я обычно использую ls -halF, потому что, даже со странной капитализацией, я лучше печатаю halF, чем что-то вроде Falh, а это не слово.
Для tar, с другой стороны, я набираю tar czvf filename и говорю (в моей голове) «tar Create и Zip, Verbosely For filename», потому что именно так я узнал, что означают разные буквы.
Как и другие ответили, это не имеет значения (если не указано иначе, или аргументы параметра принимают дополнительные аргументы).
Но предпочтительнее ли порядок настроек в алфавитном порядке дискутировать.
Лично я считаю, что мнемоники обеспечивают большую ценность, чем строгий алфавитный порядок. Легче запомнить набор опций, когда они образуют запоминающееся слово, например:
netstat -tan
# alphabetic is good (by chance) in this case
netstat -ant
vs:
netstat -atn
netstat -nta
Итак, если вы обнаружите, что повторяете определенную комбинацию параметров для команды, вы можете попробовать и переставить буквы в том порядке, который вам легче запомнить.