Como pesquiso um comando que não sei o nome completo?

10

Toda vez que tento usar um programa no terminal, não consigo encontrá-lo porque ele não corresponde ao nome real. Por exemplo, digito disksterminal, mas o nome verdadeiro é gnome-disks.

Eu tentei usar:

sudo dpkg -l | grep disks 

encontrar, mas e quanto aos programas que não correspondem? Qual é a maneira mais fácil de encontrar todos os nomes de programas instalados no terminal?

Adão
fonte

Respostas:

4

Isso listará todos os nomes de páginas do homem e descrições curtas que contêm o texto "discos". Observe que isso não retornará nada para scripts ou programas que não possuem uma página de manual, mas todos os programas fornecidos com a distribuição do Ubuntu devem ter uma ...

man -k disks

OU...

apropos disks

Por exemplo...

 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
fonte
3

A maneira mais fácil é inspecionar o "iniciador de programa" usando o editor de menu:

  • clique com o botão direito do mouse no botão de menu na barra de tarefas;
  • selecionar Edit Menu- isso abrirá o editor de menus.

Agora, você pode escolher a categoria à esquerda e o aplicativo à direita ( Entries). Basta selecionar o aplicativo com um único clique esquerdo, abrir o menu de contexto com um clique direito e selecionar Properties. Uma pequena janela aparecerá, mostrando (entre outras informações) a linha de comando.

Esses arquivos iniciantes de programas geralmente residem /usr/share/applications, portanto, outra abordagem seria verificar os *.desktoparquivos nesse diretório. Se você não tiver certeza do nome do *.desktoparquivo a procurar, faça um grep dentro do /usr/share/applicationsdiretório:

grep gThumb * | grep 'Name='

lhe dará algo como

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

Agora, você pode apenas usar less gthumb.desktoppara inspecionar os detalhes desse iniciador de programa.

Outra maneira seria usar o aproposcomando para pesquisar uma determinada palavra-chave nas páginas do manual.

tohuwawohu
fonte
1

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

O loop acima enumera todos os arquivos em cada diretório do seu $PATHe mostra qualquer arquivo correspondente ao regex ('disco' nesse caso) passado para grep no final do pipeline.

Se você possui arquivos não executáveis, $PATHisso também será exibido.

cpugeniusmv
fonte
0

Talvez não seja o que você deseja ouvir, mas o zsh (zshell) faz um ótimo trabalho na conclusão de comandos. É (para trás) compatível com o bash, assim você não precisa aprender algo completamente novo.
Com o oh-my-zsh, há um bom ponto de partida das configurações, que podem ser facilmente ajustadas ao seu gosto.

Se eu digitar 'disk' no meu terminal, ele sugere automaticamente a seguinte lista, que pode ser percorrida.
cfdisk fdisk lvmdiskscan mkdiskimage udisks udisks-tcp-bridge umount.udisks2
cgdisk gdisk memdiskfind sfdisk testdisk udisksctl umount.udisks

Como você deve ter notado, eu não corro o gnome, portanto, não há discos gnome, mas ele definitivamente também o encontraria se estivesse presente.

cee
fonte