Есть ли способ / команда, чтобы получить список всех команд, доступных в моей системе, из командной строки?
6 ответов
Обычно нажатие вкладки один или два раза отображает сообщение, такое как:
Display all 435 possibilities? (y or n)
Нажатие Y отобразит все команды, которые вы можете запустить, которые находятся на вашем пути по умолчанию.
Если вы хотите отобразить все команды, доступные в вашем $ PATH, вы можете использовать эту команду:
ls $(echo $PATH | tr ":" " ")
Если вы хотите отобразить все исполняемые файлы, доступные в вашей файловой системе, вы можете использовать эту команду (будьте осторожны, это может занять некоторое время):
find / -type f \( -perm -u=x -o -perm -g=x -o -perm -o=x \) 2>/dev/null
Файлы, перечисленные этой командой, не обязательно являются командами, они просто задаются как исполняемые.
(вам может потребоваться запустить его как root, если вы хотите выполнить поиск, удалите часть 2> /dev /null, чтобы узнать, где команда find не выполняла поиск как обычный пользователь)
Вы также можете перечислить ваши псевдонимы, для этого вы можете использовать эту команду:
alias
В bash вы можете использовать compgen -c
для получения всех завершений команд, сгенерированных в stdout (так что вы можете использовать grep
и т.д. Вместо простого листания по списку). Вы также можете добавить префикс:
$ compgen -c ls
ls
lsbom
lsbom
lsdiff
lsof
lsvfs
lsvfs
$ compgen -c | grep zcat
bzcat
bzcat
bzcat
gzcat
gzcat
lzcat
zcat
zcat
$ compgen -c | sort -u | grep zcat
bzcat
gzcat
lzcat
zcat
Не то, чтобы я знал, но вы могли бы либо ls /usr/bin
или ls /usr/sbin
либо перечислить все mans ls /usr/share/man/man1
На несколько другой ноте:
Во многих системах Linux установлен man
.
man -k searchword
выведет список всех команд (которые имеют файлы руководства), которые содержат searchword
в своем описании, более подробный и полный (man cmdname
выведет список руководства для cmdname
).
Все продукты, установленные в вашей системе, могут быть выполнены из командной строки.
Однако доступны некоторые встроенные команды, относящиеся к используемой вами оболочке.
Вот ссылки на документацию о некоторых наиболее часто используемых оболочках: bash, Bourne shell (sh), C shell (csh).
Для некоторых оболочек встроенная команда help
отображает полезную информацию о встроенных командах.