Cómo usar el comando cd en Linux

Contenidos

Un gráfico de una ventana de terminal en un sistema portátil Linux.

Algunos comandos de Linux son tan familiares que ni siquiera nos damos cuenta de que los estamos usando. los cd El comando para cambiar de directorio es uno de estos. Hay algunos trucos que pueden ayudarlo a ser más eficiente con cdO puede deshacerse de él por completo.

Un comando en el que rara vez piensas

Parpadea todo el día, todos los días, pero la mayoría de las veces no te das cuenta. A menos que algo ingrese en tu ojo, rara vez piensas en ese pequeño movimiento regular. Algunos comandos de Linux son así. Se ciernen sobre la periferia de tu conciencia. Aún cuando los uses a diario, no te llaman la atención debido a que son muy pequeños y sencillos.

Dentro de la primera hora de utilizar una computadora Linux, aprenderá a utilizar el cd comando incluido con Bash y otros shells. Tal vez tenía experiencia previa usándolo en otro sistema operativo y no necesitaba una explicación. Cambia el directorio de trabajo actual, ¿verdad? ¿Qué más hay que saber?

Bueno, más de lo que piensas. A continuación, se incluyen algunos consejos y sugerencias que pueden mejorar su eficiencia.

Las operaciones de cd estándar

En aras de ser completo, repasemos rápidamente los usos estándar de cd.

Si estamos en el directorio de inicio, pero queremos cambiar a uno ubicado en /usr/lib/firefox/browser, y posteriormente regresar al directorio de inicio, podemos utilizar los siguientes comandos:

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

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

A modo de 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 al final para que pueda repetir el procedimiento de finalización de tabulación. Además es es por esto que que hay una barra inclinada hacia adelante en el primer comando. No hay uno en el segundo debido a que ese fue escrito.

Puedes utilizar la tilde (~) como una forma abreviada de volver rápidamente al directorio de inicio desde cualquier lugar del sistema de archivos; simplemente escriba lo siguiente:

cd ~

Estos son ejemplos de rutas absolutas, en las que proporciona la ruta completa desde la raíz del sistema de archivos hasta el directorio de destino, para cd.

Las rutas relativas se referencian desde el directorio de trabajo actual. En el directorio de inicio, hay un directorio llamado work . Puedes utilizar el tree comando para ver el árbol de directorios dentro de work directorio: simplemente escriba lo siguiente:

tree

los work directorio contiene un directorio llamado dev . Además hay un directorio llamado dev en el directorio raíz del sistema de archivos. Puedes utilizar ls con -d (directorio) para ver cada uno de estos. los -hl La opción (legible por humanos, lista larga) indica ls para usar unidades fáciles de leer para los tamaños de directorio y la lista de formato largo.

Si escribe dev, el shell asume que te refieres al «dev» en el directorio actual. Para forzarlo a mirar el «dev» en el directorio raíz, simplemente agregue una barra inclinada hacia adelante para representar la raíz del sistema de archivos, como se muestra a continuación:

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

los cd el comando se comporta como ls a este respecto. Si hace referencia al directorio como dev, como se muestra a continuación, asume que se refiere al directorio en el work directorio:

cd dev

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

cd dev/mobile/android

RELACIONADO: 15 personajes especiales que debes conocer para Bash

Cambiar el directorio con Double Dot

El identificador de doble punto representa el directorio principal del que está funcionando en este momento. Si está en un subdirectorio profundamente anidado, puede utilizar .. con cd para moverse al directorio principal del que se encuentra.

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

Escriba lo siguiente:

cd ..
cd ../..

Además puede crear un conjunto de alias para realizar estas maniobras por usted, escribiendo lo siguiente:

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

Puede utilizarlos de la misma forma que los propios comandos.

Para que los alias sean consistentes en los reinicios de su computadora, debe agregarlos a su .bashrc o .bash_aliases expediente.

RELACIONADO: Cómo crear alias y funciones de shell en Linux

Salte fácilmente entre dos directorios

El guion (-) es otro símbolo que cuenta con una función especial. Cambia su directorio de nuevo al del que acaba de llegar.

