Я хотел бы отсоединить символические ссылки, как это:
unlink *
Тем не менее он говорит unlink: extra operand
Я хотел бы только удалить файл ссылки, сохранить оригинальный файл.
Я хотел бы отсоединить символические ссылки, как это:
unlink *
Тем не менее он говорит unlink: extra operand
Я хотел бы только удалить файл ссылки, сохранить оригинальный файл.
Используя «*», вы пытаетесь отменить связь всех файлов и каталогов в вашем текущем местоположении.
unlink не может обрабатывать файлы или каталоги, он может обрабатывать только ссылки, использовать команду find, чтобы найти все ссылки и отменить их связь, например:
find . -type l -exec unlink {} \;
Я хотел бы избежать порождения других процессов с помощью find … -exec …
. Когда вам нужно unlink
или rm
результаты find
использование его -delete
, вместо этого.
find -maxdepth 1 -type l -delete
Эта команда найдет все символические ссылки (-type l
) в текущем каталоге (не в подкаталогах; ваш *
не спускается в подкаталоги, поэтому я предполагаю, что это именно то, что вам нужно) и удалит их. Поведение по умолчанию - не следовать символическим ссылкам, поэтому исходные файлы не будут затронуты.