Nie można usunąć pliku z kosza, który został tam umieszczony jako root

25

Wiem o niebezpieczeństwach związanych z korzystaniem z dostępu do konta roota, więc proszę o rezygnację z wykładów. Staram się być ostrożny i odtąd będzie podwójnie.

Korzystałem z przeglądarki plików z dostępem do katalogu głównego, aby zmienić niektóre uprawnienia do plików. Podczas tego procesu usunąłem niektóre pliki (powinienem powiedzieć, że wyrzuciłem je do kosza). Nie wiedziałem, że pliki trafią do kosza jako root, a teraz nie mogę ich usunąć, ponieważ nie mam uprawnień do ich odczytu, ale nie wiem, jak uzyskać do nich dostęp, aby zmienić uprawnienia, ponieważ nie nie wiem jak dostać się do kosza jako root. Dostaję tylko wiadomość, że:

Nie można wyświetlić tej lokalizacji.

Niestety, nie można wyświetlić całej zawartości trash:///: Operacja nie jest obsługiwana

Szukałem wokół, aby znaleźć posty na ten temat, ale znalazłem tylko nieaktualne informacje o ukrytym pliku w katalogu głównym. Wydaje się, że to już nie obowiązuje, więc utknąłem z plikiem w koszu, którego nie mogę usunąć i nie mogę uzyskać dostępu.

Używam Ubuntu 14.04 64bit na laptopie ASUS x401a.

jeop
źródło
1
co powiesz na ponowne uruchomienie nautilusa jako root i opróżnienie kosza? W przeciwnym razie powinieneś mieć dostęp do swojego folderu na śmieci przez terminal przezsudo cd /home/your_username/.local/share/Trash
Aserre
w tytułach nie używamy słowa „rozwiązany”, zamiast tego kliknij zielony znacznik wyboru na odpowiedzi, która Ci odpowiadała.
Mateo
W tym przypadku odpowiedź znalazła się w komentarzu Ploutox. Nie mogę tego zaznaczyć. Co mogę zrobić?
jeop
@jeop, gdy ktoś, a zwłaszcza ktoś z wystarczającą liczbą przedstawicieli, aby wiedzieć lepiej, komentuje zamiast odpowiedzi, sam wklejam jako odpowiedź. zawsze możesz zrobić to wiki społeczności, jeśli nie chcesz od tego przedstawiciela. patrz meta.askubuntu.com/questions/6706/convert-comment-as-answer
djeikyb

Odpowiedzi:

26

Aby usunąć te pliki, musisz mieć uprawnienia roota do kosza - najprostszym sposobem, aby to zrobić tymczasowo, jest otwarcie okna terminala alt+ ctrl+ ti wprowadzenie polecenia

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

Spowoduje to uruchomienie menedżera plików z uprawnieniami superużytkownika i powinieneś być w stanie opróżnić kosz z tego miejsca. Usuń plik będący własnością roota.

Po zakończeniu pamiętaj o zamknięciu programu!

Charles Green
źródło
1
Dziękuję za odpowiedź, ale próbowałem tego i dostaję tylko komunikat, który napisałem powyżej: „Nie można wyświetlić tej lokalizacji. Niestety, nie można wyświetlić całej zawartości„ kosza: /// ”: Operacja nie jest obsługiwana . ”
jeop
K - wtedy możesz spróbować użyć sudo jako interaktywnego typu powłoki sudo -i, a następnie uruchomić nautilus z wiersza poleceń ...
Charles Green
15

Jeśli chcesz usunąć całą zawartość kosza, możesz użyć sudo i usunąć cały katalog. Pamiętaj, aby ponownie utworzyć katalog, aby nie powodował żadnych problemów. Kod to:

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

To wszystko zrobi po jednym wejściu do terminala.

Michael McCann
źródło
9

Osobiście często używam trash-cli . Używam go jako alternatywy dla rmbezpieczeństwa (np trash -r my-folder.).

sudo apt install trash-cli

Po zainstalowaniu możesz to zrobić

sudo trash-empty
Prinzhorn
źródło
4

uruchom to w swoim cmd

sudo rm -rf ~/.local/share/Trash/*
MALLAPU DHEERAJ REDDY
źródło
2
Powinieneś wyjaśnić, co to dokładnie robi - i może zmienić polecenie, aby nie usuwać wszystkiego z kosza.
guntbert,
1

Użyj terminalu! 1eleven (przeciągnij i upuść)

  • Otwórz terminal za pomocą Ctrl+ Alt+ t.
  • Aby ponownie przejąć na własność pliki i kontynuować w menedżerze plików, wpisz polecenie sudo chown -R $USER:$USERi upewnij się, że na końcu jest spacja.
  • Teraz przeciągnij plik lub folder, którego dotyczy problem, z menedżera plików do terminala.

    • Wynik powinien wyglądać następująco:

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

      albo to:

      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'
      

      gdzie $USERoznacza nazwę użytkownika w nazwie ścieżki.

  • Uruchom polecenie, naciskając Enteri prawdopodobnie odśwież widok za F5pomocą menedżera plików.

  • Jak zauważył David Foerster, możesz zastąpić apostrofy cudzysłowami, aby uzyskać rozszerzenie zmiennej powłoki.

Używanie terminala z plikami nie jest trudne, gdy działa przeciąganie i upuszczanie, prawda? ^^ Jest to bardzo przydatna funkcja, gdy wiesz, jak z niej korzystać.

Alternatywnie możesz usunąć pojedyncze pliki za pomocą rm. Kasowanie folderów można wykonać za pomocą rmdirpustych folderów lub rm -rrekurencyjnego usuwania plików i folderów. Podczas gdy metoda przeciągnij i upuść powinna działać w prawie wszystkich przypadkach i właściwie uciec od wszystkiego, należy zachować ostrożność podczas używania poleceń usuwania. Posiadanie plików i usuwanie ich w menedżerze plików jest bezpieczniejszym rozwiązaniem.

Związane z

LiveWireBT
źródło
@DavidFoerster Twoja edycja była ogólnie poprawna, ale apostrofy są generowane automatycznie przez przeciągnięcie pliku do terminala. Zastąpienie ich w przykładach spowoduje zamieszanie.
LiveWireBT,
Zasugeruję kolejną edycję, która wyjaśnia znaczenie $USERtego, ponieważ nie będzie tak wyglądać na terminalu.
David Foerster,
-1

Jeśli masz midnight commanderzainstalowany, możesz go otworzyć, używając sudo:

sudo mc 

iść do:

~/.local/share/Trash/

i użyj, alt + F6aby usunąć wybrane pliki.

GM
źródło