Как мне найти команду, которую я не знаю полностью?

10

Каждый раз, когда я пытаюсь использовать программу из терминала, я не могу найти ее, потому что она не соответствует реальному названию. Например, я печатаю disksв терминале, но настоящее имя gnome-disks.

Я пытался использовать:

sudo dpkg -l | grep disks 

чтобы найти его, а как быть с программами, которые вообще не совпадают? Какой самый простой способ найти все имена установленных программ в терминале?

Адам
источник

Ответы:

4

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

man -k disks

ИЛИ...

apropos disks

Например...

 root@LX02:~  apropos disks
cryptdisks_start (8) - wrapper around cryptsetup which parses /etc/crypttab.
cryptdisks_stop (8)  - wrapper around cryptsetup which parses /etc/crypttab.
mtools (1)           - utilities to access DOS disks in Unix.
smartctl (8)         - Control and Monitor Utility for SMART Disks
udisks (1)           - udisks command line tool
udisks (7)           - Storage Management
udisks-daemon (8)    - udisks Daemon
DocSalvager
источник
3

Самый простой способ - проверить «стартер программы» с помощью редактора меню:

  • щелкните правой кнопкой мыши по кнопке меню на панели задач;
  • выберите Edit Menu- это откроет редактор меню.

Теперь вы можете выбрать категорию слева и приложение справа ( Entries). Просто выберите приложение одним щелчком левой кнопкой мыши, откройте контекстное меню правой кнопкой мыши и выберите Properties. Появится небольшое окно, показывающее (среди прочего) командную строку.

Эти начальные файлы программ обычно находятся в /usr/share/applicationsодном месте, поэтому другой подход заключается в проверке *.desktopфайлов в этом каталоге. Если вы не уверены в названии искомого объекта *.desktop, выполните команду grep из /usr/share/applicationsкаталога:

grep gThumb * | grep 'Name='

даст вам что-то вроде

gthumb.desktop:Name=gThumb
gthumb.desktop:X-GNOME-FullName=gThumb Image Viewer
gthumb-import.desktop:Name=Import with gThumb
gthumb-import.desktop:X-GNOME-FullName=gThumb Photo Import Tool

Теперь вы можете просто использовать less gthumb.desktopдля проверки деталей этого запуска программы.

Другой способ - использовать aproposкоманду для поиска определенного ключевого слова на страницах руководства.

tohuwawohu
источник
1

for bin in $(for path in $(tr ':' '\n' <<<"$PATH"); do echo $path; done); do ls $bin; done |grep 'disk'

Вышеприведенный цикл перечисляет каждый файл в каждом вашем каталоге $PATHи показывает любой файл, соответствующий регулярному выражению (в данном случае 'disk'), переданный grep в конце конвейера.

Если у вас есть неисполняемые файлы, $PATHэто также покажет их.

cpugeniusmv
источник
0

Может быть, не то, что вы хотите услышать, но zsh (zshell) отлично справляется с завершением команд. Он (обратно) совместим с bash, поэтому вам не нужно изучать что-то совершенно новое.
С oh-my-zsh есть хорошая отправная точка настроек, которую можно легко настроить по своему вкусу.

Если я наберу «диск» в моем терминале, он автоматически предложит следующий список, который можно просмотреть.
cfdisk fdisk lvmdiskscan mkdiskimage sgdisk udisks udisks-tcp-bridge umount.udisks2
cgdisk gdisk memdiskfind sfdisk testdisk udisksctl umount.udisks

Как вы могли заметить, я не запускаю gnome, поэтому нет gnome-дисков, но он определенно нашел бы и тот, если бы он присутствовал.

СЕЕ
источник