Назад | Перейти на главную страницу

Удалите все файлы, не работающие со знаком «*»

Я хочу удалить все файлы и папки в папке / 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.