Как перечислить все команды Linux, которые знает ваша оболочка



Попробуйте наш инструмент устранения неполадок

На самом деле существует команда для перечисления всех других команд, которые знает оболочка Linux, но, скорее всего, вы с ней не знакомы. Если когда-либо существовала нелогичная Catch-22 в отношении использования командных строк операционной системы на базе GNU / Linux, то это она. При этом, к счастью, очень легко получить указанную команду, даже если оболочка не может дать ее вам напрямую.



Для начала вам нужно будет использовать Ctrl + Alt + T, чтобы открыть командную строку. Пользователи Xfce4, KDE и LXDE захотят нажать «Системные инструменты» в меню «Приложения», а затем - «Терминал». Те, кто использует Ubuntu Unity, могут искать в Dash слово Терминал. Естественно, этот трюк будет работать так же хорошо и в более традиционной среде виртуального терминала.



Метод 1: список команд с помощью встроенной оболочки compgen

В командной строке введите compgen -c | Больше чтобы перечислить все команды, которые вы можете запустить. Используйте клавишу пробела каждый раз, когда хотите перейти на следующую длинную страницу текста. Вы заметите, что эта утилита дает очень широкое представление о том, что такое команда. Многие знаки препинания, которые обычно не воспринимаются как команды, не будут работать, если вы просто введете их в терминал, поскольку они используются для связывания фрагментов и фрагментов более длинных команд.



Если вы используете современный эмулятор терминала, вы всегда можете прокрутить назад, чтобы увидеть, что вы пропустили, когда он начнет прокручиваться за пределы экрана. Когда вы найдете команду, которую искали, вы можете ввести q один раз, чтобы вернуться в командную строку. На самом деле это встроенный bash, поэтому, если вы используете оболочку Almquist или C-оболочку, вы не сможете ее использовать.

Утилита compgen предлагает несколько других вариантов, хотя вы, возможно, заметили, что у нее нет страницы руководства, поскольку это встроенная оболочка. Это немного усложняет понимание того, как пользоваться. К счастью, каждый из этих вариантов запомнить несложно. Тип compgen -a чтобы перечислить все ваши псевдонимы. С помощью compgen -b перечисляет все другие встроенные команды оболочки и compgen -k даст вам список ключевых слов. Если вы действительно хотите узнать больше о команде, введите человек построен чтобы увидеть фактическую страницу оболочки bash.



Поскольку это ужасно длинная страница, так как на ней упоминается все, что bash может делать сам по себе, введите / compgen и нажмите Enter для поиска. Вы, вероятно, выделили только первое упоминание об этом, поэтому введите / и снова нажмите Enter. У вас будет параграф, объясняющий, что делает небольшая программа compgen.

Кстати, как и вам нужно использовать compgen -c | more, чтобы просмотреть каждую команду в приличном порядке, вам также потребуется использовать compgen -b | больше, чтобы этот не скатился с экрана. Остальные не должны давать вам слишком много результатов. При этом, если вы используете любой современный эмулятор терминала, вы можете просто прокрутить назад, как только вывод начнет выводиться прямо с экрана.

Метод 2: использование трюка с клавишей Tab

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

С помощью определенной команды вы можете получить этот трюк, чтобы показать вам каждую команду в вашей системе. Тип bash –norc и нажмите Enter, чтобы получить самый простой возможный сеанс bash, потому что большинство дистрибутивов фактически отключают эту функцию для начала. Вы заметите, что ваша подсказка превратилась в нечто довольно общее. Теперь, ничего не делая, дважды нажмите клавишу табуляции.

Вас спросят, хотите ли вы показать, сколько возможностей существует, поэтому вам следует нажать клавишу y, чтобы это сделать. Теперь вы просмотрите список всех команд в вашей системе. Нажмите клавишу q, как только вы дойдете до команды, которую искали. Это точно так же, как и любой другой список предложений bash, который вы видели, поэтому вы можете перемещаться по нему точно так же без каких-либо проблем. В отличие от предыдущих списков, этот будет фактически отсортирован без необходимости передавать его по конвейеру.

Как только вы захотите выйти из нового сеанса, просто введите exit, и вы вернетесь к старому запросу.

3 минуты на чтение