Sistema de archivos

De doc.ubuntu-es
(Diferencias entre revisiones)
Saltar a: navegación, buscar
m (Estructura de directorios)
 
(No se muestran 21 ediciones intermedias realizadas por 8 usuarios)
Línea 1: Línea 1:
Lo primero que todo usuario comprueba nada mas instalar linux es que no tiene ni idea de donde estan los programas, sus archivos, ... Linux tiene un complejo sistema de archivos, aunque 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.
  
Aqui no existen letras para referirnos a nuestras unidades. Se utiliza una terminologia mucho mas logica. Por ejemplo: Los discos duros comienzan con la letra hd (sd si nuestro disco es SATA) seguido de una letra y un numero. La letra indica el numero de disco duro y el digito nos indica el numero de la particion. Si tenemos hda1 = primera particion del primer disco duro. hdb3 = tercera particion 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 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 linux trata todo como ficheros de texto, incluso nuestro hardware. Para linux, el microprocesador, el disco duro, la memoria ... son ficheros de texto en los que puede leer y/o escribir informacion.
+
  
Los archivos ocultos en Linux se caracterizan por llevar un . (punto) delante del nombre. Para ver los archivos ocultos 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]]'''.
  
 +
== Estructura de directorios ==
  
 +
Si listamos el contenido del directorio raíz desde la consola obtendremos algo parecido a esto:
 +
<pre>
 +
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
 +
</pre>
  
'''LOS DIRECTORIOS'''
+
* '''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/man</code> &rarr; En este directorio encontramos los manuales (man).
 +
::* <code>/usr/sbin</code> &rarr; Este directorio contiene los ejecutables de los demonios correspondientes a los programas de usuario.
 +
::* <code>/usr/src</code> &rarr; Aquí se almacenan los códigos fuentes de nuestros programas.
 +
:* <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.
  
 +
== Archivos de configuración importantes ==
  
*'''El directorio raiz es /''' &rarr; De aqui cuelgan todos los directorios del sistema. Dentro del directorio raiz encontramos varias carpetas importantes:
+
=== Cómo editarlos ===
  
* '''/dev''' &rarr; Aqui encontramos todos los dispositivos físicos del sistema (todo nuestro hardware).
+
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]]:
  
* '''/etc''' &rarr; Aqui encontramos los ficheros de configuración del sistema.
+
vi <archivo>
 +
nano <archivo>
  
* '''/sbin''' &rarr; Aqui tenemos los programas que solo puede lanzar el superusuario. Los programas de esta carpeta y los de la siguiente pueden ser invocados directamente poniendo su nombre en la consola.
+
=== Archivos ===
  
* '''/bin''' &rarr; Aqui tenemos los programas que pueden lanzar todos los usuarios 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.
  
* '''/lib''' &rarr; Contiene las librerias necesarias para que se ejecuten los programas que tenemos en /bin y /sbin unicamente.
+
* <code>/etc/apt/sources.list</code> &rarr; Aquí encontramos la lista de repositorios.
  
* '''/proc''' &rarr; No deberiamos modificar el contenido de esta carpeta. Aqui se encuentra ficheros que reciben o envian informacion al kernel.
+
* <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.
  
* '''/usr''' &rarr; Este directorio contiene los programas de uso general para todos los usuarios.
+
* <code>/boot/grub/menu.lst</code> &rarr; Aquí tenemos la configuración de GRUB (gestor de arranque).
  
:* '''/usr/X11R6''' &rarr; Aqui tenemos los programas de nuestro X-Windows. Para quien no lo sepa, X-Windows no es mas que el sistema de ventanas.
+
* <code>/etc/X11/xorg.conf</code> &rarr; Este archivo contiene la configuración del entorno gráfico (pantalla, teclado, ratón, tarjeta gráfica ...).
  
:* '''/usr/bin''' &rarr; Aqui tenemos programas de uso general
+
* <code>/etc/network/interfaces</code> &rarr; interfaces Este archivo contiene los datos de configuración de la red.
  
