2

Я надеюсь, что это правильное место, чтобы задать этот вопрос. В общем, в настоящее время я перебираю некоторые из наиболее часто используемых команд терминала, и мне очень трудно запомнить короткие флаги формы и длинные флаги формы.

Например,

ls -a

гораздо сложнее запомнить для меня, чем

ls --all

Очевидно, это тривиально запомнить для одного флага, но, учитывая количество программ, выполняемых через оболочку, и доступные флаги для каждой программы, становится действительно очень сложно зафиксировать их в памяти.

Однако, когда я ищу по страницам руководства, например,

man ls

Документы не показывают флаги длинных форм. Например, это то, что я получаю

-1      (The numeric digit ``one''.)  Force output to be one entry per
             line.  This is the default when output is not to a terminal.

-A      List all entries except for . and ...  Always set for the super-
             user.

-a      Include directory entries whose names begin with a dot (.).

Я ищу что-то вроде этой веб-страницы:

http://manpages.ubuntu.com/manpages/xenial/en/man1/ls.1.html

-a, --all
          do not ignore entries starting with .

-A, --almost-all
          do not list implied . and ..

--author
          with -l, print the author of each file

но доступно в автономном режиме.

Я использую MacOS и запускаю man через Terminal - есть ли альтернативные руководства, показывающие флаги полной формы? Я был бы очень признателен, если бы кто-то указал мне правильное направление.

Спасибо!

1 ответ1

1

Инструмент в целом - man .

Реализация Ubuntu ls отличается от реализации в macOS. Если ls --all работает для вас, но на странице руководства вашей операционной системы нет длинных опций, то будет разумно рассматривать их как недокументированные функции, которые могут перестать работать или изменить их значение в будущем.

Обратите внимание, что POSIX определяет только короткие опции для ls. Если вы предпочитаете их длинным эквивалентам (если они есть), то ваш «навык ls » становится более переносимым.

При проверке, действительно ли работает ls --all , не путайте его с ls -all . Последнее должно быть эквивалентно ls -a -l -l , т.е. ls -a -l ; он использует только короткие опции и будет работать в любой POSIX-совместимой системе.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .