Я задавался вопросом, был ли способ узнать все дополнительные аргументы команды в ударе, не имея необходимость открывать страницу справочника и проходить много нежелательной информации.
Eg:
Input: <some_command> cat
Output: -A, --show-all equivalent to -vET
-b, --number-nonblank number nonempty output lines, overrides -n
-e equivalent to -vE
-E, --show-ends display $ at end of each line
-n, --number number all output lines
-s, --squeeze-blank suppress repeated empty output lines
-t equivalent to -vT
-T, --show-tabs display TAB characters as ^I
-u (ignored)
-v, --show-nonprinting use ^ and M- notation, except for LFD and TAB
--help display this help and exit
--version output version information and exit
Это ни в коем случае не универсально, но много команд обеспечивают сводка использования в ответ на -h
или --help
аргумент, например,
$ cat --help
Usage: cat [OPTION]... [FILE]...
Concatenate FILE(s) to standard output.
With no FILE, or when FILE is -, read standard input.
-A, --show-all equivalent to -vET
-b, --number-nonblank number nonempty output lines, overrides -n
-e equivalent to -vE
-E, --show-ends display $ at end of each line
-n, --number number all output lines
-s, --squeeze-blank suppress repeated empty output lines
-t equivalent to -vT
-T, --show-tabs display TAB characters as ^I
-u (ignored)
-v, --show-nonprinting use ^ and M- notation, except for LFD and TAB
--help display this help and exit
--version output version information and exit
Examples:
cat f - g Output f's contents, then standard input, then g's contents.
cat Copy standard input to standard output.
GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
Full documentation at: <http://www.gnu.org/software/coreutils/cat>
or available locally via: info '(coreutils) cat invocation'
Лучший подход зависит от того, какую команду Вы выполняете. Можно попробовать -h
или --help
как steeldriver предполагает, хотя для некоторых команд, которые не могут показать все доступные варианты. Идеально, все варианты показались бы; даже затем, тем не менее, они не могли бы все быть объяснены. Официальная документация, такая как a man
или info
страница, будет обычно показывать и объяснять все опции - или по крайней мере все они, которых разработчики ожидают, что пользователи на самом деле будут использовать. (Недокументированные опции действительно иногда существуют.)
Сначала я рекомендую проверить, является ли команда внешней командой или встроенной оболочкой. Можно сделать это с type
команда. В bash
, можно передать -a
отметьте к type
команда, для показа, что работало бы, если бы первое соответствие не существовало:
ek@Io:~$ type -a ls
ls is aliased to `ls --color=auto'
ls is /bin/ls
Для меня (и вероятно Вы), ls
псевдоним. Расширение псевдонима нерекурсивно, таким образом, ls
в ls --color=auto
не использует псевдоним, но использует второй список, /bin/ls
, вместо этого. Это - путь к исполняемому файлу и таким образом внешняя команда.
Поэтому просмотреть документацию относительно ls
включая все доступные варианты я работал бы man ls
.
Некоторые случаи, как cat
, просты:
ek@Io:~$ type -a cat
cat is /bin/cat
Команды, которые встроены в оболочку, обычно не имеют своих собственных страниц руководства, но можно использовать help
встроенный для приобретения знаний о них:
ek@Io:~$ type -a history
history is a shell builtin
ek@Io:~$ type -a help
help is a shell builtin
Таким образом можно работать help history
узнать о history
или help help
узнать о help
.
Для некоторого builtins, как compgen
, help
встроенные шоу Вы все их опции, но это не объясняет большинство из них. Каждый раз, когда Вам нужно больше информации о встроенной оболочке, можно консультироваться со страницей руководства для bash
(man bash
), или можно консультироваться дольше и больше подробной документации путем выполнения info bash
или посещение его онлайн. Можно найти раздел по builtins особенно полезным.
Некоторые команды доступны и как внешние исполняемые файлы и как оболочка builtins, который является другой причиной, использующей type -a
сначала может быть полезным:
ek@Io:~$ type -a printf
printf is a shell builtin
printf is /usr/bin/printf
Если Вы работаете man printf
, например, Вам не покажут информации о -v
опция, потому что /usr/bin/printf
не поддерживает его. bash
встроенная оболочка делает, тем не менее, и текст, показанный, когда Вы работаете help printf
списки и объясняют это.
Наконец, для страниц справочника, полезно знать, что можно считать их онлайн.