:* '''/usr/doc''' &rarr; Aqui tenemos cierta documentacion del sistema.
+
== Enlaces útiles ==
  
:* '''/usr/etc''' &rarr; Aqui tenemos ficheros de configuracion de uso global.
+
* [http://es.wikipedia.org/wiki/Filesystem_Hierarchy_Standard Estándar de Jerarquía de Sistema de Archivos].
 +
* [http://www.pathname.com/fhs/pub/fhs-2.3.html|Filesystem_Hierarchy_Standard]
  
:* '''/usr/include''' &rarr; Aqui tenemos las cabezeras de C y C++. Son ficheros con extension .h. Los programadores comprenderan su significado.
+
<!-- Categorías -->
 
+
[[Categoría:Sistema Linux]]
:* '''/usr/lib''' &rarr; Aqui tenemos las librerias de nuestros programas.
+
 
+
:* '''/usr/man''' &rarr; En este directorio encontramos los manuales.
+
 
+
:* '''/usr/sbin''' &rarr; Este directorio contiene los programas de administracion del sistema.
+
 
+
:* '''/usr/src''' &rarr; Aqui se almacenan los codigos fuentes de nuestros programas.
+
 
+
* '''/var''' &rarr; Este directorio contiene informacion temporal de los programas. Pero OJO no es como el tmp de windows, no deberemos borrar ni modificar el contenido de esta carpeta.
+
 
+
* '''/boot''' &rarr; Aqui tenemos los archivos de configuracion del arranque del sistema (como por ejemplo grub).
+
 
+
* '''/media''' &rarr; Aqui encontramos todas las unidades fisicas que tenemos montadas. Discos duros, unidades de dvd, pendrive, ...
+
 
+
* '''/opt''' &rarr; Podemos usarla para instalar aplicaciones que no vienen en los repositorios por ejemplo o aquellas que compilamos a mano.
+
 
+
* '''/home''' &rarr; Es un directorio donde tenemos las carpetas personales de todos los miembros del sistema.
+
 
+
:* '''~''' &rarr; Es nuestra carpeta personal. Algo similar a Mis Documentos. Aqui es donde guardaremos nuestros documentos, musica, peliculas, fotos ... Tambien podemos referirnos a este directorio como /home/[nuestro nombre]
+
 
+
:* '''~/Desktop''' &rarr; Aqui tenemos nuestro querido escritorio.
+
 
+
 
+
 
+
'''ARCHIVOS DE CONFIGURACION IMPORTANTES'''
+
----
+
 
+
 
+
Antes de editar cualquier archivo de configuracion es importante que realices una copia de seguridad del mismo. En ocasiones nos surge editar un archivo y no disponemos de entorno grafico, para ello podemos utilizar vi [archivo].
+
 
+
* '''/etc/fstab''' &rarr; Este fichero contiene informacion sobre los dispositivos que se montaran automaticamente durante el arranque del sistema.
+
 
+
* '''/etc/apt/sources.list''' &rarr; Aqui encontramos la lista de repositorios
+
 
+
* '''/etc/passwd''' &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 usario root mas que el ya conocido root.
+
 
+
* '''/boot/grub/menu.lst''' &rarr; Aqui tenemos la configuracion de grub (gestor de arranque).
+
 
+
* '''/etc/X11/xorg.conf''' &rarr; Este archivo contiene la configuracion del entorno grafico (pantalla, teclado, raton, tarjeta grafica ...)
+
 
+
 
+
 
+
----
+
 
+
* http://www.guia-ubuntu.org/index.php?title=Sistema_de_ficheros
+
* https://help.ubuntu.com/ubuntu/desktopguide/es/linux-basics.html
+
* http://www.bootlog.cl/blog/linux/bootlogfs-o-el-enigma-de-los-sistemas-de-archivos
+

Última revisión de 10: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