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:
/biny/usr/bines 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
/sbiny/usr/sbin. Además/usr/local/bin,/opt/bine 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./optdirectorio./usr/local/bines 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
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/shareComo 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/localy/optSin 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):Como puede ver, algunos programas están instalados
/usr/localy 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/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 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 losbindirectorios en elPATH, o se llama al programa desde un archivo de escritorio (ver más abajo)].Encontrar un programa o comando específico
.desktoparchivosPara 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 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
firefoxdebe estar en un directorio que está en laPATHvariable (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,whichywhereis(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 firefoxnos 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 firefoxnos dawhereis : localice los archivos binarios, de origen y de página de manual para un comando.
Ejecutar
whereis firefoxnos daPrima
Puede inspeccionar
/usr/bin/firefoxmás de cercals -l /usr/bin/firefoxy esto da: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 :)
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 Filescarpeta estaría/usr/binen Ubuntu./binse 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.
synapticemitiendosudo apt-get install synapticen la terminal.Properties.Installed Filepestañ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/bino/bin./usr/share/iconso~/.local/share/iconspara local./opt./usr/share/applicationso encendido~/.local/share/applications/usr/share/doc/usr/libY 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/biny cualquier otra cosa que digabin.fuente