En Windows, la mayoría de las aplicaciones y los datos de las aplicaciones se almacenan en un directorio especial conocido como C:\Program Files
(y ocasionalmente C:\Program Files (x86)
). ¿Cuál es el equivalente de Ubuntu / Linux a esta ruta? ¿Hay incluso uno?
filesystem
Kaz Wolfe
fuente
fuente
Respuestas:
/bin
y/usr/bin
es donde están los scripts que inician los programas. Sin embargo, el equivalente directo de "Archivos de programa" es probablemente/usr/share
( ver Estándar de jerarquía del sistema de archivos ). Ese directorio contiene los diversos archivos de soporte para la mayoría de los programas.Sin embargo, probablemente no haya un equivalente directo, ya que, por ejemplo, los archivos de la biblioteca se comparten en todo el sistema (en
/lib
) y las opciones están especificadas por el usuario (en el directorio de inicio del usuario) o ubicadas universalmente/etc
.Por lo tanto, la instalación de un programa a través de un archivo deb, repositorio o compilación probablemente colocará archivos en todas estas ubicaciones.
[EDITAR] Y como otros señalan, también hay
/sbin
y/usr/sbin
. Además/usr/local/bin
,/opt/bin
e incluso/usr/games/
. Así que definitivamente no es una comparación directa conc:\program files
!fuente
/opt
? He visto que contienen muchos programas (generalmente de código cerrado o basados en aplicaciones) antes de una manera similar aProgram Files
./opt
directorio./usr/local/bin
es una ubicación semi-común para software que un usuario / empresa no puede usar comúnmenteRespuesta tardía : he creado una hoja de ruta para que la sigan los principiantes. Si están buscando un archivo pero no saben dónde buscar, pueden usar el mapa para navegar de manera aproximada. Puede descargar un PNG de alta resolución aquí . Puedes encontrar la publicación relacionada aquí . Seguiré actualizando tanto el archivo como la publicación cuando el tiempo lo permita, incorporando comentarios útiles.
fuente
EDITAR: ¡Vea también la respuesta de d4nyll a continuación para obtener un excelente mapa para principiantes!
Lea mi respuesta a continuación para obtener más información sobre cuál es la
PATH
variable de entorno, qué.desktop
archivos 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
/bin
o/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
PATH
variable, que determina dónde buscar un comando ingresado, puede darle una pista, la mía se ve (echo $PATH
en una terminal):Como puede ver, algunos programas están instalados
/usr/local
y tienen su propio directorio ybin
. 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/opt
y/usr/local
no está muy bien explicada, alguien en el intercambio de pila de Unix tenía una explicación más elaborada:/usr/local
es 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/foo
es parte del sistema operativo mientras que/usr/local/bin/foo
es una alternativa local,/opt
es 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 ejemplosomeapp
, 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 losbin
directorios en elPATH
, o se llama al programa desde un archivo de escritorio (ver más abajo)].Encontrar un programa o comando específico
.desktop
archivosPara saber dónde está instalado un programa específico, puede realizar varios pasos. Primero necesitas localizar su
.desktop
archivo. 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.desktop
y busque la línea que comienzaExec=
, esto determina cómo iniciar Google Chrome. Dice:Entonces sabes que Google Chrome está dentro
/opt
.Ahora para Mozilla Firefox que se encuentra en
/usr/share/applications/firefox.desktop
. Simplemente diceAl principio, esto no parece ayudar mucho, pero luego te das cuenta de que
firefox
debe estar en un directorio que está en laPATH
variable (muy probablemente abin
), 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
,which
ywhereis
(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:
(el tipo en sí es un shell incorporado, pruébelo con
type type
: P)Ejecutar
type firefox
nos daque 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 firefox
nos dawhereis : localice los archivos binarios, de origen y de página de manual para un comando.
Ejecutar
whereis firefox
nos daPrima
Puede inspeccionar
/usr/bin/firefox
más de cercals -l /usr/bin/firefox
y esto da:Parece que
/usr/bin/firefox
es "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 :)
fuente
No hay un directorio único que sea el equivalente exacto de la carpeta Archivos de programa . La forma en que Linux organiza las cosas es muy diferente a la de Windows.
En Windows, cada programa que instalamos obtiene su propio directorio dentro del directorio Archivos de programa. En ese directorio, se crean subdirectorios adicionales para diferentes tipos de archivos. No hay una estructura fija para subdirectorios. Los programas deciden por sí mismos cómo quieren llamar a cada directorio y dónde quieren poner qué.
Pero en Linux cuando se instala un programa, se copian diferentes tipos de archivos en diferentes ubicaciones. Los archivos ejecutables se copian a / usr / bin , los archivos de la biblioteca a / usr / lib , la documentación a uno o más de / usr / man , / usr / info y / usr / doc . Si hay archivos de configuración, que son por lo general en el directorio personal del usuario o en / etc .
fuente
La
C:\Program Files
carpeta estaría/usr/bin
en Ubuntu./bin
se parece másC:\windows
.Desde la página del manual de la jerarquía del sistema de archivos :
Ubuntu tiene una estructura diferente a la de Windows. Ubuntu coloca casi todas las aplicaciones en un directorio, por ejemplo
/usr/bin
. Windows crearía una nueva carpeta, por ejemploMozilla Firefox
, y agregaría configuración, ejecutables, DLL, imágenes, etc. Ubuntu los divide, los ejecutables entran/usr/bin
, la configuración de todo el sistema/etc
, los objetos compartidos/usr/lib
, las imágenes/usr/share
, ...fuente
Los 'archivos de programa' de Linux están en toda la jerarquía. Podría estar en
/usr/bin
,/bin
,/opt/...
, o en otros directorios.Creo que vas a encontrar algún archivo relacionado con tu aplicación. Entonces, tengo una idea sobre cómo buscar archivos que están instalados en la instalación del programa.
synaptic
emitiendosudo apt-get install synaptic
en la terminal.Properties
.Installed File
pestaña. El resultado es el mismo quedpkg -L package_name
.Esto se debe a que Linux mueve el archivo instalado a directorios por separado según su tipo.
/usr/bin
o/bin
./usr/share/icons
o~/.local/share/icons
para local./opt
./usr/share/applications
o encendido~/.local/share/applications
/usr/share/doc
/usr/lib
Y muchos otros directorios. (CMIIW, aceptando corrección)
fuente
En esta respuesta, cuando digo Unix, me refiero a Unix así como a los sistemas operativos similares a Unix.
Ubuntu realmente no tiene una carpeta de programas que contenga todos los datos para cada programa. En los sistemas operativos Unix y similares a Unix, TODO es un archivo, incluso los comandos del terminal. Son archivos también. La forma en que Unix maneja los programas puede ser bastante caótica y organizada al mismo tiempo.
Los iconos para los programas se almacenan en / usr / share / icons / *, los ejecutables del programa generalmente se almacenan en / usr / bin, / bin y en otros lugares con directorios bin (bin es obviamente abreviatura de binario). Las bibliotecas de las que dependen los programas están en / lib.
Entonces terminas sin un directorio que contenga todos los datos para un programa, pero los datos para el programa se extienden. Si bien al principio esto parece muy desorganizado, permite compartir cosas estándar como bibliotecas e íconos.
Gracias a los permisos para cada archivo, la idea de que todo sea un archivo es muy brillante para ser honesto. Hace que Unix MUCHO más seguro que otros sistemas operativos.
fuente
La forma en que se instalan los programas Linux y Windows es bastante diferente.
El patrón común en Windows es para un programa; o un montón de programas, de un proveedor, vaya a su propio subdirectorio en C: \ programas \ proveedor o algo similar.
En Linux, sus archivos se dividen en subdirectorios específicos según su función. Hay directorios para bibliotecas, iconos, páginas man, archivos de registro, configuración, etc. Puede usar algunos de ellos, pero el sistema los administrará a todos. No están acoplados, pero existen junto con archivos similares de otros programas.
Por lo tanto, no hay un equivalente real a esa estructura de directorios de Windows en una implementación regular de Linux.
fuente
Si instala sus propios programas, le recomiendo 1 carpeta:
fuente
Mira adentro
/bin
,/usr/bin
y cualquier otra cosa que digabin
.fuente