GNU/Linux >> Tutoriales Linux >  >> Linux

Consejos de navegación de la línea de comandos de Linux:los conceptos básicos de los comandos pushd y popd

En la primera parte de esta serie, nos enfocamos en el aspecto de navegación de la línea de comandos en Linux discutiendo el uso del cd - dominio. También se discutieron algunos otros puntos/conceptos relacionados. Llevando la discusión más allá, en este artículo, discutiremos cómo puede tener una experiencia de navegación más rápida en la línea de comandos de Linux usando los comandos pushd y popd.

Antes de continuar, vale la pena compartir que todas las instrucciones y comandos mencionados a partir de ahora se han probado en Ubuntu 14.04 y Bash Shell (versión 4.3.11).

Los conceptos básicos de los comandos pushd y popd

Para comprender mejor qué hacen exactamente los comandos pushd y popd, analicemos primero el concepto de pila. Imagine un área vacía en la losa de su cocina y ahora imagine un juego de platos que desea mantener allí. ¿Qué vas a hacer? Simple, manténgalos uno sobre el otro.

Entonces, al final de todo el proceso, el primer plato que guardaste en la losa termina siendo el último plato de la pila, y el último plato que tenías en la mano termina siendo el primer plato de la pila. Ahora, cuando necesite un plato, elija el que está en la parte superior de la pila, utilícelo y luego elija el siguiente cuando sea necesario.

Similar es el concepto de los comandos pushd y popd. Hay una pila de directorios en su sistema Linux donde puede acumular rutas de directorios para uso futuro. Puede ver rápidamente el contenido de la pila en cualquier momento utilizando los dirs comando.

Aquí hay un ejemplo que muestra la salida del comando dirs en mi sistema inmediatamente después de que se inició la terminal de línea de comandos:

$ dirs
~

La tilde (~) en la salida significa que la pila de directorios actualmente solo contiene el directorio de inicio del usuario.

Continuando, la operación de almacenar una ruta de directorio y eliminarla se realiza mediante los comandos pushd y popd. Usar pushd es muy fácil:simplemente pase la ruta que desea almacenar en la pila de directorios como argumento para este comando. He aquí un ejemplo:

pushd /home/himanshu/Downloads/

Lo que hace el comando anterior es cambiar su directorio de trabajo actual al directorio que ha pasado como argumento, y también agrega la ruta a la pila de directorios. Para que las cosas sean más cómodas para el usuario, el comando pushd produce el contenido de la pila de directorios en su salida. Entonces, cuando se ejecutó el comando anterior, se produjo el siguiente resultado:

~/Downloads ~

El resultado revela que ahora hay dos rutas de directorio en la pila:una es el directorio de inicio del usuario y otra es el directorio de Descargas del usuario. El orden en que se guardan es:el directorio de inicio está en la parte inferior y el directorio de descargas recién agregado está arriba.

Para verificar que lo que dice pushd en su salida es cierto, también puede usar el comando dirs:

$ dirs
~/Downloads ~

Entonces puede ver que el comando dirs también produjo el mismo resultado.

Emitamos un par de comandos pushd más:

$ pushd /usr/lib/; pushd /home/himanshu/Desktop/
/usr/lib ~/Downloads ~
~/Desktop /usr/lib ~/Downloads ~

Entonces, la pila de directorios ahora contiene un total de cuatro rutas de directorio, donde el directorio de inicio (~) está en la parte inferior y el directorio del escritorio del usuario está en la parte superior.

Siempre tenga en cuenta que el encabezado de la pila es el directorio en el que se encuentra actualmente. Esto significa que ahora nuestro directorio de trabajo actual es ~/Desktop.

Ahora, suponga que desea volver al directorio /usr/lib, por lo que todo lo que tiene que hacer es ejecutar el comando popd:

$ popd
/usr/lib ~/Downloads ~

El comando popd no solo cambiará su directorio actual a /usr/lib, sino que también eliminará ~/Desktop de la pila de directorios, como lo demuestra el resultado que produjo el comando. De esta forma, el comando popd le permitirá navegar por estos directorios en el orden inverso.

Algunos puntos avanzados

