Я хочу удалить все файлы и папки в папке / home / user. Я использую команду
rm -rf /home/user/*
безуспешно, затем я попробовал:
cd /home/user;rm -rf *
Что дает следующий результат
rm: cannot lstat `*': No such file or directory
Как мне это решить? Если я удаляю файлы по одному, это работает, а с «*» - нет.
Есть ли у вашего пользователя доступ для чтения к файлам, которые вы хотите удалить? Каковы названия файлов? Если они начнутся с .
Oни может не быть подхваченным *
.
Чтобы удалить файлы, начинающиеся с .
в текущем каталоге вы можете использовать старый трюк find
подключен к xargs
:
find . -name '.*' -maxdepth 1 -type f | xargs rm
Сначала попробуйте без | xargs rm
чтобы узнать, возвращаются ли файлы find
сопоставьте то, что вы ожидаете, затем снова запустите его с трубкой.
Если вы хотите также искать файлы рекурсивно, просто выберите -maxdepth 1
вне команды.
Что о:
find /home/user -delete
Но будьте осторожны - сначала прочтите справочную страницу для поиска! Или потренируйтесь немного в определенном каталоге.
Я просто использую rm -rf /home/user
.