Como eu procuro por um comando do qual não conheço o nome completo?

10

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

Eu tentei usar:

sudo dpkg -l | grep disks 

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

    
por adam 05.11.2013 / 09:12

4 respostas

4

Isso listará todos os nomes de páginas e descrições curtas contendo o texto "discos". Note que isso não retornará nada para scripts ou programas que não possuam uma página man, mas cada programa fornecido com a distribuição do Ubuntu deve ter um ...

man -k disks

OR ...

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
    
por 07.11.2013 / 01:15
3

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

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

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

Esses arquivos iniciais do programa geralmente residem em /usr/share/applications , portanto, outra abordagem seria verificar os arquivos *.desktop nesse diretório. Se você não tem certeza sobre o nome do *.desktop para procurar, faça um grep dentro do diretório /usr/share/applications :

grep gThumb * | grep 'Name='

lhe dará algo parecido com

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 usar apenas less gthumb.desktop para inspecionar os detalhes do iniciador do programa.

Outra maneira seria usar o comando apropos para pesquisar uma determinada palavra-chave nas man pages.

    
por 05.11.2013 / 10:13
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 $PATH e mostra qualquer arquivo correspondente ao regex ('disk' neste caso) passado ao grep no final do pipeline.

Se você tiver arquivos não executáveis no seu $PATH , isso também mostrará esses arquivos.

    
por 09.11.2013 / 01:39
0

Talvez não seja o que você quer ouvir, mas o zsh (zshell) faz um ótimo trabalho na conclusão do comando. É (retroativamente) compatível com o bash, então você não precisa aprender algo completamente novo.
Com oh-my-zsh , há um bom ponto de partida de 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 com o. cfdisk fdisk lvmdiskscan mkdiskimage sgdisk udisks udisks-tcp-bridge umount.udisks2
cgdisk gdisk memdiskfind sfdisk testdisk udisksctl umount.udisks

Como você deve ter notado, eu não rodei o gnome, então, portanto, nenhum gnome-disks, mas definitivamente também teria descoberto aquele se estivesse presente.

    
por 30.11.2013 / 00:38