Androide

Comandos pushd y popd en linux

Comandos pushd, popd e dirs - Manipulando a pilha de diretórios do Linux

Comandos pushd, popd e dirs - Manipulando a pilha de diretórios do Linux

Tabla de contenido:

Anonim

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

/usr/local ~

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.

terminal de bash