Navegar por los directorios desde la terminal del sistema

La inmensa mayoría de personas que han trabajado con la terminal de Linux saben que para Cambiar de Directorio desde la terminal se usa el comando cd (Cambiar Directorio).

Tras algún que otro cabezazo (o lectura en Internet) se descubre que con

cd ..

se vuelve al directorio anterior (o directorio padre).

Pero llega un momento en el que tener que estar cambiando de un directorio a otro se convierte en un auténtico suplicio.

Por fortuna en Linux existen un par de comandos (no tan ampliamente conocidos) que nos permiten ir “anotando” aquellos directorios que nos van haciendo falta y volver fácilmente a ellos.

En concreto estamos hablando de pushd y popd.

Anotar directorios con pushd

Este comando (cuyos parámetros completos podéis consultar) os permite anotar cualquier directorio para su posterior uso con el comando que veremos a continuación.

Debe tenerse en cuenta que la estructura de datos utilizada para almacenar los directorios anotados es una “pila” (o estructura LIFO) por lo que el último directorio que “apuntemos” será el primero que podamos utilizar.

Para ir incluyendo directorios en la lista basta con ejecutar

pushd RUTA-DIRECTORIO-DESEADO

NOTA: Por defecto, el directorio actual siempre es anotado cuando se invoca el comando

Si lanzamos la siguiente secuencia de comandos (desde el directorio /tmp)

  1. pushd /opt/joomla-1.5.2-0/apache2/
  2. pushd /tmp/plugtmp/
  3. pushd /boot/grub/

El contenido de la pila de anotaciones sería (y así nos lo muestra la ejecución del paso 3)

/boot/grub /tmp/plugtmp /opt/joomla-1.5.2-0/apache2 /tmp

Si nos cambiamos al directorio $HOME (con un cd ~ o simplemente ejecutando cd) y seguimos utilizando el comando pushd de la siguiente forma

pushd /etc/init.d/

Observaremos que nos devuelve

/etc/init.d ~ /tmp/plugtmp /opt/joomla-1.5.2-0/apache2 /tmp

Donde se ha incluido tanto el directorio que le hemos indicado (/etc/init.d/) como el directorio en el que nos encontrábamos (en nuestro caso el $HOME o ~)

NOTA: Cada vez que ejecutamos un pushd nos ubica en el directorio que indiquemos.

Recuperar directorios con popd

Simplemente ejecutando un popd el sistema nos ubicará (como si hubiésemos lanzado un cd) en el directorio que se encuentra en la primera posición de la “pila de anotaciones”.

NOTA: Igual que con las patatas “Pringles“: “cuando haces pop ya no hay stop“. O lo que es lo mismo… cada vez que hacemos pop se elimina la ruta de la “pila de anotaciones”.

Otros comandos interesantes para cambiar de directorio

Ir al directorio $HOME

Como hemos visto sirve con lanzar un simple

cd

Volver al último directorio visitado

Cuando ejecutas un cd y deseas volver al directorio en el que te encontrabas anteriormente basta con un

cd –

Conclusión

Espero no haberos aburrido con los comandos pushd y popd y que de paso hayáis aprendido algunos truquillos del comando cd.

No son complicados de usar y a poco que los uséis le iréis cogiendo el truquillo ahorrando escribir más de la cuenta.

En el próximo capítulo

Mañana espero poder deleitaros con un pequeño (pero útil) truco que os permita descargar ficheros de Rapidshare o Megaupload (por poner dos ejemplos muy conocidos) sin las dichosas restricciones que suelen imponer.

No es el método definitivo pero os va a proporcionar (sin instalar nada) una buena forma de descargar más de lo que actualmente permite.

¿Conoces alguna forma de hacerlo realmente infalible?

12 comentarios en “Navegar por los directorios desde la terminal del sistema

  1. Tcaos dijo:

    Hola, sólo una pequeña observación. Cuando dices:

    “Debe tenerse en cuenta que la estructura de datos utilizada para almacenar los directorios anotados es una “pila” (o estructura FIFO)”

    Según el mismo enlace que pones en wikipedia FIFO significa First In, First Out, por lo que

    “el último directorio que “apuntemos” será el primero que podamos utilizar”

    no sería correcto verdad?.
    En realidad creo que la mejor metáfora sería la lata de Pringles: último en entrar, primero en salir. O siguiendo la misma línea anterior, sería una estructura LIFO (Last In, First Out, jeje).

    Muy útil el artículo.

    Un saludo.

  2. Tienes toda la razón del mundo @TCaos (muchas gracias por la corrección; la subo al artículo).

    No te lo creerás pero ayer me dí cuenta del tema y lo corregí. El problema es que estuve ¡¡¡ 1 HORA !!! peleando con WordPress.com porque ha aparecido un nuevo fallo en el editor y cuando se incluye el atributo style en alguna etiqueta HTML ¡¡¡ se pierde todo el formato del artículo !!! (si observas éste es el único artículo que no tengo justificados los párrafos y en el que la imagen, con fondo transparente como suele ser habitual, tiene bordes)

    Tuve que recuperar n-cientas veces de los borradores y versiones del documento y en uno de esos cambios debió perderse la corrección (estaba demasiado “enfurruñado” insultando en arameo cual Mortadelo y Filemón 😦 )

  3. “Tras algún que otro cabezazo (o lectura en Internet) se descubre que con

    cd ..

    se vuelve al directorio anterior (o directorio padre).”

    Madre mía, esto es así al menos desde Ms-DOS que yo sepa (arqueología de sistemas 😉 )
    Muy útiles estos comandos, de los que te facilitan la vida casi sin darte cuenta.

  4. Jmoron dijo:

    Hace ya mucho tiempo que no comento, aunque te sigo leyendo des de el silencio. Solo darte ánimos y que sigas adelante con el blog compartiendo tus experiencias , muy bueno el post como siempre 🙂

  5. ArturoM dijo:

    Hola a todos,
    es cierto @RafaMJ que la orden cd.. proviene de los tiempos del DOS, pero debes darte cuenta de que la orden en linux en un “pelín” distinta, la diferencia es que entre cd y los dos puntos hay un espacio; si la usas sin el, linux te dirá que no reconoce la orden, y si usas el espacio en DOS, te dirá lo mismo.

    Saludos

  6. Perdonad ambos que discrepe al respecto (si no, no sería yo 😉 ) pero en MS-DOS también funcionaba con el espacio (no me atrevo a decir que no lo hiciese al juntar orden y parámetro pues hace eones que no toco ese añorado sistema operativo sniff, snifff)

  7. Yo sólo lo usaba junto, no sé si funcionaba por separado… Pero se puede probar. Estoy en la oficina rodeado de ‘windozers’… Si no me da la alergia al acercarme a uno, lo pruebo 😉

  8. ArturoM dijo:

    Hola a todos,
    pues si, debo darte la razón sr. vazquez, también funciona con espacio entre la orden y los dos puntos en el entorno DOS.
    Madre mía, que tiempos aquellos…

    Saludos

  9. Ni que lo diga Mr. Arturo: ¡ qué tiempos aquellos ! (Juventud divino tesoro, te vas para no volver…)

    Gracias por ser tan obstinado (y desconfiado de paso; que tengo mala memoria pero he peleado mucho con MS-DOS y hay cosas que se quedan grabadas en el subconsciente; sobre todo si son “traumáticas” jejeje)

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s