Como es la primera entrega de esta serie, vamos a empezar con las órdenes básicas para el control de la consola. Veremos una serie de comandos básicos junto una explicación y ejemplo de cómo se usa.
  • ls: Lista el contenido del directorio en el que te encuentras. Si se añade la opción -la lista algunos detalles más de los ficheros y directorios. Además, lo habitual será que los ficheros/directorios sigan un determinado código de colores, pudiendo diferenciar los diferentes tipos de ficheros/directorios por el color en que aparecen:
    • Color azul: Directorios
    • Color rojo: Ficheros comprimidos: zip, .tar.gz, .deb, . . .
    • Color morado: Ficheros de imagen
    • Color verde: Ficheros ejecutables
  • cd : Cambia de directorio
    • cd “nombre_directorio”: Cambia inmediatamente al directorio “nombre_directorio”, el cual deberá encontrarse directamente por debajo del actual.
    • cd .. : Cambia al directorio que está inmediatamente por encima del actual
    • cd: Cambia directamente al directorio personal del usuario actual (Habitualmente será/home/usuario/)
  • mkdir “nombre_directorio” : Crea un directorio con el nombre “nombre_directorio”.
  • cp: Copia un fichero/directorio a otro directorio
    • cp “nombre_fichero” “nombre_directorio“: Copia “nombre_fichero” a“nombre_directorio”. Ambos se encuentran accesibles directamente desde el directorio actual. Si se quiere copiar un fichero a una ruta concreta se puede especificar ésta como nombre del directorio destino.
    • cp -r “nombre_directorio1″ “nombre_directorio2“: La opción -r permite copiar directorios completos a otros directorios, tal y como se indica en este ejemplo.
  • mv: Mueve un fichero/directorio a otro directorio. Esto significa que copia el fichero/directorio y posteriomente lo elimina de su ubicación origen. También se utiliza para renombrar ficheros/directorios
    • mv “nombre_fichero” “nombre_directorio”: Mueve “nombre_fichero” al directorio“nombre_directorio”.
    • mv “nombre_directorio1″ “nombre_directorio2″: Mueve “nombre_directorio1″ al directorio “nombre_directorio2″. Hay que darse cuenta que en este caso no se usa la opción -r para tratar con directorios completos
    • mv “fichero_origen” “fichero_destino”: Renombra el fichero de “nombre_origen” a“nombre_destino” dentro del directorio actual.
  • rm: Elimina ficheros/directorios de manera definitiva
    • rm “nombre_fichero” : Elimina el fichero “nombre_fichero”. Hay que destacar que elSistema Operativo no preguntará (normalmente) antes de llevar a cabo la operación.
    • rm -i “nombre_fichero” : Eliminar el fichero “nombre_fichero” previa confirmación.
    • rm -rf “nombre_directorio” : Es la forma habitual de borrado de directorios completos. La opción -r permite acceder de forma recursiva a todos los ficheros/directorios que pudiera contener el directorio que se quiera borrar, y la opción -f permite realizar un borrado forzoso de cada uno de ellos, evitando que se pida confirmación antes de entrar a cada uno de los directorios
  • pwd: Indica el directorio actual
En cualquier caso, conviene saber distinguir entre rutas relativas y absolutas para un correcto manejo de estos comandos sobre la consola
Se dice que una ruta es absoluta cuando se específica de forma completa y única dentro del sistema de ficheros. Por ejemplo, en Windows, la ruta C:\Mis Documentos\Fotos del viaje\Paisaje.jpg sería una ruta absoluta porque especifica un fichero concreto del disco duro de manera única sea cual sea el directorio en el que yo me encuentro
Por otro lado, la ruta Mis Documentos\Paisaje.jpg ya no es absoluta porque dependerá siempre de donde se encuentra el usuario. Unas veces será “cierta” pero otras veces no. Por ejemplo, si el usuario se encuentra en el directorio C:\ la apunta a un fichero del disco duro mientras que si se encuentra en D:\, será correcto decir que esa ruta no existe. Es, por tanto, una ruta relativa porque depende de la ubicación del usuario en el sistema de ficheros.
Después de esto, conviene tener en cuenta además, que el sistema de ficheros de los sistemas Linuxno entiende de unidades, puesto que todos los directorios del sistema parten de lo que se conoce como directorio raíz, denominado con /. Asi, todas las rutas absolutas comienzan con /. Por ejemplo, si queremos referirnos de forma absoluta a un fichero que está dentro de una carpeta de nuestra carpeta personal sería /home/astable/mis_fotos/paisaje.jpg. De forma relativa podría indicarla como mis_fotos/paisaje.jpg, que será “cierta” si yo me encuentro en /home/astable. Además, hay que tener en cuenta que la barra utilizada para indicar los directorios en Linux (/) es la contraria a la de Windows (\)
Así, si estoy en el directorio /home y quiero copiar el fichero otro_paisaje.jpg a la carpeta anterior, tengo dos opciones:
  • cp otro_paisaje.jpg astable/mis_fotos: Si quiero hacerlo utilizando ruta relativa
  • cp otro_paisaje.jpg /home/astable/mis_fotos: Si quiero hacerlo utilizando ruta absoluta
Si por el contrario me encontrará en la carpeta /home/astable/otras_cosas/, seguiría siendo válida la segunda forma, pero si quisiera copiarlo utilizando rutas relativas, debería cambiarla puesto que mi posición ha cambiado: cp otro_paisaje.jpg ../mis_fotos sería el comando correcto ahora, utilizando ruta relativa.
Se podría decir, que si me encuentro en una carpeta “a mitad de camino” del directorio a donde quiero copiar/mover/borrar, sería más conveniente utilizar rutas relativas puedo que hay que escribir menos. En otro caso, sólo es posible utilizar rutas absolutas.
Por ahora, podemos hacer algunas pruebas con todo esto. El lunes que viene explicaré como se distribuye el sistema de ficheros de Linux y algunos trucos más para manejarse con ficheros y directorios