6

Я хочу удалить все символические ссылки файлов. У меня есть структура каталогов, например /usr/local/instantclient/11.2.0.3 которая содержит множество файлов, и у меня есть символические ссылки на эти файлы в /usr/local/lib/ Теперь я хочу удалить все эти символические ссылки этих файлов. Как я могу сделать это в одной команде. Если я удалю фактический /usr/local/instantclient/11.2.0.3 содержащий файлы, он оставит неработающие ссылки в /usr/local/lib .

1 ответ1

11

Чтобы удалить ссылки (от man find под -type):

          l      symbolic link; this is never true if the -L option or the
                 -follow option is in effect, unless the symbolic link  is
                 broken.  If you want to search for symbolic links when -L
                 is in effect, use -xtype.

Я думаю, что это должно сработать:

find /usr/local/lib/ -maxdepth 1 -follow  -type l

Выводит ли список файлов, которые вы хотите удалить? Если это так, когда вы уверены на 100%:

find /usr/local/lib/ -maxdepth 1 -follow  -type l -delete

Это удалит только неработающие ссылки. Чтобы удалить все ссылки, удалите -follow , но я бы не стал этого делать в /usr/local/lib .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .