GNU/Linux >> Tutoriales Linux >  >> Linux

Linux:¿directorios estándar y/o comunes en sistemas operativos Unix/linux?

Viniendo del mundo de Windows, he encontrado la mayoría de la carpeta nombres de directorios para ser bastante intuitivos:

  • \Program Files contiene archivos usados ​​por programas (¡sorpresa!)

  • \Program Files (x86) contiene archivos utilizados por programas de 32 bits en sistemas operativos de 64 bits

  • \Users (anteriormente Documents and Settings ) contiene los archivos de los usuarios, es decir, documentos y configuraciones

    • \Users\USER\Application Data contiene datos específicos de la aplicación

    • \Users\USER\Documents contiene documentos pertenecientes al usuario

  • \Windows contiene archivos que pertenecen al funcionamiento del propio Windows

    • \Windows\Fonts almacena archivos de fuentes (¡sorpresa!)

    • \Windows\Temp es un directorio temporal global

etcétera. Incluso si no tuviera idea de lo que hacían estas carpetas, podía adivinar con bastante precisión por sus nombres.

Ahora estoy echando un buen vistazo a Linux y estoy bastante confundido acerca de cómo orientarme en el sistema de archivos.

Por ejemplo:

  • /bin contiene binarios. Pero también /sbin , /usr/bin , /usr/sbin , y probablemente más que no conozco. ¿¿Cual es cual?? ¿Cuál es la diferencia entre ellos? Si quiero hacer un binario y ponerlo en algún lugar de todo el sistema, ¿dónde lo pongo?

  • /media contiene sistemas de archivos de medios externos. Pero también /mnt . Y ninguno de ellos contiene nada en mi sistema en este momento; todo parece estar en /dev . ¿Cual es la diferencia? ¿Dónde están las otras particiones en mi disco duro, como C: y D: que estaban en Windows?

  • /home contiene los archivos de usuario y la configuración. Eso es intuitivo, pero luego, lo que se supone que debe entrar en /usr ? ¿Y por qué /root sigue estando separado, aunque sea un usuario con archivos y configuraciones?

  • /lib contiene bibliotecas compartidas, como archivos DLL. Pero también /usr/lib . ¿Cuál es la diferencia?

  • Qué es /etc ? ¿Realmente significa "etcétera", o algo más? ¿Qué tipos de archivos deben ir allí, globales o locales? ¿Es un cajón de sastre para las cosas que nadie sabía dónde poner, o hay un caso de uso particular para ello?

  • ¿Qué son /opt , /proc y /var ? ¿Qué representan y para qué sirven? No he visto nada parecido en Windows*, y simplemente no puedo entender para qué podrían ser.

Si alguien puede pensar en otros lugares estándar que podría ser bueno conocer, siéntase libre de agregarlo a la pregunta; Espero que esto pueda ser una buena referencia para personas como yo, que están empezando a familiarizarse con los sistemas *nix.

*Vale, eso es mentira. He visto cosas similares en WinObj, pero obviamente no de forma regular. Sin embargo, todavía no sé qué hacen estos en Linux.

Respuesta aceptada:

Las distribuciones de Linux usan FHS:http://www.pathname.com/fhs/pub/fhs-2.3.html

También puedes probar man hier .

Intentaré resumir las respuestas a sus preguntas de la parte superior de mi cabeza, pero le sugiero enfáticamente que lea el FHS:

  • /bin es para archivos binarios del sistema que no son superusuarios
  • /sbin es para archivos binarios del sistema de superusuario (raíz)
  • /usr/bin y /usr/sbin son para binarios no críticos compartidos no superusuario o superusuario, respectivamente
  • /mnt es para montar temporalmente una partición
  • /media es para montar muchos medios extraíbles a la vez
  • /dev contiene los archivos del dispositivo del sistema; es una larga historia 🙂
  • La carpeta /usr y sus subcarpetas se pueden compartir con otros sistemas para que tengan acceso a los mismos programas/archivos instalados en un solo lugar. Dado que /usr generalmente se encuentra en un sistema de archivos separado, no contiene archivos binarios que sean necesarios para poner el sistema en línea.
  • /root está separado porque puede ser necesario poner el sistema en línea sin montar otros directorios que pueden estar en particiones/discos duros/servidores separados
  • Sí, /etc significa "etcétera". Los archivos de configuración para el sistema local se almacenan allí.
  • /opt es un lugar donde puedes instalar programas que descargas/compilas. De esa manera, puede mantenerlos separados del resto del sistema, con todos los archivos en un solo lugar.
  • /proc contiene información sobre el kernel y los procesos en ejecución
  • /var contiene archivos de tamaño variable como registros, correo, páginas web, etc.
Relacionado:¿Por qué usamos “./” (punto y barra) para ejecutar un archivo en Linux/UNIX?

Para acceder a un sistema, generalmente no necesita /var, /opt, /usr, /home; algunos de los directorios potencialmente más grandes en un sistema.

Uno de mis favoritos, que algunas personas no usan, es /srv. Es para datos que se alojan a través de servicios como http/ftp/samba. He visto que /var se usa mucho para esto, lo cual no es realmente su propósito.


Linux
  1. Una manera fácil de ocultar archivos y directorios en Linux

  2. Encuentra archivos y directorios en Linux como un profesional

  3. Cómo archivar archivos y directorios en Linux [Parte 2]

  4. Cómo archivar archivos y directorios en Linux [Parte 1]

  5. ¿Cuál es el propósito previsto de los directorios de linux/unix de nivel superior y qué deben contener?

Cómo mover archivos y directorios en Linux (comando mv)

Cómo instalar Rclone en Linux y Unix

Cómo hacer una copia de seguridad de archivos y directorios usando Rsync en Linux

3 formas de encontrar archivos y directorios en Linux

Encuentre archivos y directorios en Linux fácilmente

Comando ls en Linux/UNIX