Moví mi sistema de archivos y enlaces simbólicos de Ubuntu 14.04 a 16.04 usando la tarjeta de memoria FAT32, que aparentemente rompió esos enlaces; dejó de usar BitTorrentSync. La condición diferencial es que esos enlaces son restos de mi instalación de OSX debido a XSym. Lo hago ls -la $HOME | grep Math
por un enlace simbólico
-rw-r--r-- 1 masi masi 1067 May 17 21:28 Math
qué contenidos en el editor de texto
XSym
0078
48055bd2d9c13568c969e1eb8d6a22ac
/Users/masi/Math/
Debería señalar en su /Users/masi/LOREM/Math/
lugar. Simplemente corregir manualmente la RUTA no funciona, ya que el enlace permanece muerto.
El comando de Gilles también puede ser aplicable aquí:
find /Users/masi/Math/ /
-lname '/Users/masi/LOREM/Math/*' \
-exec sh -c 'ln -snf "/mnt$(readlink "$0")" "$0"' {} \;
donde no estoy seguro si obtuve el origen y el destino en el orden correcto.
Sistemas: Ubuntu 14.04, Ubuntu 16.04
lrwxr-xr-x 1 itvirta staff 6 Jun 13 15:39 testlink -> foobar
. El archivo de texto parece coincidir con una descripción de cómo Mac OS X guarda enlaces simbólicos en sistemas de archivos DOS / FAT. No creo que Linux sea compatible con aquellos en sistemas de archivos vfat, y de lo contrario tendría enlaces simbólicos nativos reales. (A menos que algunos entornos de escritorio utilicen archivos de texto especiales como "enlaces" (?))find -lname
yreadlink
) no lo encontrarán. Además, no puedo decir si necesita cambiarlos a enlaces simbólicos regulares o editar en ese formato.ln -s Math /users/masi/Mathematics
para que todos los nombres de ruta que comienzan con/Users/masi/Mathematics
se resuelvan automáticamente al reemplazar ese prefijo con/Users/masi/Math
?ln -s $HOME/Math/ $HOME/LOREM/Math/
es decir, crear un nuevo enlace simbólico. Sí, eso es un reemplazo de un enlace antiguo por uno nuevo. Tengo muchos enlaces, etc. Física, química, ... de manera similar. Estoy pensando cómo podría manejarlo en la práctica. El reemplazo manual puede ser la única forma de hacerlo aquí. Sin embargo, no es lo que me gustaría tener. Me gustaría tener un monitoreo continuo sobre esos enlaces y sugerencias para solucionarlos. Mis sistemas se rompen con frecuencia y son grandes. Manual significa trabajo.Respuestas:
Dos posibles soluciones que te vienen a la mente.
1. Iterar en todos los directorios
LOREM
y vincularlos simbólicamente a$HOME
Puede colocar el prefijo
rm
yln
conecho
(pecho rm -f "Users/masi/$item"
. Ej. ) Para ver el efecto del script antes de que realice algún cambio.2. Procese el conjunto de archivos existentes y conviértalos a enlaces simbólicos adecuados
Este necesitará algunas heurísticas (conjeturas), porque no hay nada concreto que identifique un enlace de archivo que debería ser un enlace simbólico.
Algo como esto podría funcionar
Nuevamente, puede anteponer las declaraciones
mv
yln
conecho
para ver el efecto sin aplicar ningún cambio.fuente
echo
al frente de lasmv
y losln
comandos y darle torbellino. Si no analizan los archivos que no son realmente enlaces simbólicos, consígueme uno real y veré qué puedo hacer.XSym
cosas. Puedo encontrar coincidencias de ellos en todo mi sistema. XSym probable también significa otras cosas además de enlaces simbólicos.XSym
archivos antes. Los describiste como enlaces simbólicos. No son enlaces simbólicos Unix / Linux, pero parece que, según los comentarios de otras personas, podrían ser algo que produce una Mac (como "accesos directos" de Windows, que quizás no sean enlaces simbólicos). Si son archivos legibles y están en un sistema de archivos que puede usar enlaces simbólicos adecuados, mi código está destinado a poder leerlos y reemplazarlos con los enlaces simbólicos equivalentes según mi comprensión de su pregunta.echo
delante de los comandosmv
yln
para que se conviertan en no-ops, y ejecute cualquiera de los scripts directamente en su sistema. Eso le dará resultados de primera mano que puede retroalimentar según sea necesario. Te he ofrecido una respuesta; por favor pruebalo.