- pwd – Muestra el nombre del directorio de trabajo actual
- cd – Cambia de directorio
- ls – Muestra el contenido del directorio
Como Windows, un sistema operativo “como-Unix”, como es Linux, organiza sus archivos en lo que se llama una estructura jerárquica de directorios. Ésto significa que están organizados una estructura de directorios con forma de árbol (algunas veces se llaman carpetas en otros sistemas), que pueden contener archivos u otros directorios. El primer directorio en el sistema de archivos se llama el directorio raíz (root directory). El directorio raíz contiene archivos y subdirectorios, que contienen más archivos y más subdirectorios y así sucesivamente.
Nota que al contrario que Windows, que tiene un árbol del sistema de directorios separado para cada dispositivo de almacenamiento, los sistemas como-Unix, como es Linux, siempre tienen un único árbol de sistema, independientemente de cuantas unidades o dispositivos de almacenamiento están conectados al ordenador. Los dispositivos de almacenamiento están conectados (o más correctamente, montados) en varios puntos del árbol según la voluntad del administrador del sistema, la persona (o personas) responsables del mantenimiento del sistema.
El directorio de trabajo actual
La mayoría de nosotros, probablemente, estamos familiarizados con un gestor de archivos gráfico que representa el árbol del sistema de directorios como en la Figura 1. Fíjate que el árbol, normalmente, aparece colgando bocabajo, o sea, con la raíz arriba y las ramas hacia abajo.
Figura 1: El árbol del sistema de ficheros
como se ve en un gestor de archivos gráfico
Sin embargo, la línea de comandos no tiene imágenes, así que para navegar por el árbol del sistema de ficheros tenemos que pensar de una forma diferente.
Imagina que el sistema de ficheros es como un laberinto con forma de árbol bocabajo y que podemos estar dentro de él. En un momento dado, estamos dentro de un directorio en concreto y podemos ver los archivos contenidos en él, y la ruta hacia el directorio que está sobre nosotros (llamado directorio padre) y los subdirectorios debajo de nosotros. Éste directorio, en el cual estamos, se llama directorio de trabajo actual. Para mostrar el directorio de trabajo actual, utilizamos el comando pwd (print working directory):
[me@linuxbox ~]$ pwd
/home/me
La primera vez que accedemos al sistema (o abrimos una sesión del emulador de terminal) nuestro directorio de trabajo actual es nuestro directorio home (se podría traducir como directorio hogar o directorio de usuario). Cada cuenta de usuario tiene su propio directorio home y es el único lugar donde un usuario normal (sin privilegios) puede escribir archivos.
Listando los contenidos de un directorio
Para listar los archivos y directorios en el directorio de trabajo actual, usamos el comando ls.
[me@linuxbox ~]$ ls
Desktop Documents Music Pictures Public Templates Videos
En realidad, podemos usar el comando ls para listar el contenido de cualquier directorio, no sólo el directorio de trabajo actual, y hay muchas otras cosas curiosas que puede hacer también. Pasaremos más tiempo con ls en el próximo capítulo.
Cambiando el directorio de trabajo actual
Para cambiar el directorio de trabajo actual (aquel en el que estamos en nuestro laberinto con forma de árbol) utilizamos el comando cd. Par hacer ésto, escribe cd seguido de la ruta del directorio de trabajo que queramos. Una ruta es el camino de tomamos a través de las ramas del árbol para llegar al directorio que queremos. Las rutas pueden ser especificadas de dos formas; como rutas absolutas o como rutas relativas. Veremos las rutas absolutas primero.
Rutas Absolutas
Una ruta absoluta comienza con el directorio raíz y sigue rama tras rama hasta que la ruta al directorio o archivo que queremos está completa. Por ejemplo, hay un directorio en nuestro sistema en el que la mayoría de los programas de sistema están instalados. La ruta de dicho directorio es /usr/bin. Ésto significa que en el directorio raíz (representado por la barra inclinada en la ruta) hay un directorio llamado “usr” que contiene un directorio llamado “bin”.
[me@linuxbox ~]$ cd /usr/bin
[me@linuxbox bin]$ pwd
/usr/bin
[me@linuxbox bin]$ ls
...Listing of many, many files ...
Ahora podemos ver que hemos cambiado el directorio de trabajo a /usr/bin y que está lleno de archivos. ¿Ves como ha cambiado el prompt del shell? Por defecto, normalmente está configurado para mostrar automáticamente el nombre del directorio de trabajo.
Rutas Relativas
Mientras que una ruta absoluta empieza desde el directorio raíz y sigue hasta su destino, una ruta relativa comienza en el directorio de trabajo. Para hacer ésto, utiliza un par de símbolos especiales que representan posiciones relativas en el árbol del sistema de directorios. Estos símbolos son “.” (punto) y “..” (punto punto).
El símbolo “.” se refiere al directorio de trabajo y el símbolo “..” se refiere al directorio padre del directorio de trabajo. Veamos como funciona. Cambia el directorio de trabajo a /usr/bin de nuevo:
[me@linuxbox ~]$ cd /usr/bin
[me@linuxbox bin]$ pwd
/usr/bin
Ok, ahora le diremos que queremos cambiar el directorio de trabajo al padre de /usr/bin que es /usr. Podríamos hacerlo de dos formas diferentes. Tanto con una ruta absoluta:
[me@linuxbox bin]$ cd /usr
[me@linuxbox usr]$ pwd
/usr
Como, con una ruta relativa:
[me@linuxbox bin]$ cd ..
[me@linuxbox usr]$ pwd
/usr
Dos métodos diferentes con idénticos resultados. ¿Cuál usamos? ¡El que requiera teclear menos!
Igualmente, podemos cambiar el directorio de trabajo de /usr a /usr/bin de dos formas distintas. O usando una ruta absoluta:
[me@linuxbox usr]$ cd /usr/bin
[me@linuxbox bin]$ pwd
/usr/bin
O con una ruta relativa:
[me@linuxbox usr]$ cd ./bin
[me@linuxbox bin]$ pwd
/usr/bin
Ahora, hay algo importante que debo señalar aquí. En la mayoría de los casos, puedes omitir el “./”. Está implícito. Escribir:
/usr
Como, con una ruta relativa:
[me@linuxbox bin]$ cd ..
[me@linuxbox usr]$ pwd
/usr
Dos métodos diferentes con idénticos resultados. ¿Cuál usamos? ¡El que requiera teclear menos!
Igualmente, podemos cambiar el directorio de trabajo de /usr a /usr/bin de dos formas distintas. O usando una ruta absoluta:
[me@linuxbox usr]$ cd /usr/bin
[me@linuxbox bin]$ pwd
/usr/bin
O con una ruta relativa:
[me@linuxbox usr]$ cd ./bin
[me@linuxbox bin]$ pwd
/usr/bin
Ahora, hay algo importante que debo señalar aquí. En la mayoría de los casos, puedes omitir el “./”. Está implícito. Escribir:
[me@linuxbox usr]$ cd bin hace lo mismo. En general, si no especificas una ruta a algo, se asumirá el directorio de trabajo.
Algunos atajos útiles
Acá vemos algunas formas útiles para cambiar rápidamente el directorio de trabajo actual.
Cambia el directorio de trabajo a tu directorio home
Cambia el directorio de trabajo al anterior directorio de trabajo
Cambia el directorio de trabajo al directorio home de nombre_de_usuario. Por ejemplo, cd ~bob cambiará el directorio al directorio home del usuario “bob”.
Los nombres de archivo que empiezan con un punto están ocultos. Ésto sólo significa que ls no los listará a menos que digamos ls -a. Cuando se creó tu cuenta, varios archivos ocultos fueron colocados en tu directorio home para configurar cosas de tu cuenta. Más adelante veremos más a fondo algunos de estos archivos para ver como puedes personalizar tu entorno. Adicionalmente, algunas aplicaciones colocan su configuración y sus ajustes en tu directorio home como archivos ocultos.
Los nombres de archivo y los comandos en Linux, como en Unix, son sensibles a las mayúsculas. Los nombres de archivo “File1” y “file1” se refieren a archivos diferentes.
Linux no tiene el concepto de “extensión de archivo” como algunos otros sistemas operativos. Puedes nombrar un archivo de la forma que quieras. Los contenidos y/o propósito de un archivo se determina por otros medios. Aunque los sistemas operativos como-Unix no usan extensiones de archivo para determinar el contenido/propósito de un archivo, algunas aplicaciones sí lo hacen.
Aunque Linux soporta nombres de archivo largos que pueden contener espacios y signos de puntuación, limita los signos de puntuación en los nombres de archivo que crees al punto, el guión y el guión bajo. Lo más importante, no incluyas espacios en los nombres de archivo. Si quieres representar espacios entre palabras en un nombre de archivo, usa guiones bajos. Te lo agradecerás más tarde.
Resumiendo
En este capítulo hemos visto como el shell trata la estructura de directorios del sistema. Hemos aprendido sobre las rutas absolutas y relativas y los comandos básicos que se usan para moverse por dicha estructura. En el próximo capítulo utilizaremos este conocimiento para darnos una vuelta por un sistema Linux moderno.
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.