En UNIX se siguen muchas convenciones, que en Linux obviamente se respetan. Es bueno conocerlas, no sólo para estar más familiarizado con el entorno, sino porque ayuda a desenvolverse a la hora de buscar información.
El árbol de directorios de UNIX tiene una estructura bastante rígida, que hace fácil la búsqueda de ficheros de configuración, ayuda, etc. cuando hace falta.
/bin es donde están los ejecutables (no
necesariamente binarios, en realidad) importantes del sistema, por ejemplo,
los intérpretes de órdenes, y el ls.
/lib es donde se depositan las bibliotecas del sistema,
ya sean bibliotecas de funciones, bibliotecas de imágenes, sonidos,
iconos, etc.
/var guarda los ficheros ``variables'', como los
ficheros donde se guardan los errores, los directorios del SPOOL de la
impresora (el búfer de la impresora, por decir así)...
/etc cobija todos los ficheros de configuración
de los programas del sistema.
/dev guarda todos los ficheros ``dispositivo'', es
decir, los ficheros virtuales que representan a los dispositivos
físicos que tiene el ordenador.
/proc tiene ficheros virtuales, que no existen. Al
intentar ver el contenido de los ficheros, recibiremos información
sobre el sistema.
/home es el directorio ``raíz'', de donde
cuelgan los directorios principales de los usuarios ``normales'' (todos
excepto el root).
/usr es el directorio donde están los ficheros
de los usuarios (que usan los usuarios, no sus directorios personales).
Aquí están la mayoría de los programas, la bibliotecas de
funciones, etc. De /usr cuelgan otros directorios lib y
bin, que tienen las bibliotecas y los ejecutables que utilizan
normalmente los usuarios, pero que no son imprescindibles para el sistema, por
ejemplo awk, diff, grep, etc.
/usr/local es el directorio donde se ponen los archivos
que están en esa máquina en particular. Por ejemplo, los
programas que no vienen con la distribución de Linux, sino que
conseguimos por ahí, típicamente se instalarán en
algún directorio que cuelgue de /usr/local.
/usr/doc/HOWTO es donde se guardan en Linux los HOWTO
del sistema.
En UNIX, los ficheros que empiezan por el caracter `.' se consideran
ocultos. Así, cuando hacemos un ls, no aparecen. Esto es muy
útil para guardar ficheros de configuración en las cuentas de
los usuarios.
Para poder verlos, tenemos que especificar la opción
-a a ls, o bien elegir la opción apropiada (algo como
`mostrar ficheros ocultos') en nuestro administrador de archivos
gráfico preferido.
Hay otro convenio útil en UNIX, y se trata de la
localización de los ficheros de configuración: Según el
convenio (no todo el mundo tiene por qué cumplirlo), los
ficheros de configuración ``personales'' se guardan en el directorio
raíz del usuario, con el nombre .nombreprogramarc.
Así, el fichero de configuración del emacs se llama
.emacsrc, el de LyX .lyxrc, etc. Algunas veces, cuando se
tienen que guardar muchos ficheros, lo que se hace es crear un
subdirectorio llamado .nombreprogramarc. Por
ejemplo, KDE hace eso. Como excepción importante, podemos nombrar al
vi(m), que por razones históricas (fue ``construido'' a partir de otro,
llamado ex), nombra al ficheros de configuración
.exrc. El vim, además, tiene otro fichero de
configuración (que no tiene el vi original), llamado .vimrc.
Es importante saber que el caracter ``~'' se utiliza para
referirse al directorio raíz de un usuario. Así, los ficheros
están en ~/.exrc, ~/.lyxrc, etc.
Los números mágicos son una ``firma'' que suelen dejar los formatos de texto en los ficheros. Por ejemplo, todos los archivos GIF empiezan por los caracteres 3F8 (por decirte algo, en realidad no empiezan con eso). Así, simplemente mirando la ``cabecera'' del fichero, normalmente se puede adivinar en qué formato está (¿te habías preguntado alguna vez cómo algunos visores de imágenes adivinaban el formato del fichero aunque le cambiaras la extensión?). Esto, por supuesto, vale no sólo para imágenes, sino para muchos otros formatos de fichero.
Por ello, en UNIX hay un fichero donde se guardan estas firmas. Como a
estas firmas se les llama números mágicos, el fichero,
apropiadamente, se llama magic, y suele estar en el directorio
/etc. Y hay un programa, llamado file, que busca en
/etc/magic, e intenta adivinar cuál es el formato de un
fichero. En realidad el /etc/magic no sólo contiene firmas,
sino mucha más información, que le permite adivinar que un
fichero es texto plano, texto en inglés, etc. Aún así, no
es perfecto. La forma de llamar a file, si queremos saber qué
tipo de fichero es foo, es la siguiente:
$ file foo
foo: exported SGML document text