Tabla de contenidos
Algunos comandos de Linux son tan familiares que ni siquiera nos damos cuenta de que los estamos usando. El cd
comando para cambiar de directorio es uno de estos. Hay algunos trucos que pueden ayudarlo a ser más eficiente, cd
o puede deshacerse de ellos 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 entre en su ojo, rara vez piensa en ese pequeño movimiento regular. Algunos comandos de Linux son así. Se ciernen sobre la periferia de tu conciencia. Aunque los use a diario, no le llaman la atención porque son muy pequeños y simples.
Dentro de la primera hora de usar una computadora Linux, aprenderá a usar el cd
comando incluido con Bash y otros shells. Quizás 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 luego regresar al directorio de inicio, podemos usar los siguientes comandos:
cd / usr / lib / firefox / browser /
cd / inicio / dave
No es necesario que escriba la ruta completa del directorio; puede utilizar 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.
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 del “navegador” al comando.
El shell agrega una barra diagonal al final para que pueda repetir el proceso de finalización de tabulación. También es por eso que hay una barra inclinada hacia adelante en el primer comando. No hay uno en el segundo porque ese fue escrito.
Puede usar 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 cd
.
Las rutas relativas se referencian desde el directorio de trabajo actual. En el directorio de inicio, hay un directorio llamado work
. Puede usar el tree
comando para ver el árbol de directorios dentro del work
directorio; simplemente escriba lo siguiente:
árbol
El work
directorio contiene un directorio llamado dev
. También hay un directorio llamado dev
en el directorio raíz del sistema de archivos. Puede usarls
con -d
(directorio) para ver cada uno de estos. La -hl
opción (legible por humanos, lista larga) indica ls
que se utilicen unidades fáciles de leer para los tamaños de directorio y la lista de formato largo.
Si escribe dev
, el shell asume que se refiere 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
El cd
comando se comporta así 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 diagonal inicial, se supone que las rutas más largas también comienzan desde el directorio de trabajo actual, como se muestra a continuación:
cd dev / mobile / android
Cambiar el directorio con Double Dot
El identificador de doble punto representa el directorio padre del actual en funcionamiento. Si se encuentra en un subdirectorio profundamente anidado, puede usar ..
with cd
para moverse al directorio principal del que se encuentra.
Esto lo mueve hacia arriba dos directorios en el árbol de directorios. Si agrega más ..
al comando, le permite mover un número arbitrario de niveles hacia arriba en el árbol de directorios.
Escriba lo siguiente:
discos compactos ..
discos compactos ../..
También 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 archivo .bashrc
o.bash_aliases
.
Salte fácilmente entre dos directorios
El guión ( -
) es otro símbolo que tiene 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». Puede utilizar cd
para cambiar al directorio «cuarto». Luego, puede usar cd -
para rebotar entre los dos directorios.
Para hacer esto, escribe lo siguiente:
cd ../forth
discos compactos –
discos compactos –
El nombre del directorio al que se está moviendo aparece antes de pasar a él.
Otro tipo de familiar
El shell utiliza el directorio de trabajo actual como directorio «raíz» o base para las rutas relativas. Puede utilizar la CDPATH
variable de entorno para establecer otra ubicación como directorio base para las 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 crear work/dev/projects
el directorio base para las rutas relativas:
exportar CDPATH = / home / dave / work / dev / projects
Ahora, cada vez que usa el dc
comando, la ubicación en la variable deCDPATH
entorno se verifica primero para buscar nombres de directorio coincidentes. Si alguno de ellos coincide con el objetivo que proporcionó en el comando, será transferido a ese directorio.cd
Ahora, independientemente de dónde se encuentre en el sistema de archivos, cuando usa el cd
comando, el shell verifica si el directorio de destino está ubicado 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 la CDPATH
variable de entorno.
Para demostrar esto, escribimos lo siguiente:
Centros para el Control y la Prevención de Enfermedades
prólogo del cd
cd / usr
cd adelante
La CDPATH
variable de entorno es realmente una ruta, al igual que la PATH
variable de entorno . Cuando escribe un comando, el shell busca PATH
una coincidencia en las ubicaciones . Cuando lo usa CDPATH
, el shell busca las ubicaciones en la CDPATH
variable de entorno para encontrar una coincidencia. Además, al igual que PATH
, CDPATH
puede contener varias ubicaciones.
Para que el shell busque en el directorio actual antes que otras ubicaciones en la CDPATH
variable de entorno, simplemente agregue un punto ( .
) al comienzo de la ruta de la siguiente manera:
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 tener en cuenta: si configura un directorio base, también afecta 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 especifique su CDPATH
, como se muestra a continuación:
if test “${PS1+set}”; then CDPATH=.:/home/dave/work/dev/projects; fi
Esto realiza una prueba para ver si la variable indicador de línea de comandos, $PS1
se establece. La CDPATH
variable de entorno solo se establecerá 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 de cd
. Para configurarlos, use la -s
opción (habilitar) con shopt
para pasarle un nombre de opción.
La cdspell
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 se cd
lleva a cabo la acción.
Como ejemplo, escribimos lo siguiente para configurar la cdspell
opción y escribimos 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».
Otra shopt
opción que puede utilizar 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 usa 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 usarlo cd
!
La configuración que cambie shopt
solo afectará a los shells interactivos, no a los scripts.
La colección de cd
Probablemente no adopte todos estos. Sin embargo, es probable que haya encontrado algo de interés o beneficio aquí. Después de todo, ¡todo lo que acelera o simplifica la navegación de la línea de comandos está bien!