GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo navegar directorios más rápido en Linux

Hoy vamos a aprender algunos trucos de productividad de la línea de comandos. Como ya sabe, usamos el comando "cd" para movernos entre una pila de directorios en sistemas operativos similares a Unix. En esta guía, le enseñaré cómo navegar más rápido por los directorios en Linux sin tener que usar el comando "cd" con frecuencia. Podría haber muchas maneras, ¡pero solo conozco los siguientes cinco métodos en este momento! Seguiré actualizando esta guía cuando encuentre algún método o utilidad para lograr esta tarea en los próximos días.

Cinco métodos diferentes para navegar directorios más rápido en Linux

Método 1:uso de los comandos "Pushd", "Popd" y "Dirs"

Este es el método más frecuente que uso todos los días para navegar entre una pila de directorios. Los comandos "Pushd", "Popd" y "Dirs" vienen preinstalados en la mayoría de las distribuciones de Linux, así que no se moleste con la instalación. Estos comandos de trío son bastante útiles cuando trabaja en una estructura de directorios y scripts profundos. Para obtener más detalles, consulte nuestra guía en el enlace que figura a continuación.

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

Método 2:Uso de la utilidad "bd"

La utilidad "bd" también lo ayuda a regresar rápidamente a un directorio principal específico sin tener que escribir repetidamente "cd ../../". en tu Bash.

Bd también está disponible en Debian extra y universo Ubuntu repositorios Por lo tanto, puede instalarlo usando el administrador de paquetes "apt-get" en Debian, Ubuntu y otros sistemas basados ​​en DEB como se muestra a continuación:

$ sudo apt-get update
$ sudo apt-get install bd

Para otras distribuciones, puede instalar como se muestra a continuación.

$ sudo wget --no-check-certificate -O /usr/local/bin/bd https://raw.github.com/vigneshwaranr/bd/master/bd
$ sudo chmod +rx /usr/local/bin/bd
$ echo 'alias bd=". bd -si"' >> ~/.bashrc
$ source ~/.bashrc

Para habilitar la finalización automática, ejecute:

$ sudo wget -O /etc/bash_completion.d/bd https://raw.github.com/vigneshwaranr/bd/master/bash_completion.d/bd
$ source /etc/bash_completion.d/bd

La utilidad Bd ahora se ha instalado. Veamos algunos ejemplos para entender cómo moverse rápidamente a través de la pila de directorios usando esta herramienta.

Crea algunos directorios.

$ mkdir -p dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9/dir10

El comando anterior creará una jerarquía de directorios. Revisemos la estructura de directorios usando el comando:

$ tree dir1/
dir1/
└── dir2
 └── dir3
 └── dir4
 └── dir5
 └── dir6
 └── dir7
 └── dir8
 └── dir9
 └── dir10

9 directories, 0 files
, 0

Muy bien, ahora tenemos 10 directorios. Digamos que actualmente se encuentra en el directorio 7, es decir, dir7.

$ pwd
/home/sk/dir1/dir2/dir3/dir4/dir5/dir6/dir7

Quiere pasar a dir3. Normalmente escribiría:

$ cd /home/sk/dir1/dir2/dir3

¿Derecha? ¡sí! ¡Pero no es necesario! Para volver a dir3, simplemente escriba:

$ bd dir3

Ahora estarás en dir3.

Navegue directorios más rápido en Linux usando la utilidad "bd"

Fácil, ¿no? Es compatible con la función de autocompletar, por lo que solo puede escribir el nombre parcial de un directorio y presionar la tecla de tabulación para completar automáticamente la ruta completa.

Para verificar el contenido de un directorio principal específico, no es necesario que esté dentro de ese directorio en particular. En su lugar, simplemente escriba:

$ ls `bd dir1`

El comando anterior mostrará el contenido de dir1 de su directorio de trabajo actual.

Para obtener más detalles, consulte la siguiente página de GitHub.

  • repositorio bd GitHub

Método 3:Uso de la secuencia de comandos "Up" Shell

El "Up" es un script de shell que le permite moverse rápidamente a su directorio principal. Funciona bien en muchos shells populares como Bash, Fish y Zsh, etc. ¡La instalación también es absolutamente fácil!

Para instalar "Up" en Bash , ejecute los siguientes comandos uno a uno:

$ curl --create-dirs -o ~/.config/up/up.sh https://raw.githubusercontent.com/shannonmoeller/up/master/up.sh
$ echo 'source ~/.config/up/up.sh' >> ~/.bashrc

El script up registra la función "up" y algunas funciones de finalización a través de su archivo ".bashrc".

Actualice los cambios usando el comando:

$ source ~/.bashrc

En zsh :

$ curl --create-dirs -o ~/.config/up/up.sh https://raw.githubusercontent.com/shannonmoeller/up/master/up.sh
$ echo 'source ~/.config/up/up.sh' >> ~/.zshrc

El script up registra la función "up" y algunas funciones de finalización a través de su archivo ".zshrc".

Actualice los cambios usando el comando:

$ source ~/.zshrc

En peces :

$ curl --create-dirs -o ~/.config/up/up.fish https://raw.githubusercontent.com/shannonmoeller/up/master/up.fish
$ source ~/.config/up/up.fish

El script up registra la función "up" y algunas funciones de finalización a través de "funcsave".

Ahora es el momento de ver algunos ejemplos.

Vamos a crear algunos directorios.

$ mkdir -p dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9/dir10

Digamos que estás en el séptimo directorio, es decir, dir7.

$ pwd
/home/sk/dir1/dir2/dir3/dir4/dir5/dir6/dir7

