Cómo usar el comando cd en Linux

Algunos comandos de Linux nos resultan tan familiares que ni siquiera nos damos cuenta de que los estamos usando. EL cd el comando para cambiar de directorio es uno de ellos. Hay algunos trucos que pueden ayudarte a ser más eficiente cd—o puedes abandonarlo por completo.

→ Índice de contenidos

CD es un comando en el que rara vez piensas

Parpadeas todo el día, todos los días, pero la mayor parte del tiempo no eres consciente de ello. A menos que algo entre en tu ojo, rara vez piensas en ese pequeño y suave movimiento. Algunos comandos de Linux son así. Se ciernen sobre la periferia de tu conciencia. Aunque los uses a diario no te llaman la atención porque son muy pequeños y sencillos.

Dentro de la primera hora de usar una computadora Linux, aprenderá a usar el cd comando incluido con Bash y otros shells. Quizás ya hayas tenido experiencia usándolo en otro sistema operativo y no necesites explicaciones. Cambiar el directorio de trabajo actual, ¿verdad? ¿Qué más hay que saber?

Bueno, más de lo que crees. A continuación se ofrecen algunos consejos y trucos que podrían mejorar su eficiencia.

Las operaciones estándar de los llamados

Para completar, revisemos rápidamente los usos estándar de cd.

Si estamos en el directorio de inicio, pero en lugar de eso queremos movernos a uno ubicado en "/usr/lib/firefox/browser" y luego regresar al directorio de inicio, podemos usar los siguientes comandos:

cd /usr/lib/firefox/browser/
cd /home/dave

No es necesario escribir la ruta completa del directorio; puedes usar autocompletar. Para cada parte de una ruta, después de haber escrito suficientes letras para distinguir el nombre del directorio de los demás, presione Tab para completar automáticamente el nombre del directorio.

Por ejemplo, escriba lo siguiente en la línea de comando:

cd /usr/lib/fire

Ahora presione Tab y el shell completará el resto del directorio "firefox" por usted. Si agrega "/b" a la ruta y presiona Tab nuevamente, agrega el directorio "navegador" al comando.

El shell agrega una barra diagonal para que pueda repetir el proceso de finalización de tabulación. Esta es también la razón por la que hay una barra diagonal al final del primer comando. No hay ninguno en el segundo porque ese fue escrito.

Puedes usar la tilde (~) como una forma abreviada de regresar rápidamente al directorio de inicio desde cualquier parte del sistema de archivos; solo escribe lo siguiente:

discos compactos ~

cd ~ en una ventana de terminal

Estos son ejemplos de rutas absolutas, donde usted proporciona la ruta completa desde la raíz del sistema de archivos hasta el directorio de destino, un cd.

Se hace referencia a las rutas relativas desde el directorio de trabajo actual. En el directorio de inicio hay un directorio llamado work. Puedes usar el tree comando para ver el árbol de directorios dentro del archivo work directorio: simplemente escriba lo siguiente:

tree

comando de árbol en una ventana de terminal

EL work directorio contiene un directorio llamado dev . También hay un directorio llamado dev en el directorio raíz del sistema de archivos. puedes usar ls con -d (directorio) para ver cada uno de estos. EL -hl (legible por humanos, lista larga) dice ls utilice unidades fáciles de leer para tamaños de directorios y listados de formato largo.

si escribes dev, el shell supone que te refieres a "dev" en el directorio actual. Para forzarlo a buscar "dev" en el directorio raíz, simplemente agregue una barra diagonal inicial para representar la raíz del sistema de archivos, como se muestra a continuación:

ls -d dev -hl
ls -d /dev -hl

ls -d dev -hl en una ventana de terminal

EL cd el comando se comporta como ls Con respeto. Si se refiere al directorio como devcomo se muestra a continuación, se supone que te refieres al directorio en el archivo work directorio:

cd dev

cd dev en una ventana de terminal

Sin una barra diagonal inicial, se supone que incluso las rutas más largas comienzan desde el directorio de trabajo actual, como se muestra a continuación:

cd dev/mobile/android

cd dev/mobile/android en una ventana de terminal

Cambiar el directorio con doble punto

El identificador de doble punto representa el directorio raíz del que está actualmente en funcionamiento. Si está en un subdirectorio profundamente anidado, puede usar .. con cd para cambiar al directorio raíz del que se encuentra.

Esto le sube dos directorios en el árbol de directorios. Si agregas más .. En el comando, le permite mover un número arbitrario de niveles hacia arriba en el árbol de directorios.

Escriba lo siguiente:

cd ..
cd ../..

cd .. en una ventana de terminal

También puede crear un conjunto de alias para realizar estas maniobras escribiendo lo siguiente:

alias .2="cd ../.."
alias .3="cd ../../.."

alias .2=

Puedes usarlos de la misma manera que los propios comandos.

alias .2=

Para que los alias sean consistentes en todos los reinicios de la computadora, debe agregarlos al archivo .bashrc O .bash_aliases archivo.

Cambiar fácilmente entre directorios

El guion (-) es otro símbolo que tiene una función especial. Cambie su directorio al que acaba de obtener.

