RH033-4 Browsing the filesystem

Linux File Hierarchy

El sistema operativo, así como los datos de usuario, configuraciones del sistema y demás datos se almacenan siguiendo una clasificación denominada Linux File Hierarchy. En este documento se describe cuales son los directorios que debe tener el sistema y qué contenido tiene cada uno. De esta forma todos los desarroladores pueden seguir un mismo método para ubicar el contenido de us software.

Hay que tener en cuenta los siguientes puntos:

  • Ficheros y directorios están organizados en un arbol invertido, cuyo punto de partida es la raiz ( root / )
  • Los directorios se separan con la barra invertida ( forward slash ). Ej: /var/lib/
  • Los nombres son case-sensitive
  • Cada shell o proceso tienen un directorio donde se ejecutan
  • Directorios: con un punto se refiere al directorio actual ( cd . ) y con dos puntos al directorio padre ( cd .. )
  • Los ficheros o  directorios que tengan un punto delante del nombre, son ficheros ocultos
  • Nombres de fichero hasta 255 caracteres
  • Todos los caracteres son válidos excepto la barra invertida ( / )
  • Referencias a nombres de fichero con espacios o caracteres reservados por la shell se pueden hacer usando comillas o escapando los caracteres con la barra ( \ ). Ej: cat El\ Fichero\ Con\ Espacios o cat «El Fichero Con Espacios».

Algunos directorios importantes :

  • /root : directorio del usuario root, separado del resto
  • /home/username : Directorios desde /home para la ubicación de los directorios de  usuario. El simbolo ‘~‘ es lo mismo que /home/username.
  • /bin , /usr/bin , /usr/local/bin : binarios de usuarios
  • /sbin, /usr/sbin, /usr/local/sbin : binarios de root
  • /media, /mnt : montaje de dispositivos. /media montaje automático, /mnt montaje manual
  • /etc : configuraciones de aplicaciones
  • /tmp: ficheros temporales
  • /boot : ficheros de arranque del sistema : kernel, initrd, config y grub files
  • /var, /srv : datos a servir ( /srv ) y datos almacenados /var
  • /proc , /sys : informacion de procesos y del sistema
  • /lib, /usr/lib, /usr/local/lib : liberias compartida

La diferencia entre /usr, /usr/bin y /usr/local/bin ( aplicable a sbin ) es que en /bin y /sbin se incluyen los binarios indispensables o esenciales. En /usr/bin y /usr/sbin los binarios no esenciales y en /usr/local/bin y /usr/local/sbin los binarios generados de compilar el codigo fuente en la propia máquina. Normalmente los binarios vienen epaquetados y se instalan el sistema desde estos paquetes. En ocasiones no existe paquete o necesitamos compilar nuestra propia versión. Pues este binario generado deberá ubicarse en /usr/local/bin o /usr/local/sbin.

Navegando usando Nautilus

Nautilus es la herramienta gráfica que se usa bajo GNOME para navegar por estructura de directorios. Es intuitivo y tiene varios modos de representar la información. Tambien se puede navegar a través de la red local. Combinaciones de teclas interesantes:

  • Cerrar todas las ventanas padre: ctrl + shift + w
  • Location path: ctrl + l
  • Nuevo directorio: ctrl + shift + n
  • cerrar todas las ventanas: ctrl + q
  • cortar : ctrl + x
  • pegar: ctrl + v
  • copiar : ctrl + c
  • seleccionar todo: ctrl + a
  • borrar: ctrl + t  ( thrash )
  • Select patter: ctrl + s
  • Drag and Drop : ctrl ( copia ) , alt ( pregunta por la accion a tomar )
  • Boton derecho: menu contextual

Se pueden incluir nuestros propios scripts si los almacenamos en ~/.gnome2/nautilus-scripts/. Hay que cerrar sesión y volver a entrar para que se carguen los scripts.

Navengando por consola

Para movermos usando consola tenemos los siguientes comandos:

  • cd : Change directory. Cambiar de usuario con ‘cd nombredirectorio’. Ej: cd /etc. con ‘cd -‘ volvemos al directorio donde hubieramos estados ubicados antes del siguiente comando cd. Subir directorio con ‘cd ..’. Directorio $HOME con ‘cd ~’
  • pwd: Indica el directorio actual
  • Rutas absolutas para indicar una ruta desde la raiz. Ej: /var/logs/apache/acces_log
  • Rutas relativas que se basan en el directorio actual. Ej: cd ../../tmp
  • Para crear un directorio se usa : mkdir
  • Para eliminar un directorio: rmdir ( el directorio debe estar vacio, de lo contrario rm -fr  )

Listar ficheros e identificar el contenido

  • El comando ls se usa para listar el contenido de los directorios
  • Las formas más tipicas de usar ls es con -a ( lista todo incluyendo ficheros ocultos ) , -l ( formato largo, mucha informacion ) , -R ( recursivo ) , -ld ( enlaces simbólicos )
  • Se acepta como parámetro una ruta o una expresión
  • Para identificar qué es cada fichero, no se utiliza la extensión como en otros sitemas. Aunque es identificativo, se usa la herramienta file. Esta herramienta analiza el ‘magic number» del fichero que son los primeros bytes del fichero. Una vez leida esta cabecera intenta encontrar una correspondencia con su base de datos ( /usr/share/magic )  para indicarnos de qué tipo de fichero se trata. Ej: file /etc/passwd

Crear, copiar, mover y eliminar ficheros

  • crear ficheros vacíos o cambiarles la fecha de acceso y/o modificación con la utilidad touch. Ej: touch mifichero.
  • Para copiar usaremos: cp origen destino. Se pueden poner multiples orígenes, el último será el destino. ej: cp file1 file2 file3 file4 directorio_destino
  • Parámetros útiles: -i ( interactivo), -r ( recursivo ), -p ( conservar propietario y permisos ) , -a ( -r + -p ), -v ( verbose )
  • Si el destino no existe, se renombrará la copia al nombre de destino
  • Renombrar o mover ficheros y directorios con mv. Ej: mv origen1 origen2 origen3 dir_destino
  • borrar ficheros y dirctorios con rm. Ej: rm mi_directorio mi_fichero
  • Siempre hay que prestar especial atención a la hora de borrar, usad siempre -i ( interactivo ) si es posible y -rf ( -r recursivo y -f force ) con especial especial cuidado.

Publicado

en

por

Etiquetas:

Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.