¿Cómo busco un comando del que no conozco el nombre completo?

10

Cada vez que intento usar un programa desde el terminal, no lo encuentro porque no coincide con el nombre real. Por ejemplo, escribo disksen terminal, pero el nombre real es gnome-disks.

Traté de usar:

sudo dpkg -l | grep disks 

para encontrarlo, pero ¿qué pasa con los programas que no coinciden en absoluto? ¿Cuál es la forma más fácil de encontrar todos los nombres de los programas instalados en el terminal?

Adán
fuente

Respuestas:

4

Esto enumerará todos los nombres de páginas de manual y descripciones cortas que contienen el texto "discos". Tenga en cuenta que esto no devolverá nada para los scripts o programas que no tienen una página de manual, pero cada programa suministrado con la distribución de Ubuntu debe tener uno ...

man -k disks

O...

apropos disks

Por ejemplo...

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

La forma más fácil es inspeccionar el "iniciador de programa" utilizando el editor de menú:

  • haga clic derecho en el botón de menú en la barra de tareas;
  • seleccionar Edit Menu: esto abrirá el editor de menú.

Ahora, puede elegir la categoría a la izquierda y la aplicación a la derecha ( Entries). Simplemente seleccione la aplicación con un solo clic izquierdo, abra el menú contextual con un clic derecho y seleccione Properties. Aparecerá una pequeña ventana que muestra (entre otra información) la línea de comando.

Esos archivos de inicio del programa generalmente residen /usr/share/applications, por lo que otro enfoque sería verificar los *.desktoparchivos en ese directorio. Si no está seguro sobre el nombre que *.desktopdebe buscar, haga un grep desde dentro del /usr/share/applicationsdirectorio:

grep gThumb * | grep 'Name='

te 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

Ahora, puede usar less gthumb.desktoppara inspeccionar los detalles de ese programa de inicio.

Otra forma sería utilizar el aproposcomando para buscar una determinada palabra clave en las páginas del manual.

Tohuwawohu
fuente
1

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

El bucle anterior enumera cada archivo en cada directorio de su $PATHy muestra cualquier archivo que coincida con la expresión regular ('disco' en este caso) pasado a grep al final de la tubería.

Si tiene archivos no ejecutables en su, $PATHesto también los mostrará.

cpugeniusmv
fuente
0

Tal vez no sea lo que quieres escuchar, pero zsh (zshell) hace un gran trabajo en la finalización de comandos. Es (hacia atrás) compatible con bash para que no tenga que aprender algo completamente nuevo.
Con oh-my-zsh hay un buen punto de inicio de configuración, que puede ajustarse fácilmente a su gusto.

Si escribo 'disco' en mi terminal, automáticamente sugiere la siguiente lista, que se puede recorrer.
cfdisk fdisk lvmdiskscan mkdiskimage sgdisk udisks udisks-tcp-bridge umount.udisks2
cgdisk gdisk memdiskfind sfdisk testdisk udisksctl umount.udisks

Como habrás notado, no ejecuto gnome, por lo que no hay discos de gnome, pero definitivamente también habría encontrado ese si estuviera presente.

cee
fuente