Un sistema de ficheros es instalado en un pedazo del disco duro y formateado para que el sistema operativo Linux pueda usarlo. Una estructura en jerarquía en modo de árbol para almacenar ficheros, le da al sistema de ficheros un orden para ayudar al sistema a organizar y trabajar de forma adecuada. Los ficheros en Linux se pueden crear, copiar y borrar usando la línea de comandos y el interfaz gráfico.
Incluso hay comandos que pueden borrar todos los ficheros de una sola vez, aunque esto solo se pueden hacer si es está en modo root o súper usuario. Lo cierto es que si practicas con el sistema de ficheros de Linux, verás que se parece de alguna manera al sistema DOS, que es mucho más flexible y potente.
Por lo tanto ¿qué es un fichero de Linux? Hemos creado un sistema de ficheros estructurado y lo hemos llenado con un montón de archivos – sin saber lo que son estos ficheros Linux. En la mayoría de los sistemas operativos, un fichero es simplemente un montón de datos almacenados en el disco con un único nombre.
Un fichero puede ser una lista de nombres y números, un texto de un documento o un programa ejecutable. Sin embargo, en Linux todo son ficheros. Aparte de los datos y los ficheros ejecutables, Linux trata a los directorios e incluso los componentes del ordenador como ficheros.
Esto significa que son ficheros que representan tu teclado, la consola, la impresora, el CD-ROM o incluso el sistema de memoria. Estos ficheros especiales son llamados dispositivos y se pueden encontrar en el directorio /dev. Si echas un vistazo a este directorio, verás ficheros que puedes relacionar con dispositivos que tienes instalados, como puede ser por ejemplo el de la consola /dev/tt1.
Cuando Linux tiene que hablar a un dispositivo de hardware físico, lo hace simplemente leyendo o escribiendo sobre uno de estos ficheros. Los nombres en los ficheros Linux pueden ser de hasta 256 caracteres, pero nadie aprovecha tanto este límite.
Cuando se dan nombres a ficheros, se pueden usar mayúsculas y minúsculas, números y ciertos tipos de caracteres especiales. Es buena idea quedarse con letras, números, guiones, puntos y guiones bajos para evitar problemas y confusiones.
Sin embargo hay algunos signos que no podemos usar en los nombres de los ficheros, como pueden ser asteriscos o signos de interrogación, porque tienen un significado especial para la shell. Esto puede provocar que tus comandos hagan algo distinto a lo que quieres.
Los ficheros que empiezan con un punto son ficheros ocultos. Se comportan como cualquier otro fichero, excepto que el comando ls – que lista los ficheros – no los mostrará a no ser se lo digas explícitamente para que lo hagan. El fichero .profile es un ejemplo de un fichero oculto. También hay que recordar que los nombres de ficheros en Linux si diferencian las mayúsculas de las minúsculas.
Esto puede ser confuso para los que hayan trabajado mucho con MSDOS. Puedes ser en un mismo directorio dos ficheros llamados sistema y SISTEMA. Si embargo, es mejor acostumbrarse a usar minúsculas a no ser que haya otro motivo para no hacerlo.
Listar los archivos en Linux
Para listar ficheros en Linux usamos el comando ls, el cual lista los nombres de todos (o de los seleccionados) ficheros en un directorio, y también te dice los atributos de esos ficheros. Algunos simples ejemplos que se pueden dar es por ejemplo hacer desde cualquier sitio que estemos, un ls /etc para listar todos los ficheros o archivos que tienen el directorio etc. Otro ejemplo podría ser hacer un simple ls en un directorio determinado, el cual nos mostrará los ficheros que hay en ese directorio en cuestión.
Por defecto, hacer un simple ls nos muestra una simple columna de archivos sin mucha más información. Sin embargo, si añadimos etiquetas al comando podremos cambiar el formato para que nos muestre mucha más información. Para hacerlo, solo hay que teclear el comando ls seguido de una espacio y luego un guión con la etiqueta. Sería algo así: ls –a lo cual nos mostraría todos los ficheros incluidos los ocultos.
Las etiquetas más usadas son la “l” para mostrar los ficheros en un formato largo, incluyendo detalles como tamaño y pertenecían. La “F” añade una barra del 7 para los nombres de directorio, un asterisco para los ejecutables y una arroba para los ficheros enlazados. La “r” revierte el orden en uno alfabético o de tiempo. La etiqueta “t” ordena la lista por tiempo en que se creó cada fichero.
Hay más etiquetas y se pueden poner varias a la vez para mostrar más información. Es buena idea investigar un poco e ir viendo lo que hace cada una, aunque finalmente se prefiere usar siempre las mismas por comodidad. En mi caso por ejemplo, siempre utilizo el comando de la siguiente manera: la –la ya que me suele dar toda la información que necesito.
Para poner un par de ejemplos, podemos ver la salida de los comandos y lo que nos dice. Lo haremos en el directorio etc:
[root@ yngwie etc]# ls -F
a2ps.cfg gtk/ mime.types rc.sysinit@
a2ps-site.cfg host.conf minirc.cisco redhat-release
adjtime hosts minirc.dfl resolv.conf
Como se puede ver, usando la F mayúscula solo nos muestra los nombres de ficheros agrupados, pero sin ninguna información adicional. Como se pueden ver, el nombre gtk tiene una barra del 7, lo cual nos dice que es un directorio. Se puede ver que el archivo rc.sysinit tiene al lado una arroba, lo cual nos indica que está enlazado.
[root@yngwie etc]# ls -la
total 1948
drwxr-xr-x 44 root root 4096 Mar 30 13:08 .
drwxr-xr-x 23 root root 4096 Feb 23 13:32 ..
-rw-r–r– 1 root root 15221 Feb 28 2001 a2ps.cfg
-rw-r–r– 1 root root 2561 Feb 28 2001 a2ps-site.cfg
-rw-r–r– 1 root root 49 Mar 28 2011 .adjtime
Poniendo las etiquetas la, podemos ver que nos muestra más cosas. Se puede ver que el archivo .adjtime tiene un punto al principio del nombre, lo cual nos indica que es un fichero oculto. Se pueden ver también los permisos, el grupo al que pertenece, el dueño del archivo, la fecha y la hora y la última modificación que se hizo a cada uno de los ficheros.
En la siguiente parte del artículo veremos como ver el contenido que hay dentro de estos ficheros. Haz clic en el enlace para verlo: