Sistema de archivos

De doc.ubuntu-es
(Diferencias entre revisiones)
Saltar a: navegación, buscar
(estilo; corrijo errores; agrego /var)
m (Estructura de directorios)
 
(No se muestran 10 ediciones intermedias realizadas por 5 usuarios)
Línea 1: Línea 1:
Lo primero que todo usuario comprueba nada más instalar GNU/Linux es que no tiene ni idea de dónde están los programas, sus archivos, ... GNU/Linux tiene un '''complejo sistema de archivos''', el cual permite tener nuestros ficheros mejor organizados.
+
El sistema de archivos de Ubuntu está basado en el [[w:Filesystem Hierarchy Standard|Filesystem Hierarchy Standard]]. Este es un estándar que con mayor o menor rigor siguen la mayoría de las distribuciones GNU/Linux y algunos otros sistemas operativos basados en UNIX.
  
Aquí no existen letras para referirnos a nuestras unidades. Se utiliza una terminología mucho mas lógica. Por ejemplo: Los discos duros comienzan con la letra hd (sd si nuestro disco es SATA) seguido de una letra y un número. La letra indica el número de disco duro y el dígito nos indica el número de la partición. Si tenemos hda1 = primera partición del primer disco duro. hdb3 = tercera partición del segundo disco duro.
+
Algunas de sus principales características son:
 +
* Todo está organizado en una única estructura de directorios. Todo está dentro del directorio raíz, representado por el signo '/'.
 +
* Todo es un archivo. Dentro de / está representado todo el sistema, los directorios y archivos presentes en los discos duros y demás dispositivos de almacenamiento montados, todo el hardware de la computadora, todos los procesos en ejecución, etc...
 +
* Cada cosa en su sitio y un sitio para cada cosa. Todos los directorios tienen una finalidad concreta, todos los contenidos tienen una ubicación predeterminada según su naturaleza y función.
  
En GNU/Linux no existe «Mi PC» ni nada que se le parezca.
+
Aunque todo aparente formar parte de un único sistema de archivos en realidad hay varios. Además de los sistemas de archivo de disco que contienen los archivos normales, incluye diversos sistemas de archivos virtuales que cumplen diversas funciones.
Hay que tener en cuenta una cosa y es que GNU/Linux trata casi todo como ficheros de texto, incluso nuestro hardware. Para GNU/Linux, el microprocesador, el disco duro, la memoria, ... son ficheros de texto en los que puede leer y/o escribir información.
+
 
+
Los archivos ocultos en Linux se caracterizan por llevar un '''.''' (punto) delante del nombre. Para ver los archivos ocultos (en [[Nautilus]]) pulsamos '''Ctrl+H'''.
+
  
 
[[imagen:Tip.png]] Si quieres una información más exhaustiva del sistema de archivos de Linux, consulta la página '''[[Tipos de archivo]]'''.
 
[[imagen:Tip.png]] Si quieres una información más exhaustiva del sistema de archivos de Linux, consulta la página '''[[Tipos de archivo]]'''.
  
== Directorios ==
+
== Estructura de directorios ==
  
* '''El directorio raíz es''' <code>/</code> &rarr; De aquí cuelgan todos los directorios del sistema. Dentro del directorio raíz encontramos varios subdirectorios importantes:
+
Si listamos el contenido del directorio raíz desde la consola obtendremos algo parecido a esto:
 
+
<pre>
:* <code>/dev</code> &rarr; Aquí encontramos todos los dispositivos físicos del sistema (todo nuestro hardware).
+
ls --almost-all /  
 
+
bin   dev      home            lib         media  proc selinux  tmp  vmlinuz
:* <code>/etc</code> &rarr; Aquí encontramos los ficheros de configuración del sistema.
+
boot  doc-pak  initrd.img      lib64      mnt    root  srv      usr vmlinuz.old
 
+
cdrom  etc     initrd.img.old  lost+found  opt    sbin  sys      var
:* <code>/sbin</code> &rarr; Aquí tenemos los programas que solo puede lanzar el superusuario. Los programas de este directorio y los del siguiente pueden ser invocados directamente poniendo su nombre en la consola.
+
</pre>
 
+
:* <code>/bin</code> &rarr; Aquí tenemos los programas que pueden lanzar todos los usuarios del sistema.
+
 
+
:* <code>/lib</code> &rarr; Contiene las bibliotecas necesarias para que se ejecuten los programas que tenemos en /bin y /sbin únicamente.
+
 
