Comandos pushd, popd e dirs - Manipulando a pilha de diretórios do Linux
Tabla de contenido:
pushd
y
popd
son comandos que le permiten trabajar con la pila de directorios y cambiar el directorio de trabajo actual en Linux y otros sistemas operativos similares a Unix. Aunque
pushd
y
popd
son
popd
muy potentes y útiles, están subestimados y rara vez se usan.
En este tutorial, le mostraremos cómo usar los comandos
pushd
y
popd
para navegar por el árbol de directorios de su sistema.
Pila de directorio
La pila de directorios es una lista de directorios a los que ha navegado previamente. El contenido de la pila de directorios se puede ver usando el comando
dirs
. Los directorios se agregan a la pila cuando se cambia a un directorio utilizando el comando
pushd
y se eliminan con el comando
popd
.
El directorio de trabajo actual siempre está en la parte superior de la pila de directorios. El directorio de trabajo actual es el directorio (carpeta) en el que el usuario está trabajando actualmente. Cada vez que interactúa con la línea de comando, está trabajando dentro de un directorio.
El comando
pwd
permite averiguar en qué directorio se encuentra actualmente.
Al navegar por el sistema de archivos, use la tecla
Tab
para completar automáticamente los nombres de los directorios. Agregar una barra diagonal al final del nombre del directorio es opcional.
pushd
,
popd
y
dirs
son componentes integrados de shell, y su comportamiento puede diferir ligeramente de un shell a otro. Cubriremos la versión integrada de Bash de los comandos.
Comando
pushd
La sintaxis para el comando
pushd
es la siguiente:
pushd
Por ejemplo, para guardar el directorio actual en la parte superior de la pila de directorios y cambiar a
/var/www
, escribiría:
~$ pushd /var/www
En caso de éxito, el comando anterior imprimirá la pila de directorios.
~
es el directorio en el que
pushd
comando
pushd
. El símbolo de tilde
~
significa directorio de inicio.
/var/www ~
pushd
primero guarda el directorio de trabajo actual en la parte superior de la pila y luego navega al directorio dado. Como el directorio actual siempre debe estar en la parte superior de la pila, una vez cambiado, el nuevo directorio actual pasa a la parte superior de la pila pero no se guarda en la pila. Para guardarlo debes invocar
pushd
desde él. Si usa
cd
para cambiar a otro directorio, se perderá el elemento superior de la pila,
Agreguemos otro directorio a la pila:
/var/www$ pushd /opt
/opt /var/www ~
Para suprimir el cambio predeterminado al directorio, use la opción
-n
. Por ejemplo, para agregar el directorio
/usr/local
a la pila pero no cambiarlo, escriba:
/opt$ pushd -n /usr/local
Como el directorio actual (que siempre está en la parte superior) no cambia, el directorio
/usr/local
se agrega en segundo lugar desde la parte superior de la pila:
/opt /usr/local /var/www ~
El
pushd
acepta dos opciones,
+N
y
-N
que le permiten navegar al
Nth
directorio de la pila. La opción
+N
cambia al
Nth
elemento de la lista de la pila contando de izquierda a derecha comenzando con cero. Cuando se usa
-N
la dirección del conteo es de derecha a izquierda.
Para ilustrar mejor las opciones, imprimamos la pila de directorios actual:
/opt$ dirs -l -v
La salida mostrará una lista indexada de la pila de directorios:
0 /opt 1 /usr/local 2 /var/www 3 /home/linuxize
Al contar de arriba a abajo (o de izquierda a derecha), el índice del directorio es
2
.
pushd +2
Al contar de abajo hacia arriba, el índice del directorio
/var/www
es
1
.
pushd -1.
Cuando se usa sin ningún argumento,
pushd
alternará los dos directorios superiores y
pushd
el nuevo top en el directorio actual. Esto es lo mismo que cuando se usa el comando
cd -
.
Comando
popd
El comando
popd
toma la forma:
popd
Cuando se usa sin argumento,
popd
elimina el directorio superior de la pila y navega al nuevo directorio superior.
Digamos que tenemos la siguiente pila de directorios:
/opt /usr/local /var/www /etc/nginx ~
/opt$ popd
La salida mostrará la nueva pila de directorios:
/usr/local /var/www /etc/nginx ~
La opción
-n
suprime el cambio de directorio predeterminado y elimina el segundo elemento de la pila:
/opt$ popd -n
/usr/local /etc/nginx ~
Al igual que
pushd
,
popd
también acepta las opciones
+N
y
-N
que se pueden usar para eliminar el
Nth
directorio de la pila.
/opt$ popd +1
Conclusión
Normalmente, usaría el comando
cd
para moverse de un directorio a otro. Sin embargo, si pasa mucho tiempo en la línea de comandos, los comandos
pushd
y
popd
aumentarán su productividad y eficiencia.
Extensión de Mozilla en comandos escritos
Una extensión experimental de Mozilla Firefox permite a las personas sustituir comandos de texto simples para tareas Web complejas.
Comandos básicos de Linux
Saber cómo usar la línea de comando puede ser muy útil. En este artículo, revisaremos algunos de los comandos de Linux más comunes que los administradores de sistemas de Linux usan a diario.
Cómo ejecutar comandos de Linux en segundo plano
En este artículo hablaremos sobre el proceso en segundo plano es Linux. Le mostraremos cómo iniciar un comando en segundo plano y cómo mantener el proceso en ejecución después de que se cierre la sesión de shell.