Quiere pasar a dir3. Usando el comando "cd", podemos hacer esto escribiendo el siguiente comando:

$ cd /home/sk/dir1/dir2/dir3

Pero es realmente fácil volver a dir3 usando el script "arriba":

$ up dir3

Eso es todo. Ahora estarás en dir3. Para subir un directorio, simplemente escriba:

$ up 1

Para retroceder dos tipos de directorios:

$ up 2

Es así de simple. ¿Escribí la ruta completa? No. También es compatible con la finalización de pestañas. Simplemente escriba el nombre del directorio parcial y presione la pestaña para completar la ruta completa.

Para obtener más detalles, consulte la página de GitHub.

  • Subir al repositorio de GitHub

Tenga en cuenta que las herramientas "bd" y "up" solo pueden ayudarlo a retroceder, es decir, al directorio principal del directorio de trabajo actual. No puedes avanzar. Si desea cambiar a dir10 desde dir5, ¡no puede! En su lugar, debe usar el comando "cd" para cambiar a dir10. ¡Estas dos utilidades están diseñadas para moverlo rápidamente al directorio principal!

Método 4:Uso de la herramienta "Acceso directo"

Este es otro método útil para cambiar entre diferentes directorios rápida y fácilmente. Esto es algo similar a alias dominio. En este método, creamos accesos directos a directorios de uso frecuente y usamos el nombre del acceso directo para ir a ese directorio respectivo sin tener que escribir la ruta. Si está trabajando en una estructura de directorios profunda y una pila de directorios, este método le ahorrará mucho tiempo. Puede aprender cómo funciona en la guía que se proporciona a continuación.

  • Cree accesos directos a los directorios de uso frecuente en su shell

Método 5:Uso de la variable de entorno "CDPATH"

Este método no requiere ninguna instalación. PATO CDPA es una variable de entorno. Es algo similar a PATH variable que contiene muchas rutas diferentes concatenadas usando ':' (colon). La principal diferencia entre las variables PATH y CDPATH es que la variable PATH se puede usar con todos los comandos, mientras que CDPATH solo funciona para cd comando.

Tengo la siguiente estructura de directorios.

Estructura del directorio

Como puede ver, hay cuatro directorios secundarios bajo un directorio principal llamado "ostechnix".

Ahora agregue este directorio principal a CDPATH usando el comando:

$ export CDPATH=~/ostechnix

Ahora puede acceder instantáneamente a los subdirectorios del directorio principal (es decir, ~/ostechnix en nuestro caso) desde cualquier parte del sistema de archivos.

Por ejemplo, actualmente estoy en /var/mail/ ubicación.

salida de comando pwd

Para cd en ~/ostechnix/Linux/ directorio, no tenemos que usar la ruta completa del directorio como se muestra a continuación:

$ cd ~/ostechnix/Linux

En su lugar, simplemente mencione el nombre del subdirectorio al que desea cambiar:

$ cd Linux

Automáticamente cd a ~/ostechnix/Linux directorio al instante.

variable de entorno cdpath

Como puede ver en el resultado anterior, no usé "cd ". En su lugar, simplemente usé el comando "cd ".

Tenga en cuenta que CDPATH le permitirá navegar rápidamente a un solo directorio secundario del directorio principal establecido en la variable CDPATH. No ayuda mucho para navegar por una pila de directorios (directorios dentro de subdirectorios, por supuesto).

Para encontrar los valores de la variable CDPATH, ejecute:

$ echo $CDPATH

La salida de muestra sería:

/home/sk/ostechnix

Establecer varios valores en CDPATH

Similar a la variable PATH, también podemos establecer varios valores (más de un directorio) en CDPATH separados por dos puntos (:).

$ export CDPATH=.:~/ostechnix:/etc:/var:/opt

Haga que los cambios sean persistentes

Como ya sabe, el comando anterior (exportar) solo mantendrá los valores de CDPATH hasta el próximo reinicio. Para establecer permanentemente los valores de CDPATH, simplemente agréguelos a su ~/.bashrc o ~/.bash_profile archivos.

$ vi ~/.bash_profile

Agregue los valores:

export CDPATH=.:~/ostechnix:/etc:/var:/opt

Presiona ESC clave y escriba :wq para guardar y salir.

Aplicar los cambios usando el comando:

$ source ~/.bash_profile

Borrar CDPATH

Para borrar los valores de CDPATH, use export CDPATH=”” . O simplemente elimine la línea completa de ~/.bashrc o ~/.bash_profile archivos.

En este artículo, ha aprendido las diferentes formas de navegar por la pila de directorios de forma más rápida y sencilla en Linux. Como puede ver, no es tan difícil navegar más rápido por una pila de directorios. Ahora deja de escribir "cd ../../.." sin parar usando estas herramientas. Si conoce alguna otra herramienta o método que valga la pena probar para navegar directorios más rápido, no dude en hacérnoslo saber en la sección de comentarios a continuación. Los revisaré y agregaré en esta guía.


Linux
  1. Cómo buscar y eliminar directorios recursivamente en Linux

  2. Cómo cambiar el nombre de un directorio en Linux

  3. ¿Cómo recorrer directorios en Linux?

  4. ¿Cómo enumerar recursivamente los directorios en C en Linux?

  5. Subir varios directorios en linux

Cómo cambiar el nombre de los directorios en Linux

Cómo comparar directorios con Meld en Linux

Cómo crear directorios desde un archivo de texto en Linux

Cómo encontrar y eliminar directorios vacíos en Linux

Cómo Gzip archivos grandes (100GB+) más rápido en Linux

Cómo enumerar solo directorios en Linux