Разница между 'man ls' и 'ls --help'?

По-видимому, это когда-то было функцией GNOME-terminal, но в рамках очистки кода функция была удалена где-то в версии 3.14.2 или ранее. Таким образом, она больше не является опцией в текущих версиях приложения.

6
13.12.2011, 06:46
5 ответов

Например, --help не является командой, это аргумент, который часто указывается в команде, чтобы получить помощь по ее использованию. Между тем, man - это команда, сокращение от "руководство". Страницы руководства устанавливаются многими программами и являются обычным способом найти справку о командах, а также о системных вызовах (например, fork()).

Если программа устанавливает страницу руководства, к ней всегда можно получить доступ через команду man, тогда как --help - это обычное соглашение, но оно не обязательно должно соблюдаться - это может быть просто (и только) -h.

man также обычно автоматически использует пейджер, такой как less, что может значительно облегчить просмотр и поиск информации.

Наконец, в своем вопросе вы упоминаете программирование Bash - все это не является уникальным для Bash. Bash по большей части не заботится о самих командах или их аргументах.

8
29.04.2021, 00:57

Ahsan,

По умолчанию tcptraceroute запускает traceroute с использованием пакетов tcp-syn для 80 портов. По умолчанию используется порт 80. Просто укажите порт (по умолчанию tcptraceroute использует порт 80), и брандмауэр не будет знать разницу. Требует: libpcap, libnet, glibc пакеты хотя.

Если вам нужны какие-либо примеры использования утилиты tcptraceroute, вот несколько по адресу http://michael.toren.net/code/tcptraceroute/examples.txt

-121--291479-

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

-121--291471-

В большинстве сценариев man является более подробным, чем --help . Справка содержит параметры командной строки для конкретной команды. Но человек гораздо детальнее.

Плюс man сам по себе является инструментом командной строки, тогда как -help является аргом командной строки для инструмента. Небольшая разница.

4
29.04.2021, 00:57

В первом случае вы просите систему поискать справку по команде на страницах руководства. Во втором случае вы просите команду предоставить собственную справку. Эти два варианта, конечно, будут отличаться - обычно команда предоставляет напоминание о своих опциях, в то время как страница man представляет собой подробное описание.

2
29.04.2021, 00:57

man some_command - это то, что, как вы можете ожидать, будет работать во всех Unix и Unix подобных операционных системах, если не установлены страницы руководства.

some_command --help - это в основном GNUism, поэтому он обычно не работает с реализациями, отличными от GNU.

GNU, которая по какой-то причине не любит справочные страницы, также ввела info some_command в качестве третьей альтернативы.

0
29.04.2021, 00:57

Я считаю - help полезной, поскольку она позволяет мне вызывать помощь, пока я модифицирую команду

Например

rsync -vPn ./* ./newfolder/.

О - Какой флаг для сжатия?

rsync -vPn --help ./* ./newfolder/. | less

Я считаю, что команда справки по флагам иногда очень полезна и требует меньше времени. С человеком мне нужно ввести его и вернуться к своей истории, чтобы вернуться к команде, в которой я был.

0
29.04.2021, 00:57

Теги

Похожие вопросы