Crear un enlace simbólico para navegar con cd

3

¿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 ?

    
pregunta mles 23.03.2016 - 14:14

2 respuestas

3

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 ...

Crear un alias

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.

Haz una variable capaz de cd

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.

    
respondido por el Allan 23.03.2016 - 14:24
1

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á.

    
respondido por el techraf 23.03.2016 - 14:22

Lea otras preguntas en las etiquetas