Translate

6 nov 2014

Moviéndonos entre directorios desde consola.

El concepto de carpeta o directorio es muy sencillo, tanto como pensar en una carpeta de oficina que contiene dentro documentos y papeles importantes sobre nuestra empresa, o apuntes de clase, o dibujos, o incluso puede estar vacía. En un ordenador la idea de carpeta es similar, excepto por el hecho de que puede dentro contener más carpetas, y estas a su vez contener carpetas y así infinitamente hasta que agotemos toda la capacidad de nuestro dispositivo de almacenamiento.

Gráficamente es todo muy intuitivo, al menos en Windows: click derecho con el ratón, y nueva carpeta. Pero esto detrás tiene su teoría, como que cada carpeta que creamos forma una rama de un árbol enorme, que es nuestro sistema operativo. Todo sistema tiene dentro una estructura de árbol o raíz, una carpeta o directorio del que sale absolutamente todo lo demás. En Windows, por ejemplo, esta carpeta es la unidad de almacenamiento del equipo, es decir, el disco duro. En otros sistemas como Linux, todo parte de una carpeta raíz, no de un disco en sí.

¿Y para qué sirve exactamente esto? Pues para aprender, principalmente, a movernos por nuestro sistema operativo. Cada aplicación, cada icono, cada imagen y cada letra de código que compone nuestro ordenador en su totalidad se haya dentro de este árbol. Incluso el registro del sistema tiene estructura de árbol.

Muy bien, pero, ¿qué es una estructura de árbol? Es una idea imprescindible en Informática, pues la estructura en árbol se aplica a muchos campos de la misma, como la estructura de Internet o de las páginas web, la de un programa, o la forma que tiene el sistema de saber dónde está cada cosa. Vale, gráficamente podemos acceder también a cualquier lado, pero desde consola queda todo mucho más claro, pues vemos cómo funciona el sistema operativo por dentro.

Para empezar, podemos abrir la terminal básica de Windows, CMD, o bien la terminal de PowerShell:












La primera imagen está relacionada con la terminal CMD, mientras que la pantallita azul es el editor de PowerShell ISE. En la terminal, nada más abrirla, podemos ver que sale la siguiente ruta absoluta: C:\Users\AlexSoftware\Desktop; esto indica que nos hallamos en ese directorio concreto, partiendo desde el directorio raíz que es mi disco duro: la unidad C\, pasando por el directorio Users que está dentro de C, y ya dentro de los usuarios en el mío, para finalmente terminar en el Escritorio, el Desktop.

Si nos fijamos, el comando "cd" (change directory), nos permite movernos entre directorios, para arriba o para abajo, a donde queramos acceder dentro del árbol, pero si lanzamos el comando tal cual, nos devolverá la posición actual, que es la misma que nos sale en el prompt.

En PowerShell, en cambio, hemos aparecido en otra ruta totalmente distinta: C:\Windows\System32\WindowsPowerShell\v1.0; es decir, la ruta en la que se encuentra nuestra aplicación llamada PowerShell dentro de nuestro sistema (o disco duro, pero como solo tengo uno conectado, pues sí, dentro de nuestro sistema). Y la forma de comprobar nuestra ruta es algo distinta que la terminal, pues podemos tanto usar el comando "cd" (propio de la terminal), como el comando "Get-Location" (propio de PowerShell), o bien "pwd" (propio de sistemas Unix). No obstante, en PowerShell no nos devolverá solo la ruta, sino que nos devolverá un objeto cuya propiedad o atributo será Path (camino o ruta), y su valor será nuestra posición actual dentro del árbol.

Pero... Igualmente, ¿de qué nos sirve esto si podemos movernos de una carpeta a otra directamente con un doble click? Pues entre muchas otras cosas que escapan al entendimiento de un usuario estándar, buscar dónde tenemos algo concreto en caso de que tengamos ahí un laberinto caótico de directorios, porque podemos ver directamente la estructura del árbol desde el punto en el que estamos con el comando "tree" (árbol):



















Desde el propio Escritorio, nos hemos movido mediante el "cd" a una carpeta llamada IncioDelArbol, y ahí dentro hemos creado dos carpetas mas con "mkdir" (make directory), entramos en la primera y creamos un fichero de texto llamado hoja.txt cuyo contenido es arbol. Luego volvemos al directorio padre (el anterior en la estructura, es decir, IniciodelArbol), y lanzamos el tree.

Podemos ver con claridad que desde nuestra posición actual, el árbol se divide en dos ramas, o directorios, que son los que hemos creado. Si tuviésemos muchos directorios y archivos ahí dentro, podríamos hacer una búsqueda rápida para saber si se encuentra ahí o no el fichero que buscamos (una canción que queramos escuchar), en caso de haber olvidado donde lo hemos guardado, y así poder abrirlo sin necesidad de ir gráficamente carpeta a carpeta haciendo doble click todo el rato. Nada mal, ¿cierto?

Ahora bien, dentro de nuestra estructura de árbol, tenemos directorios padres, directorios hermanos y directorios hijos:

-Los directorios hijos de InicioDelArbol son Rama1 y Rama2, accedemos a ellos usando el prefijo ".\" antes de su nombre, donde el punto indica nuestro directorio actual y la barrita, es la predefinida por sistemas Windows (desde nuestro directorio actual, accedemos a Rama1); en sistemas Unix la barrita es invertida.

-Un directorio hermano es aquel que está en nuestro directorio actual, por ejemplo, Rama1 y rama2 son directorios hermanos, y podemos acceder a ellos sin el puntito y la barra.

-Los directorios padres son los que están por encima en el árbol. Tenemos que darnos cuenta de que al acceder a un directorio hijo, bajamos, y al volver a un directorio padre, subimos. El directorio padre de InicioDelArbol es el Escritorio, y el padre de Rama1 y Rama2 es InicioDelArbol. Accedemos al directorio padre indicándolo con el puntito (tardamos más), o bien con dos puntitos: cd ..

El tree finalmente nos muestra por pantalla la estructura del árbol desde nuestra posición actual, aunque podemos indicarle mediante una ruta absoluta el directorio desde el que queremos ver la estructura de árbol, como por ejemplo: tree C:\; lo que nos mostrará absolutamente todos los directorios de nuestro sistema.

Esto está bastante bien para hacer búsquedas de ficheros que queramos abrir, y ejecutarlos desde consola con un script, sin necesidad de acudir gráficamente ahí, pero claro, los administradores van mucho más lejos, como recorrer directorios, ficheros, hacer copias de seguridad en una ruta concreta...

Y bueno, hasta aquí todo lo que pueda explicar sobre la estructura de árbol de nuestro querido Windows. ¡Hasta otra!

No hay comentarios: