Movernos por los directorios (pushd y popd)

Imagen de banyut
0 puntos

Extraido de banyut

Todos sabemos que con cd nos podemos desplazar entre directorios, pero seguro que a más de uno se le escapa alguna de sus opciones.

Con el comando pwd que nos indica el path donde nos encontramos, podremos comprobar el resultado de los siguientes comandos.

cd /home/banyut/Escritorio
Nos lleva al path indicado en este ejemplo a mi escritorio.
cd .
Nos deja en el directorio actual.
cd ..
Retrocede un directorio si estoy en /home/banyut/Escritorio, cd .. me dejara en /home/banyut
cd /
Nos deja en el directorio raiz.
cd ~
Nos lleva al home
cd -
Nos lleva al último directorio donde hemos estado.

Bueno quitando la ultima opción, posiblemente el resto ya las conocíais todas, ahora el que no se si conocerá mucha gente son los comandos
pushd i popd.
Estos comandos lo que hacen es interactuar con una pila de directorios, el comando pushd, introduce un directorio en la pila y popd lo extrae.

Su uso es muy sencillo, imaginemos que tenemos que trabajar en dos directorios distintos y que tenemos que pasar de uno a otro repetidamente.

# cd /path/dir1
# pushd /path/dir2

Ahora podremos movernos de un directorio a otro tecleando.

# pushd
# pushd

Vemos como nos movemos entre uno y otro. Esto lo tenemos con cd -, pero ahora lo que haremos será aumentar el numero de directorios.

# cd /path/dir1
# pushd /path/dir2
# pushd /path/dir3
# pushd /path/dir4

Ahora en la pila tenemos cuatro elementos, si hacemos lo mismo que antes nos encontramos en que con pushd, solo nos movemos entre los dos últimos.

Probaremos de esta otra manera.

# pushd +1
# pushd +1

Je je je, ahora esta mejor, parece que ya le vemos más utilidad, podemos usar un signo menos para correr la lista al reves o dirigirnos directamente a algún directorio en concreto.

# pushd +2
# pushd -3

Cuando usamos pushd, se nos muestra en la consola el contenido de la pila, pero tal como vamos introduciendo comando estos se pierden, una manera de ver el contenido de la pila es mediante.

# dirs

Disponemos de diferentes vistas para la pila.

# dirs -p

Nos muestra los elementos de la pila por filas, mucho mejor donde vamos a parar.

# dirs -v

También nos muestra los elementos de la pila por filas, pero esta vez los precede de un número de orden, para dirigirnos a una entrada en concreto solo tendremos que poner ese número en pushd, por ejemplo para ir a /etc/X11.

# dirs -v
0 /usr
1 /home/banyut/tmp
2 /etc/X11
# pushd +2

También podemos borrar todos los elementos de la lista.

# dirs -c

El comando dirs también nos permite recuperar los elementos de la pila.

# dirs +1
/home/banyut/tmp

Lo que no abre otra puerta para desplazarnos.

# cd `dirs +1`

Y ya solo nos queda el olvidado popd, si pushd nos colocaba un elemento en la pila, este o saca. Mediante llamadas a popd iremos retrocediendo en la pila hasta vaciarla.

# cd /path/dir1
# pushd /path/dir2
# pushd /path/dir3
# pushd /path/dir4
# popd
# popd
# popd
# popd

Con cada popd , nos desplazamos al directorio que se encuentra en la cima de la pila y lo eliminamos (de la pila claro).

También podemos eliminar de la pila sin desplazarnos.

# dirs -v
0 /usr
1 /home/banyut/tmp
2 /etc/X11
# popd +1
# dirs -v
0 /usr
1 /etc/X11

Bueno, eso es todo por hoy, espero haber sido de utilidad.

---
abre tu mente, 1 + 1 = 10, no es siempre 2