Para este ejemplo, digamos que está en el directorio "c". puedes usar cd para cambiar al directorio "forth". Entonces puedes usar cd - para rebotar de un lado a otro entre los dos directorios.

Para hacer esto, escriba lo siguiente:

 cd ../forth
cd -
cd -

Ejecutando 'cd ../forth' seguido de dos comandos 'cd -'.

El nombre del directorio al que se está moviendo se muestra antes de ingresar a él.

Otro tipo de pariente

El shell utiliza el directorio de trabajo actual como directorio "raíz" o base para rutas relativas. Puedes usar el CDPATH variable de entorno para establecer otra ubicación como directorio base para rutas relativas. Si pasa la mayor parte de su tiempo en una determinada sección del árbol del sistema de archivos, esto puede ahorrarle muchas pulsaciones de teclas (y tiempo) todos los días.

Escribimos lo siguiente para crear work/dev/projects el directorio base para rutas relativas:

export CDPATH=/home/dave/work/dev/projects

Ejecutando 'exportar CDPATH=/home/dave/work/dev/projects' en la terminal.

Ahora, cada vez que utilices el dc comando, la ubicación en el archivo CDPATH primero se comprueba la variable de entorno para comprobar si el nombre del directorio coincide. Si alguno de ellos coincide con el objetivo previsto en el cd comando, será transferido a ese directorio.

Ahora, independientemente de dónde se encuentre en el sistema de archivos, cuando usa el cd comando, el shell comprueba si el directorio de destino está en el directorio base. Si es así, se le trasladará al directorio de destino.

Si el directorio de destino comienza con una barra diagonal inicial (/), lo que la convierte en una ruta absoluta, no se verá afectada por el archivo CDPATH Variable ambiental.

Para demostrar esto, escribamos lo siguiente:

cd c
cd prolog
cd /usr
cd forth

Ejecutando algunos comandos de CD diferentes.

EL CDPATH la variable de entorno es realmente una ruta, al igual que la variable de entorno PATH Variable ambiental. Cuando escribe un comando, el shell busca ubicaciones en el archivo PATH para un juego. cuando usas CDPATHel shell busca ubicaciones en el archivo CDPATH variable de entorno para una coincidencia. Además, lo mismo que PATH, CDPATH puede contener múltiples posiciones.

Para hacer que el shell busque el directorio actual antes que otras ubicaciones en el archivo CDPATH variable de entorno, simplemente agregue un punto ( . ) al comienzo del camino así:

 export CDPATH=.:/home/dave/work/dev/projects 

Para que su configuración sea permanente, debe agregarla a un archivo de configuración, como .bashrc.

Una cosa a tener en cuenta: si configura un directorio base, esto también afecta los cambios de directorio realizados dentro de los scripts. Para evitar esto, puede utilizar rutas absolutas en sus scripts o una prueba en su archivo. .bashrc archivo cuando especifica su CDPATHComo se muestra abajo:

 if test "${PS1+set}"; then CDPATH=.:/home/dave/work/dev/projects; fi 

Ejecuta una prueba para ver si la variable de solicitud de línea de comando, $PS1 , Fue establecido. EL CDPATH la variable de entorno se establecerá solo si la prueba tiene éxito.

Usando shopt con cd

Con el shopt comando, puede configurar ciertas opciones para el shell. Algunos de estos pueden mejorar su uso. cd. Para configurarlos, utilice el -s (habilitar) opción con shopt para pasarle un nombre de opción.

EL cdspell La opción verifica los nombres de los directorios y corrige algunos errores tipográficos comunes, incluidos los caracteres transpuestos o faltantes o los nombres con demasiados caracteres. Si encuentra un directorio que coincide con cualquiera de las correcciones, se imprime la ruta y el archivo correctos. cd la acción se lleva a cabo.

Por ejemplo, escribimos lo siguiente para configurar el archivo cdspell opción y deletrea "Escritorio" incorrectamente para ver si el shell lo soluciona por nosotros:

shopt -s cdspell
cd Desktpo

Ejecute 'shopt -s cdspell' para habilitar la revisión ortográfica de Shell.

El shell detectó el error, lo corrigió y cambió al directorio "Escritorio".

Otro shopt opción que puedes usar con cd Y autocd. Elimina la necesidad de escribir cd en absoluto. Todo lo que escriba que no sea un comando, secuencia de comandos u otro ejecutable (como un alias) se utilizará como directorio de destino. Si puede transferir a ese directorio, se imprimirá en la ventana de la terminal y será trasladado a ese directorio.

Por ejemplo, escribamos lo siguiente:

shopt -s autocd
/usr/local/games
/etc
~

El comando autocd agiliza la navegación.

¡Ver! Puedes saltar por todo el sistema de archivos sin siquiera usarlo cd!

La configuración con la que cambias shopt sólo afectan a los shells interactivos, no a los scripts.

La colección de CD

Probablemente no los adoptes a todos. Sin embargo, es probable que haya encontrado algo interesante o beneficioso aquí. Después de todo, ¡cualquier cosa que acelere o simplifique la navegación por la línea de comandos es buena!

Subir Change privacy settings