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)
- pushd /opt/joomla-1.5.2-0/apache2/
- pushd /tmp/plugtmp/
- 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 hasta ahora
Replica







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.
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
)
“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.
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
No conocía pushd y popdpueden resultar útiles.
Gracias
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
Tiene ‘usté’ toda la razón Don ArturoM. Gracias por el apunte
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)
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
Si te funciona junto no hay más que “discutir” pues a mi siempre me daba por separar el comando (cd) del parámetro (..) debido a mi idiosincrasia personal
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
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)