+
:* <code>/proc</code> &rarr; No deberíamos modificar el contenido de este directorio. Aquí se encuentra ficheros que reciben o envían información al kernel.
+
 
+
:* <code>/usr</code> &rarr; Este directorio contiene los programas de uso general para todos los usuarios.
+
 
+
::* <code>/usr/X11R6</code> &rarr; Aquí tenemos los programas de nuestro X-Window, el servidor gráfico.
+
 
+
::* <code>/usr/bin</code> &rarr; Aquí tenemos programas de uso general.
+
 
+
::* <code>/usr/doc</code> &rarr; Aquí tenemos cierta documentación del sistema.
+
 
+
::* <code>/usr/etc</code> &rarr; Aquí tenemos ficheros de configuración de uso global.
+
 
+
::* <code>/usr/include</code> &rarr; Aquí tenemos las cabeceras de C y C++. Son ficheros con extensión .h. Los programadores comprenderán su significado.
+
  
 +
* '''El directorio raíz es''' <code>/</code> &rarr; De aquí cuelgan todos los directorios del sistema:
 +
:* <code>/bin</code> &rarr; Aquí tenemos los programas básicos que pueden lanzar todos los usuarios del sistema.
 +
:* <code>/boot</code> &rarr; Aquí tenemos los archivos de configuración del arranque del sistema (como por ejemplo GRUB), el Kernel y un disco RAM para el arranque (initrd).
 +
:* <code>cdrom</code> &rarr; Antiguamente aquí se montaban los CD-ROM's. Actualmente es un enlace a /media/cdrom, está ahí por compatibilidad con programas antiguos.
 +
:* <code>/dev</code> &rarr; Aquí encontramos todos los dispositivos físicos del sistema (todo nuestro hardware). La mayoría de su contenido es generado durante el arranque.
 +
::* <code>/dev/disk</code> &rarr; contiene los archivos que representan las discos y sus particiones.
 +
::* <code>/dev/psaux</code> &rarr; Representa al ratón.
 +
::* <code>/dev/ram*</code> &rarr; Representa la memoria RAM.
 +
:* <code>/etc</code> &rarr; Aquí encontramos los archivos de configuración generales del sistema y los programas.
 +
:* <code>/home</code> &rarr; Es un directorio donde tenemos los directorios personales de los usuarios.
 +
::* <code>/home/(usuario)</code> &rarr; Es nuestro directorio personal. Aquí es donde guardaremos nuestros documentos, música, películas, fotos y los archivos de configuración personalizados de los programas que usamos.También podemos referirnos a este directorio por su abreviatura '~'
 +
::* <code>~/Desktop</code> &rarr; Aquí tenemos nuestro escritorio.
 +
:* <code>initrd.img</code> &rarr; Es un enlace a /boot/initrd-img-xxx, está ahí por compatibilidad con programas antiguos.
 +
:* <code>/lib</code> &rarr; Contiene las bibliotecas necesarias para que se ejecuten los programas que tenemos en /bin y /sbin. Si usas un sistema de 64bits tendrás un enlace lib64 que apunte a /lib.
 +
:* <code>/lost+found</code> &rarr; Este directorio es usado por el programa [[fsck]], cuando fsck no puede reparar completamente un sistema de archivos, guarda aquí todo lo que no sepa donde ubicar.
 +
:* <code>/media</code> &rarr; Aquí encontramos todas las unidades físicas que tenemos montadas. Discos duros, unidades de dvd, pendrive, ...
 +
:* <code>/mnt</code> &rarr; Este ha sido el lugar tradicional para montar unidades, ha perdido gran parte de su función en favor de /media pero sigue siendo útil para el montaje puntual de algunas cosas.
 +
:* <code>/opt</code> &rarr; Es el lugar apropiado para la instalación de programas que no forman parte de la distro y que pueden no encajar bien en la estructura de /usr
 +
:* <code>/proc</code> &rarr; Su contenido representa a los procesos en ejecución. Aquí se encuentran archivos que reciben o envían información al núcleo. Es un sistema de archivos virtual, en realidad en el disco duro ese directorio está vacío.
 +
:* <code>/root</code> &rarr; Es el directorio personal del usuario root.
 +
:* <code>/sbin</code> &rarr; Aquí se encuentran los ejecutables de los demonios (servicios) instalados en el sistema.
 +
