Este artículo es parte de la serie Sugerencias de productividad para geeks en curso. cd es uno de los comandos más utilizados durante una sesión de Unix. En este artículo, proporcioné 6 trucos de comandos de cd, que aumentarán su productividad al instante y facilitarán la navegación por la estructura de directorios desde la línea de comandos.
Truco #1:Usa CDPATH para definir el directorio base para el comando cd
Si realiza cd con frecuencia en subdirectorios de un directorio principal específico, puede configurar CDPATH en el directorio principal y ejecutar cd en los subdirectorios sin proporcionar la ruta del directorio principal, como se explica a continuación.
[ramesh@dev-db ~]# pwd /home/ramesh [ramesh@dev-db ~]# cd mail -bash: cd: mail: No such file or directory [Note: This is looking for mail directory under current directory] [ramesh@dev-db ~]# export CDPATH=/etc [ramesh@dev-db ~]# cd mail [Note: This is looking for mail under /etc and not under current directory] [ramesh@dev-db /etc/mail]# pwd /etc/mail
Para que este cambio sea permanente, agregue export CDPATH=/etc a su ~/.bash_profile
Este truco puede ser muy útil en las siguientes situaciones:
- Los administradores de bases de datos de Oracle que trabajan con frecuencia con $ORACLE_HOME pueden establecer la variable CDPATH en la página de inicio de Oracle
- Los administradores de sistemas de Unix que trabajan con frecuencia en /etc, pueden establecer la variable CDPATH en /etc
- Los desarrolladores que trabajan con frecuencia en el directorio de proyectos /home/projects, pueden establecer la variable CDPATH en /home/projects
- Los usuarios finales que acceden con frecuencia a los subdirectorios de su directorio de inicio pueden establecer la variable CDPATH en ~ (directorio de inicio)
Truco n.° 2:use un alias de cd para navegar por el directorio de manera eficaz
Cuando navega por una estructura de directorios muy larga, puede estar usando cd ..\..\ con múltiples ..\ dependiendo de cuántos directorios desee subir, como se muestra a continuación.
# mkdir -p /tmp/very/long/directory/structure/that/is/too/deep # cd /tmp/very/long/directory/structure/that/is/too/deep # pwd /tmp/very/long/directory/structure/that/is/too/deep # cd ../../../../ # pwd /tmp/very/long/directory/structure
En lugar de ejecutar cd ../../../.. para navegar cuatro niveles hacia arriba, utilice uno de los siguientes métodos de alias:
Navegue hacia arriba en el directorio usando ..n : En el siguiente ejemplo, ..4 se usa para subir 4 niveles de directorio, ..3 para subir 3 niveles de directorio, ..2 para subir 2 niveles de directorio. Agregue el siguiente alias a .bash_profile y vuelva a iniciar sesión.
alias ..="cd .." alias ..2="cd ../.." alias ..3="cd ../../.." alias ..4="cd ../../../.." alias ..5="cd ../../../../.." # cd /tmp/very/long/directory/structure/that/is/too/deep #..4 [Note: use ..4 to go up 4 directory level] # pwd /tmp/very/long/directory/structure/
Navegue hacia arriba en el directorio usando solo puntos: En el siguiente ejemplo, ….. (cinco puntos) se usa para subir 4 niveles de directorio. Escribir 5 puntos para subir la estructura de 4 directorios es realmente fácil de recordar, ya que cuando escribe los dos primeros puntos, está pensando "subir un directorio", después de eso, cada punto adicional es subir un nivel. Entonces, usa…. (cuatro puntos) para subir 3 niveles de directorio y .. (dos puntos) para subir 1 nivel de directorio. Agregue el siguiente alias a .bash_profile y vuelva a iniciar sesión para que ….. (cinco puntos) funcione correctamente.
alias ..="cd .." alias ...="cd ../.." alias ....="cd ../../.." alias .....="cd ../../../.." alias ......="cd ../../../../.." # cd /tmp/very/long/directory/structure/that/is/too/deep # ..... [Note: use ..... (five dots) to go up 4 directory level] # pwd /tmp/very/long/directory/structure/
Navegue hacia arriba en el directorio usando cd seguido de puntos consecutivos: En el siguiente ejemplo, cd….. (cd seguido de cinco puntos) se usa para subir 4 niveles de directorio. Hacer que sean 5 puntos para subir 4 estructuras de directorios es muy fácil de recordar, ya que cuando escribe los dos primeros puntos, está pensando "subir un directorio", después de eso, cada punto adicional es subir un nivel. Entonces, usa cd…. (cd seguido de cuatro puntos) para subir 3 niveles de directorio y cd… (cd seguido de tres puntos) para subir 2 niveles de directorio. Agregue el siguiente alias a .bash_profile y vuelva a iniciar sesión para que el cd anterior... (cinco puntos) funcione correctamente.
alias cd..="cd .." alias cd...="cd ../.." alias cd....="cd ../../.." alias cd.....="cd ../../../.." alias cd......="cd ../../../../.." # cd /tmp/very/long/directory/structure/that/is/too/deep # cd..... [Note: use cd..... to go up 4 directory level] # pwd /tmp/very/long/directory/structure
Truco #3:ejecuta mkdir y cd usando un solo comando
A veces, cuando crea un nuevo directorio, puede hacer un cd en el nuevo directorio inmediatamente para realizar algún trabajo como se muestra a continuación.
# mkdir -p /tmp/subdir1/subdir2/subdir3 # cd /tmp/subdir1/subdir2/subdir3 # pwd /tmp/subdir1/subdir2/subdir3
¿No sería bueno combinar mkdir y cd en un solo comando? Agregue lo siguiente a .bash_profile y vuelva a iniciar sesión.
function mkdircd () { mkdir -p "$@" && eval cd "\"\$$#\""; }
Ahora, ejecute mkdir y cd al mismo tiempo usando un solo comando como se muestra a continuación:
# mkdircd /tmp/subdir1/subdir2/subdir3 [Note: This creates the directory and cd to it automatically] # pwd /tmp/subdir1/subdir2/subdir3
Truco n.º 4:usa "cd -" para alternar entre los dos últimos directorios
Puede alternar entre los dos últimos directorios actuales usando cd, como se muestra a continuación.
# cd /tmp/very/long/directory/structure/that/is/too/deep # cd /tmp/subdir1/subdir2/subdir3 # cd - # pwd /tmp/very/long/directory/structure/that/is/too/deep # cd - # pwd /tmp/subdir1/subdir2/subdir3 # cd - # pwd /tmp/very/long/directory/structure/that/is/too/deep
Nota :También puede sustituir un argumento de otros comandos en el historial al comando cd usando el ejemplo #12 y #13 mencionado en el artículo de ejemplos de historial de línea de comando.
Truco #5:Usa dirs, pushd y popd para manipular la pila de directorios
Puede usar la pila de directorios para insertar directorios en ella y luego extraer el directorio de la pila. En este ejemplo se utilizan los siguientes tres comandos.
- dirs:muestra la pila de directorios
- pushd:inserta el directorio en la pila
- popd:Extrae el directorio de la pila y cd hacia él
Dirs siempre imprimirá el directorio actual seguido del contenido de la pila. Incluso cuando la pila de directorios esté vacía, el comando dirs seguirá imprimiendo solo el directorio actual como se muestra a continuación.
# popd -bash: popd: directory stack empty # dirs ~ # pwd /home/ramesh
¿Cómo usar pushd y popd? Primero vamos a crear algunos directorios temporales y empujarlos a la pila de directorios como se muestra a continuación.
# mkdir /tmp/dir1 # mkdir /tmp/dir2 # mkdir /tmp/dir3 # mkdir /tmp/dir4 # cd /tmp/dir1 # pushd . # cd /tmp/dir2 # pushd . # cd /tmp/dir3 # pushd . # cd /tmp/dir4 # pushd . # dirs /tmp/dir4 /tmp/dir4 /tmp/dir3 /tmp/dir2 /tmp/dir1 [Note: The first directory (/tmp/dir4) of the dir command output is always the current directory and not the content from the stack.]
En esta etapa, la pila de directorios contiene los siguientes directorios:
/tmp/dir4 /tmp/dir3 /tmp/dir2 /tmp/dir1
El último directorio que se envió a la pila estará en la parte superior. Cuando ejecute popd, hará un cd a la entrada del directorio superior en la pila y la eliminará de la pila. Como se muestra arriba, el último directorio que se colocó en la pila es /tmp/dir4. Entonces, cuando hagamos un popd, hará un cd a /tmp/dir4 y lo eliminará de la pila de directorios como se muestra a continuación.
# popd # pwd /tmp/dir4 [Note: After the above popd, directory Stack Contains: /tmp/dir3 /tmp/dir2 /tmp/dir1] # popd # pwd /tmp/dir3 [Note: After the above popd, directory Stack Contains: /tmp/dir2 /tmp/dir1] # popd # pwd /tmp/dir2 [Note: After the above popd, directory Stack Contains: /tmp/dir1] # popd # pwd /tmp/dir1 [Note: After the above popd, directory Stack is empty!] # popd -bash: popd: directory stack empty
Truco n.° 6:use "shopt -s cdspell" para corregir automáticamente los nombres de directorio mal escritos en el CD
Utilice shopt -s cdspell para corregir los errores tipográficos en el comando cd automáticamente como se muestra a continuación. Si no eres bueno escribiendo y cometes muchos errores, esto será muy útil.
# cd /etc/mall -bash: cd: /etc/mall: No such file or directory # shopt -s cdspell # cd /etc/mall # pwd /etc/mail [Note: By mistake, when I typed mall instead of mail, cd corrected it automatically]
Si le gustó este artículo, márquelo como favorito en del.icio.us , y tropezarlo .