¿Es posible crear un enlace simbólico para cambiar directorios más fácilmente? como
ln -s /Users/mles/Documents /usr/local/bin/d
¿Entonces puedo cd d
en lugar de cd ~/Documents
?
¿Es posible crear un enlace simbólico para cambiar directorios más fácilmente? como
ln -s /Users/mles/Documents /usr/local/bin/d
¿Entonces puedo cd d
en lugar de cd ~/Documents
?
El problema con la creación de un enlace simbólico de esa manera es que está limitado a donde se crea el enlace simbólico. También se suma al problema si tiene un directorio ../d/..
en algún lugar de su sistema.
Hay un par de maneras de resolver esto ...
En la terminal, puede crear un alias emitiendo el comando
alias cdd='cd ~/Documents'
El beneficio aquí es que funcionará en cualquier lugar sin tener que agregarlo a su RUTA.
Para hacerlo permanente, agregue el comando a su .bash_profile
en su directorio de inicio.
Además, en su .bash_profile
agregue lo siguiente
shopt -s cdable_vars
export Docs=$HOME/Documents
Ahora, cuando escribe cd Docs
, se expandirá fuera de HOME
a lo que sea su directorio de usuario más el directorio que especificó. ( /Users/yourusername/Documents
)
Personalmente, hice esto con una variable llamada icloud de la siguiente manera:
export icloud=$HOME/Library/Mobile\ Documents/com~apple~CloudDocs/
Ahora, puedo hacer referencia a la ubicación de mis documentos de iCloud sin tener que recordar ese largo camino.
Puedes definir variables apuntando a tus directorios. Por ejemplo:
[~]$ export d=~/Documents
[~]$ ls -l $d
[~]$ cd $d
[~/Documents]$
En bash, puedes usar la opción cdable_vars
para poder cd
sin preceder a $
:
[~]$ shopt -s cdable_vars
[~]$ export d=~/Documents
[~]$ cd d
[~/Documents]$
Pero no permite soltar $
para otros comandos, por lo que ls -l d
no funcionará.
Lea otras preguntas en las etiquetas symlink