:* <code>/selinux</code> &rarr; [[selinux]] es un sistema que extiende el sistema de permisos típico de Unix.
 +
:* <code>/srv</code> &rarr; Pensado para contener los archivos compartidos por los servidores. No es muy usado.
 +
:* <code>/sys</code> &rarr; Contiene información sobre el sistema y el kernel. Es un sistema de archivos virtual, en realidad en el disco duro ese directorio está vacío.
 +
:* <code>/tmp</code> &rarr; Este directorio contiene información temporal de los programas. No se conserva su contenido, suele borrarse al arrancar el sistema.
 +
:* <code>/usr</code> &rarr; Este directorio contiene los archivos de los programas no esenciales. Es el directorio más grande del sistema.
 +
::* <code>/usr/X11R6</code> &rarr; Aquí tenemos los programas de [[X-Window]], el servidor gráfico.
 +
::* <code>/usr/bin</code> &rarr; Aquí tenemos programas de uso general para los usuarios.
 +
::* <code>/usr/doc</code> &rarr; Aquí tenemos documentación de los programas.
 +
::* <code>/usr/etc</code> &rarr; Aquí tenemos archivos de configuración de uso global.
 +
::* <code>/usr/include</code> &rarr; Aquí tenemos las cabeceras de C y C++. Son archivos con extensión .h. Los programadores comprenderán su significado.
 
::* <code>/usr/lib</code> &rarr; Aquí tenemos las bibliotecas de nuestros programas.
 
::* <code>/usr/lib</code> &rarr; Aquí tenemos las bibliotecas de nuestros programas.
 
+
::* <code>/usr/man</code> &rarr; En este directorio encontramos los manuales (man).
::* <code>/usr/man</code> &rarr; En este directorio encontramos los manuales.
+
::* <code>/usr/sbin</code> &rarr; Este directorio contiene los ejecutables de los demonios correspondientes a los programas de usuario.
 
+
::* <code>/usr/sbin</code> &rarr; Este directorio contiene los programas de administración del sistema.
+
 
+
 
::* <code>/usr/src</code> &rarr; Aquí se almacenan los códigos fuentes de nuestros programas.
 
::* <code>/usr/src</code> &rarr; Aquí se almacenan los códigos fuentes de nuestros programas.
 
:* <code>/tmp</code> &rarr; Este directorio contiene información temporal de los programas.
 
 
 
:* <code>/var</code> &rarr; Este directorio contiene información variable, como registros, datos de los servidores, etc.
 
:* <code>/var</code> &rarr; Este directorio contiene información variable, como registros, datos de los servidores, etc.
 
+
:* <code>vmlinuz</code> &rarr; Suele ser un enlace a /boot/vmlinuz-xxx, está ahí por compatibilidad con programas antiguos.
:* <code>/boot</code> &rarr; Aquí tenemos los archivos de configuración del arranque del sistema (como por ejemplo GRUB).
+
 
+
:* <code>/media</code> &rarr; Aquí encontramos todas las unidades físicas que tenemos montadas. Discos duros, unidades de dvd, pendrive, ...
+
 
+
:* <code>/opt</code> &rarr; Podemos usarla para instalar aplicaciones que no vienen en los repositorios, por ejemplo o aquellas que compilamos a mano.
+
 
+
:* <code>/home</code> &rarr; Es un directorio donde tenemos los directorios personales de todos los miembros del sistema.
+
 
+
::* <code>~</code> &rarr; Es nuestro directorio personal. Algo similar a Mis Documentos. Aquí es donde guardaremos nuestros documentos, musica, películas, fotos ... También podemos referirnos a este directorio como /home/<nuestro nombre>
+
 
+
::* <code>~/Desktop</code> &rarr; Aquí tenemos nuestro querido escritorio.
+
  
 
== Archivos de configuración importantes ==
 
== Archivos de configuración importantes ==
Línea 73: Línea 69:
 
=== Archivos ===
 
=== Archivos ===
  
* <code>/etc/fstab</code> &rarr; Este fichero contiene información sobre los dispositivos que se montaran automáticamente durante el arranque del sistema.
+
* <code>/etc/fstab</code> &rarr; Este archivo contiene información sobre los dispositivos que se montarán automáticamente durante el arranque del sistema.
  
 
* <code>/etc/apt/sources.list</code> &rarr; Aquí encontramos la lista de repositorios.
 
* <code>/etc/apt/sources.list</code> &rarr; Aquí encontramos la lista de repositorios.
  
