Неможливо видалити файл зі сміття, яке було поміщено туди як root


25

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

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

Не вдалося відобразити це місцеположення.

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

Я шукав навколо, щоб спробувати знайти повідомлення про нього, але я знайшов лише застарілу інформацію про прихований файл у кореневому каталозі. Це, здається, більше не застосовується, тому я застряг із файлом у своєму смітнику, до якого не можу видалити і не можу отримати доступ.

Я використовую Ubuntu 14.04 64bit на ноутбуці ASUS x401a.


1
а як ти відновиш nautilus як корінь і випорожниш сміття? В іншому випадку ви маєте можливість отримати доступ до своєї папки зі сміттям через термінал черезsudo cd /home/your_username/.local/share/Trash
Aserre

ми не використовуємо тут «розв’язаний» у заголовках, натомість натискаємо зелену галочку на відповідь, яка працювала для вас.
Матео

У цьому випадку відповідь була у коментарі Ploutox. Я не можу це відзначити. Що я можу зробити?
jeop

@jeop, коли хтось, особливо хто з достатньою кількістю представників, щоб краще знати, коментує замість відповідей, я сам вставляю це як відповідь. ви завжди можете зробити це вікі спільноти, якщо ви не хочете, щоб представник від нього. дивіться meta.askubuntu.com/questions/6706/convert-comment-as-answer
djeikyb

Відповіді:


26

Вам знадобиться кореневий доступ до кошика, щоб мати змогу видалити ці файли - найпростіший спосіб зробити це у тимчасовому сенсі - це відкрити вікно терміналу alt+ ctrl+ tта ввести команду

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

Це дозволить виконати файловий менеджер із дозволами суперкористувача, і ви маєте змогу спорожнити сміття звідси. Видаліть кореневий файл.

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


1
Дякую за вашу відповідь, але я спробував це, і все, що я отримую, - це повідомлення, яке я вказав вище: "Це місце не вдалося відобразити. Вибачте, не вдалося відобразити весь вміст" trash: /// ": Операція не підтримується . "
jeop

K - тоді ви можете спробувати використовувати sudo в якості інтерактивної оболонки sudo -i, а потім запустити nautilus з командного рядка ...
Чарльз Грін

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

4

запустіть це у вашому cmd

sudo rm -rf ~/.local/share/Trash/*

2
Ви повинні пояснити, що саме це робить - і, можливо, змінити команду, щоб не видаляти все з кошика.
guntbert

1

Використовуйте термінал! 1елевен (перетягування)

  • Відкрийте термінал 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для рекурсивного видалення файлів і папок. Хоча метод перетягування повинен працювати майже у всіх випадках і належним чином уникати всього, до чого слід бути обережним, використовуючи команди видалення. Володіння файлами та видалення їх у своєму файловому менеджері - це більш безпечне рішення.

Пов'язані


@DavidFoerster Ваша редакція, як правило, вірна, але апострофи генеруються автоматично, перетягуючи файл у термінал. Заміна їх у прикладах призведе до плутанини.
LiveWireBT

Я запропоную ще одну редакцію, яка пояснює значення $USERтоді, оскільки воно також не з’явиться таким на терміналі.
Девід Фоерстер

-1

Якщо ви midnight commanderвстановили, ви можете відкрити його за допомогою sudo:

sudo mc 

йти до:

~/.local/share/Trash/

і використовуйте alt + F6для видалення потрібних файлів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.