Los enlaces simbólicos son atajos guardados para rutas relativas:
~/foo➤ ln -s . ~/bar/foo
~/foo➤ ls -l ~/bar
total 8
lrwxr-xr-x 1 me me 1B 15 May 14:38 foo -> .
El archivo ~/bar/foo
es un enlace simbólico al bar
directorio actual de s, es decir, a sí mismo
¿Qué sucede si quiero crear un enlace simbólico en otro directorio al directorio en el que estoy en ese momento? Entonces, en el ejemplo anterior, estoy dentro ~/foo
y quiero crear ~/bar/foo
como un enlace simbólico para ~/foo
. Por supuesto, mi directorio actual puede tener un poco más de 5 caracteres y no ser tan fácil de escribir.
bash
symbolic-link
ln
Gareth
fuente
fuente
$
variables y sustituciones de comandos, de lo contrario, los nombres de archivo con espacios arruinarán la ejecución. Tampoco necesita el final$(basename $PWD)
(y ha olvidado un$
(y citando :-))) ya que ese es el nombre de enlace predeterminado de todos modos.pwd
enfoque y algo salió mal. Vamos a explicarlo como un error ID-ten-TAbsolutamente:
(podría ser bueno para la generalidad en los scripts) o simplemente
Relativamente:
La finalización de la pestaña te ayudará a escribir.
Del comentario de grawity y http://lists.gnu.org/archive/html/coreutils-announce/2012-03/msg00000.html :
Entonces con esta versión:
debería funcionar (con en la práctica es idéntico su primer ejemplo, con la adición del
--relative
interruptor).fuente
ln -s -r foo ~/bar
.$(readlink -f .)
más$PWD
?readlink -f
luego hará un enlace simbólico a la ruta de destino absoluta del directorio actual, mientras que$PWD
hará un enlace simbólico al directorio literal en el que se encuentra actualmente. Lo que se desea probablemente sea diferente de vez en cuando, y ante todo probablemente no sea un problema en absoluto.