symbolic link

Удалить все симлинки в папке

Как удалить все симлинки в папке (десятки)за один раз? Непрактично вставлять каждую из них вручную при использовании unlink или rm.


Вы можете использовать команду find для этого:

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

Чтобы быть в безопасности, сначала проверьте без -delete -option:

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

-maxdepth 1 гарантирует, что find будет искать символические ссылки только в /path/to/directory , но не в его подпапках. Не стесняйтесь взглянуть на man find .




Перечислите ссылки в текущей папке псевдонима каталога и убедитесь , что вы действительно хотите их удалить,

find -type l -ls                  # искать также в подкаталогах

find -maxdepth 1 -type l -ls      # искать только в самой директории

Если все выглядит хорошо, и вы хотите удалить эти ссылки, запустите

find -type l -delete              # удалить также в подкаталогах

find -maxdepth 1 -type l -delete  # удалить только в самой директории

Если вы хотите удалить в интерактивном режиме , вы можете использовать следующую командную строку (это безопаснее)

find -type l -exec rm -i {} +              # удалить также в подкаталогах

find -maxdepth 1 -type l -exec rm -i {} +  # удалить только в самой директории