Как использовать sudo для удаления содержимого каталога

У меня есть законная потребность в очистке каталога, к которому у моей учетной записи нет доступа (это каталог кеша, используемый приложением, и принадлежит учетной записи, которая запускает приложение.) У моей учетной записи есть полные права sudo (я думаю) , но я не могу понять, как удалить содержимое данного каталога. Моя учетная запись не может cd в каталог, только в родительский каталог.

 sudo rm directory/* 

дает ответ

 cannot remove `directory/*': no such file or directory 

Это похоже на проблему, которая должна иметь простой ответ, но я не могу ее найти.

Изменить: этот каталог определенно не пуст:

 sudo ls directory/ 

возвращает более 1000 имен файлов.

2 Solutions collect form web for “Как использовать sudo для удаления содержимого каталога”

У вас проблемы, потому что ваша оболочка пытается расширить * в список файлов, но это невозможно, поскольку у вас нет прав на чтение каталога.

Я могу думать о двух вещах, которые будут работать

 sudo bash -c "rm directory/*" 

В этом случае * не расшифровывается вами, а root, который может читать каталог

ИЛИ

 sudo find directory -type f -exec rm {} \; 

Вышеизложенное будет удалять только файлы, а не каталоги (в противном случае это приведет к удалению directory вместе с его содержимым), но я чувствую, что меньше подвержено ошибкам.

Изменить: в первом варианте я случайно записал каталог. * Вместо каталога / *

Каждый раз, когда вы собираетесь делать вещи, вы должны серьезно подумать о том, что делаете, если не используете явные пути.

sudo rm /explicit/path/to/directory/* должен работать. Вы все равно получите эту ошибку, если в directory нет файлов; вы можете подавить это с помощью rm -f ( не rm -fr если вы абсолютно не уверены в том, что делаете).

  • пароль для паролей `sudo` и другие данные для команды sudo`ed
  • как включить sudo для одного каталога
  • sudo: «эффективный uid не равен 0, sudo установлен setuid root?» на малине Pi
  • Как использовать SSH для запуска сценария оболочки на удаленной машине?
  • Как выполнить скрипты корневой команды от пользователя root не с использованием SUID?
  • Выбор редактора при работе в sudo
  • Как запустить программу в фоновом режиме
  • Как я могу сохранить * all * environment vars для определенной команды в sudo?
  • Разрешить определенным гостям выполнять определенные команды
  • Почему мне еще нужно запустить shutdown как sudo после этого?
  • Скрипт для временного удаления прав администратора
  • Interesting Posts

    Какая графическая карта «лучше всего» в 3D на Linux?

    Могу ли я восстановить имена файлов из отказавшего RAID0 (Linux Debian 5.0.8)

    Как записать образ диска обратно в собственный источник?

    / находится вне блоков, не может узнать, почему

    Как фильтровать результаты ping по времени?

    Игнорировать переменную GET из ссылок, при загрузке веб-сайта в автономном режиме

    Продолжить загрузку после сбоя сети – Kali

    Как создать текстовый отчет в Linux?

    Есть ли более простой способ скопировать файл с компьютера на Raspberry Pi через Ethernet, чем вручную настроить IP для обоих компьютеров?

    Как размонтировать ранее chroot'd файловую систему?

    Является ли ctime на linux всегда больше или равно mtime?

    Как GNOME не удалось установить мой USB-накопитель для восстановления Windows?

    Есть ли способ восстановить несохраненные аннотации в Okular после сбоя системы

    Отправка почты внутри запланированного сценария оболочки (cron) не работает

    Дрейф часов в гостевой системе VirtualBox

    Linux и Unix - лучшая ОС в мире.