Entiende Linux (III): Todo es un fichero

Sección [Linux] Fecha [2003-07-30] Hora [07:01]

¿Fichero o archivo? me gustan las dos palabras por igual. No así carpeta y directorio, donde siempre usaré directorio.
Aclarado esto paso a explicaros un poco esta filosofía de trabajo heredada de Unix.

En Linux cualquier elemento del sistema es tratado como un archivo, ya sean datos o dispositivos. Para que lo veais un poco os contaré como suele ir organizado el árbol de directorios:

Directorio Raíz --> /
Dentro de este directorio encontramos todo el sistema, así que no hay manera de salir de él (a no ser que estemos dentro de un chroot o similar... Pero eso lo dejamos para Matrix 3 ;-)

/usr
En este directorio encontraremos la mayoría de programas instalados en nuestro sistema así como sus manuales e incluso código fuente si fuera necesario. Dentro de este directorio encontramos subdirectorios como /usr/bin con los binarios de los programas, /usr/local donde normalmente se instalan los programas que compilamos a mano (es decir, que no pertenecen al sistema de empaquetado de la distro), /usr/X11R6 donde encontramos los archivos relativos a programas que funcionan bajo el entorno gráfico XFree86, /usr/src donde irán a parar los códigos fuentes de los programas que vienen empaquetados (siempre que así lo queramos) y donde se acostumbra a crear un subdirectorio para contener el código fuente del núcleo/kernel. Encontraremos más directorios, pero saber para que son os lo dejo como ejercicio o para una próxima entrega :-)

/var
En teoría es para archivos con contenido variable. Desde logs del sistema o de los diferentes daemons hasta los buzones de correo.

/home
Dividida en subdirectorios. Uno por cada usuario real del sistema y con el nombre de usuario por título. Si nuestro usuario fuera pj nuestra carpeta de usuario sería /home/pj y allí podríamos guardar todo lo que quisiéramos (siempre y cuando el administrador del sistema no nos imponga un espacio predeterminado -cuota de disco-).

/proc
Aquí encontraremos información del sistema. Desde la relativa al procesador o la memoria RAM hasta la carga de las baterías del portátil. Por ejemplo si hacemos un cat /proc/cpuid veremos la información de nuestro procesador.
Incluso podremos cambiar alguna configuración con un simple echo 1 | /proc/dispositivo_a_cambiar

/tmp
Creación y destrucción de archivos temporales. En principio no lo usaremos demasiado, aunque hay tareas que requieren el uso de algún directorio similar.

/dev
Aquí viene la demostración más chocante de que todo es un fichero. Es el directorio de dispositivos del sistema. Desde la tarjeta de sonido hasta la de vídeo, pasando por capturadoras, webcams, puertos, ratones, teclados, unidades de almacenamiento... Todo se accede desde aquí. Podemos hacer cosas bastante curiosas como probar la tarjeta de sonido enviando ruido a /dev/dsp (o el dispositivo que nos corresponda).

/bin y /sbin
Ambos directorios suelen contener binarios más o menos esenciales para el sistema.

/boot
Donde acostumbramos a guardar el kernel compilado y otras cosas similares.

/mnt
Se suele usar este directorio para crear subdirectorios dentro donde montaremos nuestras unidades (otros discos duros, particiones, cd, dvd, ...).
Por montar una nueva unidad se entiende como anclarla a un punto del sistema, en este caso podemos poner el ejemplo de un CD.
Creamos /mnt/cdrom y montamos (mount -t iso9660 /dev/hdb /mnt/cdrom) el CD en el punto. Os explico la linea del mount:

mount es el comando.
-t iso9660 indica que estamos montando un volumen con formato iso9660, que es el de los CD.
/dev/hdb es la ruta donde se encuentra físicamente nuestro CD-Rom. En este caso es el dispositivo IDE (hd) esclavo del primer canal (b). Si fuera el master del segundo canal sería c y si fuera el esclavo del segundo... Imagino que lo adivinais :-)
/mnt/cdrom le indica a Linux en qué punto del árbol de directorios queremos poder acceder a la nueva unidad.

Así que para ver lo que hay dentro del CD tan solo tenemos que acceder a /mnt/cdrom y hacer un listado (ls) o acceder desde algún navegador gráfico como Konqueror o Nautilus.


Espero que con esta corta explicación os quede un poco más clara la forma de trabajar con Linux. Quejas, erratas, sugerencias, preguntas, ... En los comentarios de la entrada o a mi correo ( pjcoolnetSIN@SPAMterra.es )


Comenta (5) comentario/s

Referencias (TrackBacks)

URL de trackback de esta historia http://simbiosis.blogalia.com//trackbacks/10218

Comentarios

1
De: Ctugha Fecha: 2003-07-30 16:55

Este post me aclara bastantes cosas por estúpido que parezca xD



2
De: Algernon Fecha: 2003-07-30 17:21

De aquí puede salir un peaso libro



3
De: Epaminondas Pantuils Fecha: 2003-07-30 17:36

Todavía más, incluso cosas más exóticas como tuberías y otros mecanismos de comunicación entre procesos pueden verse como archivos del sistema operativo, no sólo a nivel del sistema de ficheros (se ven con un 'ls') sino a nivel de programacion (se escribe y se lee de ellos de la misma manera que se escribe y se lee de un archivo de texto) Es la abstracción más genial de Unix: TODO es un fichero y se puede gestionar como tal.



4
De: pj Fecha: 2003-07-30 17:48

¿Qué sería de un post sin sus comentarios?

Con añadidos como el de Epaminondas el binomio post-comentario se hace inseparable :)

Y gracias de nuevo por leerme (y por comentar xD).



5
De: fuckingwindows Fecha: 2009-01-18 01:28

Odio la gente que dice "carpeta" en lugar de directorio... fucking windows...



Nombre
Correo-e
URL
Dirección IP: 54.158.31.149 (412b6e658b)
Comentario