* <code>/etc/passwd</code> &rarr; Este archivo controla el uso de usuarios, en contraseñas, con permisos y grupos que pertenecen a cada usuario, archivo muy importante si uno quiere tener un superusuario además que el ya conocido root.
+
* <code>/etc/passwd</code> &rarr; Este archivo controla el uso de usuarios, en contraseñas, con permisos y grupos que pertenecen a cada usuario, archivo muy importante si uno quiere tener un superusuario además del ya conocido root.
  
 
* <code>/boot/grub/menu.lst</code> &rarr; Aquí tenemos la configuración de GRUB (gestor de arranque).
 
* <code>/boot/grub/menu.lst</code> &rarr; Aquí tenemos la configuración de GRUB (gestor de arranque).
Línea 87: Línea 83:
 
== Enlaces útiles ==
 
== Enlaces útiles ==
  
* [http://www.guia-ubuntu.org/index.php?title=Sistema_de_ficheros Sistema de ficheros en Guía Ubuntu].
+
* [http://es.wikipedia.org/wiki/Filesystem_Hierarchy_Standard Estándar de Jerarquía de Sistema de Archivos].
* [https://help.ubuntu.com/ubuntu/desktopguide/es/linux-basics.html Guía del escritorio oficial de Ubuntu].
+
* [http://www.pathname.com/fhs/pub/fhs-2.3.html|Filesystem_Hierarchy_Standard]
* http://www.bootlog.cl/blog/linux/bootlogfs-o-el-enigma-de-los-sistemas-de-archivos .
+
  
 
<!-- Categorías -->
 
<!-- Categorías -->
 
[[Categoría:Sistema Linux]]
 
[[Categoría:Sistema Linux]]

Última revisión de 11:43 17 jul 2012

El sistema de archivos de Ubuntu está basado en el Filesystem Hierarchy Standard. Este es un estándar que con mayor o menor rigor siguen la mayoría de las distribuciones GNU/Linux y algunos otros sistemas operativos basados en UNIX.

Algunas de sus principales características son:

  • Todo está organizado en una única estructura de directorios. Todo está dentro del directorio raíz, representado por el signo '/'.
  • Todo es un archivo. Dentro de / está representado todo el sistema, los directorios y archivos presentes en los discos duros y demás dispositivos de almacenamiento montados, todo el hardware de la computadora, todos los procesos en ejecución, etc...
  • Cada cosa en su sitio y un sitio para cada cosa. Todos los directorios tienen una finalidad concreta, todos los contenidos tienen una ubicación predeterminada según su naturaleza y función.

Aunque todo aparente formar parte de un único sistema de archivos en realidad hay varios. Además de los sistemas de archivo de disco que contienen los archivos normales, incluye diversos sistemas de archivos virtuales que cumplen diversas funciones.

Tip.png Si quieres una información más exhaustiva del sistema de archivos de Linux, consulta la página Tipos de archivo.

Contenido

[editar] Estructura de directorios

Si listamos el contenido del directorio raíz desde la consola obtendremos algo parecido a esto:

ls --almost-all / 
bin    dev      home            lib         media  proc  selinux  tmp  vmlinuz
boot   doc-pak  initrd.img      lib64       mnt    root  srv      usr  vmlinuz.old
cdrom  etc      initrd.img.old  lost+found  opt    sbin  sys      var
  • El directorio raíz es / → De aquí cuelgan todos los directorios del sistema:
  • /bin → Aquí tenemos los programas básicos que pueden lanzar todos los usuarios del sistema.
  • /boot → Aquí tenemos los archivos de configuración del arranque del sistema (como por ejemplo GRUB), el Kernel y un disco RAM para el arranque (initrd).
  • cdrom → Antiguamente aquí se montaban los CD-ROM's. Actualmente es un enlace a /media/cdrom, está ahí por compatibilidad con programas antiguos.
  • /dev → Aquí encontramos todos los dispositivos físicos del sistema (todo nuestro hardware). La mayoría de su contenido es generado durante el arranque.
  • /dev/disk → contiene los archivos que representan las discos y sus particiones.
  • /dev/psaux → Representa al ratón.
  • /dev/ram* → Representa la memoria RAM.
  • /etc → Aquí encontramos los archivos de configuración generales del sistema y los programas.
  • /home → Es un directorio donde tenemos los directorios personales de los usuarios.
  • /home/(usuario) → Es nuestro directorio personal. Aquí es donde guardaremos nuestros documentos, música, películas, fotos y los archivos de configuración personalizados de los programas que usamos.También podemos referirnos a este directorio por su abreviatura '~'
  • ~/Desktop → Aquí tenemos nuestro escritorio.
  • initrd.img → Es un enlace a /boot/initrd-img-xxx, está ahí por compatibilidad con programas antiguos.
  • /lib → Contiene las bibliotecas necesarias para que se ejecuten los programas que tenemos en /bin y /sbin. Si usas un sistema de 64bits tendrás un enlace lib64 que apunte a /lib.
  • /lost+found → Este directorio es usado por el programa fsck, cuando fsck no puede reparar completamente un sistema de archivos, guarda aquí todo lo que no sepa donde ubicar.
  • /media → Aquí encontramos todas las unidades físicas que tenemos montadas. Discos duros, unidades de dvd, pendrive, ...
  • /mnt → Este ha sido el lugar tradicional para montar unidades, ha perdido gran parte de su función en favor de /media pero sigue siendo útil para el montaje puntual de algunas cosas.
  • /opt → Es el lugar apropiado para la instalación de programas que no forman parte de la distro y que pueden no encajar bien en la estructura de /usr
  • /proc → Su contenido representa a los procesos en ejecución. Aquí se encuentran archivos que reciben o envían información al núcleo. Es un sistema de archivos virtual, en realidad en el disco duro ese directorio está vacío.
  • /root → Es el directorio personal del usuario root.
  • /sbin → Aquí se encuentran los ejecutables de los demonios (servicios) instalados en el sistema.
  • /selinuxselinux es un sistema que extiende el sistema de permisos típico de Unix.
  • /srv → Pensado para contener los archivos compartidos por los servidores. No es muy usado.
  • /sys → Contiene información sobre el sistema y el kernel. Es un sistema de archivos virtual, en realidad en el disco duro ese directorio está vacío.
  • /tmp → Este directorio contiene información temporal de los programas. No se conserva su contenido, suele borrarse al arrancar el sistema.
  • /usr → Este directorio contiene los archivos de los programas no esenciales. Es el directorio más grande del sistema.
  • /usr/X11R6 → Aquí tenemos los programas de X-Window, el servidor gráfico.
  • /usr/bin → Aquí tenemos programas de uso general para los usuarios.
  • /usr/doc → Aquí tenemos documentación de los programas.
  • /usr/etc → Aquí tenemos archivos de configuración de uso global.
  • /usr/include → Aquí tenemos las cabeceras de C y C++. Son archivos con extensión .h. Los programadores comprenderán su significado.
  • /usr/lib → Aquí tenemos las bibliotecas de nuestros programas.
  • /usr/man → En este directorio encontramos los manuales (man).
  • /usr/sbin → Este directorio contiene los ejecutables de los demonios correspondientes a los programas de usuario.
  • /usr/src → Aquí se almacenan los códigos fuentes de nuestros programas.
  • /var → Este directorio contiene información variable, como registros, datos de los servidores, etc.
  • vmlinuz → Suele ser un enlace a /boot/vmlinuz-xxx, está ahí por compatibilidad con programas antiguos.

[editar] Archivos de configuración importantes

[editar] Cómo editarlos

Antes de editar cualquier archivo de configuración es importante que realices una copia de seguridad del mismo. En ocasiones nos surge editar un archivo y no disponemos de entorno gráfico, para ello podemos utilizar algún editor de texto como vi o nano:

vi <archivo>
nano <archivo>

[editar] Archivos

  • /etc/fstab → Este archivo contiene información sobre los dispositivos que se montarán automáticamente durante el arranque del sistema.
  • /etc/apt/sources.list → Aquí encontramos la lista de repositorios.
  • /etc/passwd → Este archivo controla el uso de usuarios, en contraseñas, con permisos y grupos que pertenecen a cada usuario, archivo muy importante si uno quiere tener un superusuario además del ya conocido root.
  • /boot/grub/menu.lst → Aquí tenemos la configuración de GRUB (gestor de arranque).
  • /etc/X11/xorg.conf → Este archivo contiene la configuración del entorno gráfico (pantalla, teclado, ratón, tarjeta gráfica ...).
  • /etc/network/interfaces → interfaces Este archivo contiene los datos de configuración de la red.

[editar] Enlaces útiles

Herramientas personales