Невозможно удалить файл из корзины, который был помещен туда как root

25

Я знаю об опасностях использования корневого доступа, поэтому, пожалуйста, воздержитесь от лекций. Я стараюсь быть осторожным и теперь буду вдвойне.

Я использовал файловый браузер с root-доступом, чтобы изменить некоторые права доступа к файлам. В ходе процесса я удалил некоторые файлы (я должен сказать, что я их в корзину). Мало ли я знал, что файлы будут отправлены в корзину как корень, и теперь я не могу удалить их, потому что у меня нет разрешения на их чтение, но я не знаю, как получить к ним доступ, чтобы изменить разрешения, потому что я не могу не знаю, как попасть в корзину как root. Все, что я получаю, это сообщение о том, что:

Это местоположение не может быть отображено.

Извините, не удалось отобразить все содержимое trash:///: Операция не поддерживается

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

Я использую Ubuntu 14.04 64bit на ноутбуке ASUS x401a.

jeop
источник
1
как насчет того, чтобы заново запустить nautilus с правами root и очистить корзину? В противном случае вы сможете получить доступ к своей папке для мусора через терминал черезsudo cd /home/your_username/.local/share/Trash
Aserre
здесь мы не используем «решено» в заголовках, вместо этого ставим зеленую галочку в ответе, который работал для вас.
Матео
В этом случае ответ был в комментарии от Ploutox. Я не могу это отметить. Что я могу сделать?
Jeop
@jeop, когда кто-то, особенно кто-то с достаточным количеством представителей, чтобы знать лучше, комментирует вместо ответов, я сам вставляю это как ответ. Вы всегда можете сделать это вики-сообществом, если не хотите, чтобы представитель от него. см. meta.askubuntu.com/questions/6706/convert-comment-as-answer
djeikyb

Ответы:

26

Вам понадобится root-доступ к корзине, чтобы можно было удалить эти файлы - самый простой способ сделать это во временном смысле - это открыть окно терминала alt+ ctrl+ tи ввести команду

gksudo nautilus /home/your_username/.local/share/Trash

Это запустит файловый менеджер с правами суперпользователя, и вы сможете очистить корзину отсюда. Удалить корневой файл.

Когда вы закончите, не забудьте закрыть программу!

Чарльз Грин
источник
1
Спасибо за ваш ответ, но я попробовал это, и все, что я получаю, это сообщение, которое я сказал выше: "Это местоположение не может быть отображено. Извините, не может отобразить все содержимое" trash: /// ": Операция не поддерживается «.
Jeop
K - тогда вы можете попробовать использовать sudo в качестве интерактивного типа оболочки sudo -i, а затем запустить nautilus из командной строки ...
Charles Green
15

Если вы хотите удалить все содержимое корзины, вы можете использовать sudo и удалить весь каталог. Не забудьте переделать каталог, чтобы он не вызывал никаких проблем. Код:

sudo rm -rf /home/User_Name/.local/share/Trash && mkdir /home/User_Name/.local/share/Trash

Это будет делать все с одним входом в терминал.

Майкл Макканн
источник
9

Я лично очень часто пользуюсь trash-cli . Я использую его как альтернативу rmбезопасности (например trash -r my-folder).

sudo apt install trash-cli

После установки вы можете сделать

sudo trash-empty
Prinzhorn
источник
4

запустите это в вашем cmd

sudo rm -rf ~/.local/share/Trash/*
MALLAPU DHEERAJ REDDY
источник
2
Вы должны объяснить, что именно это делает - и, возможно, изменить команду, чтобы не удалять все в мусорное ведро.
Гюнтберт
1

Используйте терминал! 1eleven (перетаскивание)

  • Откройте терминал с помощью Ctrl+ Alt+ t.
  • Чтобы снова стать владельцем файлов и продолжить работу в файловом менеджере, введите команду sudo chown -R $USER:$USERи убедитесь, что в конце есть пробел.
  • Теперь перетащите соответствующий файл или папку из вашего файлового менеджера в терминал.

    • Результат должен выглядеть так:

      sudo chown -R $USER:$USER '/home/$USER/.local/share/Trash/files/some_file.txt'
      

      или это:

      sudo chown -R $USER:$USER '/media/$USER/path to external drive/.Trash-1000/files/sömё fïle thät may have fancy encodings, ſpaces & stu𝖋f.txt'
      

      где $USERобозначает ваше имя пользователя в пути.

  • Запустите команду, нажав Enterи, возможно, обновите представление F5в диспетчере файлов.

  • Как отметил Дэвид Фёрстер, вы можете заменить апострофы кавычками, чтобы иметь расширение переменной оболочки.

Использование терминала с файлами не так сложно, когда работает перетаскивание, не так ли? ^^ Это очень удобная функция, когда вы знаете, как ее использовать.

Или вы можете удалить отдельные файлы с помощью rm. Удаление папок может быть сделано rmdirдля пустых папок или rm -rдля рекурсивного удаления файлов и папок. В то время как метод перетаскивания должен работать почти во всех случаях и правильно избегать всего, что вы все равно должны быть осторожны при использовании команд удаления. Владение файлами и их удаление в вашем файловом менеджере является более безопасным решением.

Связанный

LiveWireBT
источник
@DavidFoerster Ваше редактирование в целом было правильным, но апострофы автоматически генерируются путем перетаскивания файла в терминал. Замена их в примерах приведет к путанице.
LiveWireBT
Я предлагаю другое редактирование, которое объясняет значение $USERтогда, потому что оно не будет выглядеть так же на терминале.
Дэвид Фёрстер,
-1

Если вы midnight commanderустановили, вы можете открыть его с помощью sudo:

sudo mc 

перейти к:

~/.local/share/Trash/

и используйте alt + F6для удаления файлов, которые вы хотите.

GM
источник