Lea mi respuesta a continuación para obtener más información sobre cuál es la PATHvariable de entorno, qué .desktoparchivos son y cómo encontrar un programa específico utilizando varios comandos de Linux.
Respuesta original:
No hay una respuesta fácil.
/bin` /usr/bin` y/usr/share
Como se menciona en las otras respuestas, puede encontrar la mayoría de los ejecutables en /bino /usr/bin, y los archivos de soporte están instalados /usr/share.
/usr/local y /opt
Sin embargo, hay más directorios en los que Ubuntu instala aplicaciones. La PATHvariable, que determina dónde buscar un comando ingresado, puede darle una pista, la mía se ve ( echo $PATHen una terminal):
/usr/local/cuda/bin:/usr/local/texlive/2012/bin/x86_64-linux:/usr/games:/home/gerhard/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Como puede ver, algunos programas están instalados /usr/localy tienen su propio directorio y bin. Otro lugar donde se instalan muchos programas es /opt. Las propiedades de estas ubicaciones se explican en el Estándar de jerarquía del sistema de archivos , que es una muy buena lectura. Desafortunadamente, la diferencia entre /opty /usr/localno está muy bien explicada, alguien en el intercambio de pila de Unix tenía una explicación más elaborada:
/usr/locales un lugar para instalar archivos creados por el administrador, generalmente mediante el comando make. La idea es evitar conflictos con los archivos que forman parte de los sistemas operativos que se sobrescribirán o sobrescribirán los locales de lo contrario. p.ej. /usr/bin/fooes parte del sistema operativo mientras que /usr/local/bin/fooes una alternativa local,
/optes un directorio para instalar paquetes desagregados cada uno en su propio subdirectorio. Ya están construidos paquetes completos proporcionados por un distribuidor de software independiente de terceros. Por ejemplo someapp, se instalaría en /opt/someapp, uno de sus comandos estaría en /opt/someapp/bin/foo[y luego generalmente se crea un enlace simbólico en uno de los bindirectorios en el PATH, o se llama al programa desde un archivo de escritorio (ver más abajo)].
Encontrar un programa o comando específico
.desktop archivos
Para saber dónde está instalado un programa específico, puede realizar varios pasos. Primero necesitas localizar su .desktoparchivo. Los archivos de escritorio son similares a los accesos directos en Windows, y para las aplicaciones del sistema en los que se encuentran /usr/share/applications. Se encuentran los archivos de escritorio para aplicaciones que solo están disponibles para el usuario actual ~/.local/share/applications. Tomemos, por ejemplo, Google Chrome, que tiene el archivo de escritorio /usr/share/applications/google-chrome.desktopy busque la línea que comienza Exec=, esto determina cómo iniciar Google Chrome. Dice:
Exec=/opt/google/chrome/google-chrome
Entonces sabes que Google Chrome está dentro /opt.
Ahora para Mozilla Firefox que se encuentra en /usr/share/applications/firefox.desktop. Simplemente dice
Exec=firefox %u
Al principio, esto no parece ayudar mucho, pero luego te das cuenta de que firefoxdebe estar en un directorio que está en la PATHvariable (muy probablemente a bin), y podemos buscarlo (ver más abajo).
Buscar comandos
Para buscar los comandos que se pueden utilizar uno o más de los siguientes: type, whichy whereis(he incluido un enlace a sus páginas de manual en línea).
tipo : describe un comando e indica cómo se interpretaría si se usara como un nombre de comando. Los tipos posibles para un comando son:
- alias (alias de shell)
- función (función de shell)
- incorporado (caparazón incorporado)
- archivo (archivo de disco)
- palabra clave (palabra reservada de shell)
(el tipo en sí es un shell incorporado, pruébelo con type type: P)
Ejecutar type firefoxnos da
firefox is /usr/bin/firefox
que es lo que queríamos saber
Si un comando es un archivo (con el que verificó type), también puede usar:
que : muestra la ruta completa del comando,
Ejecutar which firefoxnos da
/usr/bin/firefox
whereis : localice los archivos binarios, de origen y de página de manual para un comando.
Ejecutar whereis firefoxnos da
firefox: /usr/bin/firefox /etc/firefox /usr/lib/firefox /usr/lib64/firefox /usr/bin/X11/firefox /usr/share/man/man1/firefox.1.gz
Prima
Puede inspeccionar /usr/bin/firefoxmás de cerca ls -l /usr/bin/firefoxy esto da:
/usr/bin/firefox -> ../lib/firefox/firefox.sh*
Parece que /usr/bin/firefoxes "solo" un enlace simbólico a la secuencia de comandos /usr/lib/firefox/firefox.sh. Si inspecciona el script, descubre que el script llama /usr/lib/firefox/firefox.
Puedes descansar en paz ahora :)