verificar simbolico remover permiten para link fuertes fisico enlaces enlace eliminar directorios como borrar linux ln

simbolico - LINUX: Enlace todos los archivos de uno a otro directorio



no se permiten enlaces fuertes para directorios (4)

ln -s / mnt / usr / lib / * / usr / lib /

Quiero vincular (ln -s) todos los archivos que están en / mnt / usr / lib / en / usr / lib /

Hay muchos archivos, ¿cómo hacerlo rápido? :)


GNU cp tiene una opción para crear enlaces simbólicos en lugar de copiar.

cp -rs /mnt/usr/lib /usr/

Tenga en cuenta que esta es una extensión de GNU que no se encuentra en POSIX cp .


Las soluciones publicadas no vincularán ningún archivo oculto. Para incluirlos, intente esto:

cd /usr/lib find /mnt/usr/lib -maxdepth 1 -print "%P/n" | while read file; do ln -s "/mnt/usr/lib/$file" "$file"; done

Si desea crear recursivamente los directorios y solo vincular los archivos (de modo que si crea un archivo dentro de un directorio, realmente está en /usr/lib not /mnt/usr/lib ), podría hacer esto:

cd /usr/lib find /mnt/usr/lib -mindepth 1 -depth -type d -printf "%P/n" | while read dir; do mkdir -p "$dir"; done find /mnt/usr/lib -type f -printf "%P/n" | while read file; do ln -s "/mnt/usr/lib/$file" "$file"; done


ln -s /mnt/usr/lib/* /usr/lib/

Supongo que esto pertenece al superusuario, sin embargo.