Para este ejemplo, digamos que está en el directorio «c». Puedes utilizar cd para cambiar al directorio «cuarto». Entonces, puedes utilizar cd - para rebotar entre los dos directorios.

Para hacer esto, escribe lo siguiente:

cd ../forth

CD –

CD –

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

RELACIONADO: Cómo utilizar pushd y popd en Linux

Otro tipo de pariente

El shell utiliza el directorio de trabajo actual como directorio «raíz» o base para las rutas relativas. Puedes utilizar el CDPATH variable de entorno para determinar otra ubicación como directorio base para rutas relativas. Si pasa la mayor parte del 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.

Escribamos lo siguiente para hacer work/dev/projects el directorio base para rutas relativas:

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

Ahora, cada vez que use el dc comando, la ubicación en el CDPATH La variable de entorno se comprueba primero para los nombres de directorio coincidentes. Si alguno de ellos coincide con el fin que proporcionó en el cd comando, eres transferido a ese directorio.

Ahora, sin tener en cuenta dónde se encuentre en el sistema de archivos, cuando utilice el cd comando, el shell comprueba si el directorio de destino se encuentra en el directorio base. Si es así, será trasladado a ese directorio de destino.

Si su directorio de destino comienza con una barra inclinada (/), lo que lo convierte en una ruta absoluta, no se verá afectado por el CDPATH Variable ambiental.

Para demostrar esto, escribimos lo siguiente:

cd c
cd prolog
cd /usr
cd forth

los CDPATH La variable de entorno es verdaderamente una ruta, del mismo modo que la PATH Variable ambiental. Cuando escribe un comando, el shell busca las ubicaciones en el PATH para un partido. Cuando usas CDPATH, el shell busca las ubicaciones en el CDPATH variable de entorno para una coincidencia. Al mismo tiempo, lo mismo que PATH, CDPATH puede contener varias ubicaciones.

RELACIONADO: Cómo trabajar con variables en Bash

Para que el shell busque el directorio actual antes que otras ubicaciones en el CDPATH variable de entorno, solo agrega un punto ( . ) al comienzo de la ruta así:

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

Para que sus configuraciones sean permanentes, debe agregarlas a un archivo de configuración, como .bashrc.

Una cosa a prestar atención: si configura un directorio base, además afectará a los cambios de directorio realizados dentro de los scripts. Para evitar esto, puede usar rutas absolutas en sus scripts o una prueba en su .bashrc archivo cuando especifica su CDPATH, Como se muestra abajo:

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

Esto realiza una prueba para ver si la variable de la línea de comandos, $PS1 , se estableció. los CDPATH La variable de entorno solo se establecerá si la prueba tiene éxito.

RELACIONADO: Cómo agregar un directorio a su $ PATH en Linux

Usando shopt con cd

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

los cdspell La opción comprueba los nombres de su directorio y corrige algunos errores de escritura comunes, incluidos los caracteres transpuestos o faltantes, o nombres con demasiados caracteres. Si encuentra un directorio que coincide con alguna de las correcciones, se imprime la ruta corregida y cd se lleva a cabo la acción.

Como ejemplo, escribimos lo siguiente para configurar el cdspell y escribe mal «Escritorio» para ver si el shell lo corrige por nosotros:

shopt -s cdspell
cd Desktpo

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

Otro shopt opción que puedes utilizar con cd es autocd. Elimina la necesidad de escribir cd en absoluto. Todo lo que escriba que no sea un comando, script u otro ejecutable (como un alias), se utiliza como directorio de destino. Si puede transferir a ese directorio, se imprime en la ventana del terminal y se le cambia a ese directorio.

Como ejemplo, escribimos lo siguiente:

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

¡Ver! Puede saltar por todo el sistema de archivos sin siquiera utilizar cd!

La configuración que cambia con shopt solo impactan a los shells interactivos, no a los scripts.

La colección de cd

Probablemente no adopte todos estos. A pesar de esto, es probable que haya encontrado algo de interés o beneficio aquí. Después de todo, ¡todo lo que acelere o simplifique la navegación de la línea de comandos está bien!

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.