Как отобразить список доступных команд приложения в терминале

Я использую fluxbox, и недавно я хотел запустить приложение для редактирования видео, и я не мог вспомнить его имя. Я обычно запускаю приложения с терминала, поэтому мне было интересно, есть ли способ перечислить все (приложения или) специальные приложения, такие как «запуск или повышение» Xmonad? Эту функцию можно увидеть здесь в 1:14: http://www.youtube.com/watch?v=AyNkBLhIpQk&feature=related

Изменить: я хочу написать команду в терминале, которая вернет список всех установленных приложений (список всех команд приложения, доступных, например, shotwell, gedit, gvim, vim, vi, firefox, chromium-browser и т. Д.) В основном Я хочу знать, какие приложения я могу запустить (какие приложения у меня есть)

  • Почему команда sort дает мне пустой файл?
  • Игнорировать определенные символы при сравнении переменных?
  • Как отображать результаты `top`, отсортированные по использованию памяти в режиме реального времени?
  • Просмотр полных команд в выводе ps
  • Отображать цвета в сценарии оболочки
  • Почему я могу открыть корневой терминал только один раз?
  • подсветка синтаксиса emacs не работает на моем SSH-клиенте
  • Можно ли перепрыгнуть между предыдущими / следующими командами?
  • 3 Solutions collect form web for “Как отобразить список доступных команд приложения в терминале”

    Если вы используете bash(1) , вы можете использовать встроенный compgen :

     $ compgen -abc -A function 

    -a для псевдонимов, -b для встроенных -A function , -c для команд и -A function для функций оболочки. Вы можете выбрать, какие из них вы хотите исключить, так как вы получите довольно большой список (в моей системе я получаю команды 3206).

    Команда compgen предназначена для создания кандидатов на завершение командной строки, но также может быть использована для этой цели.

    Это тривиально, если предположить, что «приложения, которые вы можете запускать», являются синонимами «исполняемых файлов на вашем пути»:

     #!/bin/bash IFS=: read -ra _dirs_in_path <<< "$PATH" for _dir in "${_dirs_in_path[@]}"; do for _file in "${_dir}"/*; do [[ -x ${_file} && -f ${_file} ]] && printf '%s\n' "${_file##*/}" done done 

    Если вы наберете хотя бы одну букву, затем нажмите « Tab» , вы увидите список всех исполняемых программ, чье имя начинается с этой буквы. Это называется завершением или автозаполнением .

    Вы можете перечислить все исполняемые программы с помощью этого фрагмента оболочки:

     ( IFS=':'; set -f; for dir in $PATH; do for x in $dir/*; do echo $x; done done ) 

    В этом списке перечислены все исполняемые программы, которые могут быть более общими, чем то, что вы намереваетесь «всеми приложениями». Вы также увидите ряд команд, которые предназначены для вызова другими командами, и редко вызываются непосредственно пользователями. Список приложений, предназначенных для вызова из графического интерфейса, доступен через файлы *.desktop каталоге /usr/share/applications . Следующая команда отобразит их (вы найдете крохи, такие как %u , %c и т. Д., Указывая, какие типы аргументов обычно ожидают команды, они описаны в спецификации формата файла рабочего стола ).

     grep -Proh '(?<=^Exec=).*' /usr/share/applications 

    Вы можете лучше понять, какие приложения вы установили, указав имеющиеся у вас пакеты: dpkg -l под Debian, Ubuntu и производными; rpm -ql под Red Hat, Fedora, SuSE и производными; …

    Interesting Posts

    использовать строки в качестве аргументов в одном вызове (xargs-like)

    Сканируйте и установите пакеты на Ubuntu вместе с версией

    Связывание нескольких команд с одним ключом в .xbindkeys

    Группируйте все строки на основе первого столбца, затем вычислите общее количество второго и третьего столбцов

    Может ли Bumblee действительно помочь с ноутбуками Optimus?

    Как заменить generic-release на Fedora-release?

    zsh: использовать setopt AUTO_MENU условно, в зависимости от $ PWD

    получить доступ к хранилищу itunes

    Изменение пути перенаправления при запуске скрипта

    Как явным образом и безопасно принудительно использовать встроенную команду в bash

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

    Печатать текст между тегами (включительно), если обнаружен определенный текст

    iotop показывает 1,5 Мбайт / с записи на диск, но все программы имеют 0,00 B / s

    Что происходит с UID при монтировании файловой системы

    Почему некоторые имена пользователей на FreeBSD начинаются с подчеркивания?

    Linux и Unix - лучшая ОС в мире.