symbolic link

Eliminar todos los enlaces simbólicos de una carpeta

¿Cómo puedo eliminar todos los enlaces simbólicos de una carpeta (docenas de ellos)a la vez? No es práctico insertar cada uno de ellos a mano cuando se utiliza unlink o rm.

Puede usar el comando find para hacer eso:

find /path/to/directory -maxdepth 1 -type l -delete

Para estar seguro, verifique primero sin la -delete :

find /path/to/directory -maxdepth 1 -type l

-maxdepth 1 asegura que find buscará solo en /path/to/directory pero no en sus subcarpetas para enlaces simbólicos. Siéntase libre de echar un vistazo a man find .




Enumere los enlaces en la carpeta de alias del directorio actual y verifique que realmente desea eliminarlos,

find -type l -ls                  # buscar también en subdirectorios

find -maxdepth 1 -type l -ls      # buscar solo en el propio directorio

Si todo se ve bien y desea eliminar estos vínculos, ejecute

find -type l -delete              # eliminar también en subdirectorios

find -maxdepth 1 -type l -delete  # eliminar solo en el directorio mismo

Si desea eliminar de forma interactiva , puede usar la siguiente línea de comando (esto es más seguro)

find -type l -exec rm -i {} +              # eliminar también en subdirectorios

find -maxdepth 1 -type l -exec rm -i {} +  # eliminar solo en el directorio mismo