Ahora que hemos discutido los conceptos básicos de los comandos pushd y popd, pasemos a otros detalles relacionados con estos comandos. Para empezar, estos comandos también le permiten manipular la pila de directorios. Por ejemplo, suponga que así es como se ve su pila de directorios:

$ dirs
~/Desktop /usr/lib ~ ~/Downloads

Ahora, digamos que el requisito es cambiar el orden de las rutas de directorio en la pila de manera que el elemento superior (~/Desktop) se encuentre en la parte inferior y el resto se mueva hacia arriba un lugar cada uno. Esto se puede lograr usando el siguiente comando:

pushd +1

Y esto es lo que hace el comando anterior con la pila de directorios:

$ dirs
/usr/lib ~ ~/Downloads ~/Desktop

Entonces vemos que el orden de los elementos en la pila de directorios ha cambiado y ahora es el mismo que queríamos. Por supuesto, puede hacer que los elementos de la pila de directorios se muevan tantas veces como desee. Por ejemplo, el siguiente comando los moverá hacia arriba dos veces:

$ pushd +2
~/Downloads ~/Desktop /usr/lib ~

También puede usar índices negativos:

$ pushd -1
/usr/lib ~ ~/Downloads ~/Desktop

De manera similar, puede usar esta técnica con el comando popd para eliminar cualquier entrada de la pila de directorios sin salir de su directorio de trabajo actual. Por ejemplo, si desea eliminar la tercera entrada desde arriba (que es ~/Downloads actualmente) usando popd, puede ejecutar el siguiente comando:

popd +2

Tenga en cuenta que el índice de la pila comienza con 0, por lo que hemos usado 2 para acceder a la tercera entrada.

Entonces la pila de directorios ahora contiene:

$ dirs
/usr/lib ~ ~/Desktop

Confirmando que la entrada ha sido eliminada.

Si, por algún motivo, le resulta difícil recordar el orden en que se colocan los elementos en la pila de directorios, así como los índices que contienen, puede utilizar la opción de línea de comando -v con el comando dirs. He aquí un ejemplo:

$ dirs -v
0 /usr/lib
1 ~
2 ~/Desktop

Como probablemente habrá adivinado, los números de la izquierda son índices y lo que les sigue es la ruta del directorio posicionada en ese índice.

Nota :Use la opción de línea de comando -c con el comando dirs para borrar la pila de directorios.

Ahora analicemos brevemente el uso práctico de los comandos popd y pushd. Si bien a primera vista pueden parecer un poco complicados de usar, estos comandos son útiles al escribir scripts de shell:no necesita recordar de dónde viene; simplemente haga un popd y volverá al directorio de donde vino.

Los guionistas experimentados suelen utilizar estos comandos de la siguiente manera:

popd >/dev/null 2>&1

El comando mencionado anteriormente se asegura de que popd permanezca en silencio (no produzca ningún resultado). Del mismo modo, también puedes silenciar pushd.

Los administradores de servidores Linux también utilizan los comandos pushd y popd, que generalmente se mueven entre un puñado de directorios iguales todo el tiempo. Aquí se explican otros casos de uso realmente informativos.

Conclusión

De acuerdo, el concepto de pushd y popd no es muy sencillo. Pero todo lo que requiere es un poco de práctica, sí, necesitas ensuciarte las manos. Pasa algún tiempo con estos comandos y te empezarán a gustar, especialmente si hay un caso de uso en el que te hacen la vida más fácil.


Linux
  1. Ver comandos y tareas con el comando watch de Linux

  2. 8 consejos para la línea de comandos de Linux

  3. Use 'pushd' y 'popd' para la navegación eficiente del sistema de archivos en Linux

  4. Consejos/trucos de navegación de la línea de comandos de Linux 3:la variable de entorno CDPATH

  5. Conceptos básicos de la línea de comandos de Linux:ejecución de comandos desde la línea de comandos

Cómo usar los comandos Pushd, Popd y Dirs para una navegación CLI más rápida

Conceptos básicos de la línea de comandos de Linux:sudo

5 comandos para ver el contenido de un archivo en la línea de comandos de Linux

Encontrar los archivos y carpetas más grandes en la línea de comandos de Linux

19 consejos y trucos útiles para la línea de comandos de Linux

Conceptos básicos de la línea de comandos de Linux:trabajar con archivos y directorios