Trwale usuwam pliki w systemie Mac OS

21

Jakiś czas temu, jako stosunkowo nowy użytkownik Mac OS X, byłem zaskoczony, gdy dowiedziałem się, że nie można łatwo usunąć plików . Bezpośrednio, to znaczy bez uprzedniego przeniesienia ich do kosza. W systemach Windows i Linux można to oczywiście zrobić z łatwością, ale nie na Macu.

Zauważyłem to podczas próby wyczyszczenia plików z pamięci USB - usunięcie plików („przenieś do kosza”) nie zwalnia miejsca; dzieje się tak dopiero po opróżnieniu całego systemowego Kosza. Niezbyt wygodne! (Wydaje się głupotą, że trzeba opróżnić cały kosz na śmieci, aby zrobić trochę miejsca na pamięci USB. Mogą tam być gigabajty rzeczy, a ten rodzaj przeczy celowi - co jeśli rzeczywiście trzeba przywrócić coś z któregoś dnia.)

Więc jaki jest twój sposób na poruszanie się po tym ? Czy kupiłeś aplikację zewnętrzną, taką jak RAW Trash, za 16,95 USD tylko w celu usunięcia plików, czy też starannie opróżniasz kosz na śmieci, gdy jest to potrzebne? A może coś przeoczyłem? Czy możesz mnie również przekonać, że tak właśnie powinno być - że użytkownicy nie powinni mieć możliwości łatwego manipulowania systemem plików? :)

Jonik
źródło
1
Czy szukałeś skrótu ⌘+⌥+⌫(Command + Opcja + Usuń)?
Daniel

Odpowiedzi:

22

Nie jestem też zadowolony ze sposobu, w jaki Mac OS X sobie z tym radzi. Jeśli naprawdę chcę coś usunąć, zwłaszcza z pamięci USB, zwykle uruchamiam terminal i rmpliki ręcznie.

Daan
źródło
28

Ponieważ wydaje się, że tak wielu ludzi tego chce, właśnie stworzyłem usługę, aby to zrobić, dla Snow Leopard, o nazwie Usuń natychmiast . Wyświetla się w menu Usługi i menu kontekstowym w Finderze.

Możesz pobrać go z GitHub . Rozpakuj .ziparchiwum i przenieść wynikowy „ Delete Immediately.service” do folder Usługi w katalogu biblioteki ~/Library/Services/. Może być konieczne wylogowanie się i ponowne zalogowanie (i / lub włączenie go w sekcji Usługi w preferencjach klawiatury), aby system mógł rozpoznać usługę.

Sugeruję również sprawdzenie READMEpliku na stronie głównej w GitHub. A jeśli chcesz przyczynić się do kodu, zlokalizować go lub stworzyć ikonę, nie krępuj się!

Menu kontekstowe

Menu usług

jtbandes
źródło
4
Shiney Możesz także przypisać skrót klawiaturowy do tej usługi: „W menu aplikacji wybierz Usługi / Preferencje usług. Otwórz Preferencje systemowe / Klawiatura / Skróty klawiaturowe / Usługi. Wybierz usługę, naciśnij Enter, a następnie naciśnij wybraną kombinację klawiszy skrótu” (z gingerbeardman.com/services )
dbr
Bardzo fajnie, dziękuję! Czy to działa tylko na 10.6? (Jeszcze przez jakiś czas będę na Leopardzie.)
Jonik
1
Na razie działa tylko w wersji 10.6, nie jestem tak obeznany z działaniem usług w wersji 10.5 (nie pojawiają się one w menu kontekstowym, a napisanie wtyczki do menu kontekstowego dla wersji 10.5 jest nieco trudniejsze).
jtbandes
I, Jonik, naprawdę polecam uaktualnienie do wersji 10.6, jeśli twój sprzęt na to pozwala (tzn. Masz komputer Mac z procesorem Intel). Nawet jeśli nie dostaniesz wielu przyspieszeń, jeśli nie masz 64-bitowej maszyny, tak jak ja, drobne udoskonalenia są zdecydowanie warte niskiej ceny.
jtbandes
1
Czy istnieje sposób przypisania Shift + Del jako skrótu do tej usługi? Wygląda na to, że Preferencje systemowe
emitują
8

Bez terminalowym sposobem rozwiązania tej zagadki jest rzucenie następującego zaklęcia, aby ułagodzić bożków Apple, w ten sposób:

Wybierz plik, który chcesz poświęcić, a następnie recytuj:

⌘ Usuń

⌘ ⇧ ⌥ ⌫

Spowoduje to wysłanie pliku do Kosza, a następnie usunięcie całego Kosza , w związku z czym należy wysłać ofiarę (i wszystkie inne zniszczone przedmioty) do zapomnienia.

GeneQ
źródło
Fajne dzięki! W tej chwili nie mogę potwierdzić, czy to działa, ale jeśli tak, to właśnie tego chciałem :)
Jonik
12
Powoduje to najpierw usunięcie pliku, a następnie opróżnienie kosza. Jest to przydatny skrót klawiaturowy, ale tak naprawdę nie rozwiązuje problemu niemożności łatwego usunięcia wybranych plików.
Daan
1
Uzgodniony Daan. To nie jest idealne. Ale używanie rm w Terminalu również nie jest idealnym i raczej nie Macowym sposobem robienia rzeczy. Nasz przyjaciel Jonik będzie musiał rozważyć zalety i wady. ;-)
GeneQ
9
-1 za wprowadzającą w błąd odpowiedź. Co jeśli użytkownik nie chce opróżnić kosza?
hasen
3
-1 również, pierwotne pytanie wspomina, że ​​opróżnianie całego systemu śmieci „Niezbyt wygodne!”, Co robi ten skrót ..
dbr
4

Aby usunąć określony plik, bez przechodzenia do kosza ..

  • otwórz terminal
  • wpisz rm(ze spacją) lub rm -rjeśli planujesz usunąć katalog
  • przeciągnij i upuść plik do okna terminala, które wprowadza pełną ścieżkę do upuszczonego pliku
  • wciśnij Enter

Rozwiązanie usługi „Usuń natychmiast” jtbandesa jest o wiele bardziej eleganckie, ale „sposób terminala” nie wymaga dodatkowego oprogramowania (więc jest dobry, gdy pracujesz na komputerach, z których nie korzystasz regularnie)

dbr
źródło
+1, dzięki za przeciągnięcie i upuszczenie na końcówkę terminala
Jonik
Dzięki za przydatną wskazówkę, opartą na twojej sugestii Zrobiłem prostą aplikację kakaową, oto link: daemonconstruction.blogspot.in/2013/01/…
Devarshi
@Miraaj Glad odpowiedź była przydatna! Link do pobrania w Twoim blogu jest uszkodzony (link zawiera następne zdanie, a nie URL)
dbr
@dbr .. dzięki za poinformowanie mnie .. Zaktualizowałem go teraz :-)
Devarshi 13.01.2013
2

Używam rm -rf w wierszu poleceń. Usuwa się znacznie szybciej i usuwa wszystko. Częstym problemem, jaki mam w systemie Windows, jest to, że usuwanie jest procesem, a nie momentem i często obserwuję, jak Windows usuwa foldery i pliki przez kilka minut. Rm -rf jest szybki.

Możesz także użyć polecenia rm -rf, aby usunąć określony Kosz. Kosz to ukryty folder o nazwie .Trash w katalogu głównym odpowiedniego woluminu lub katalogu.

I tak, myślę, że tak właśnie powinno być. Użytkownicy nie powinni mieć możliwości szybkiego usuwania plików za pomocą Findera. Pliki powinny być możliwe do odzyskania z Kosza.

Andrew J. Brehm
źródło
Pamiętaj, że jeśli miejsce w Koszu nie jest liczone jako zajęte, pliki w Koszu zostaną z czasem zastąpione i nie będzie można ich odzyskać. Tak więc wybór jest naprawdę między trzymaniem plików w Koszu a cierpieniem na uderzenie miejsca lub nie trzymaniem plików w Koszu i posiadaniem większej ilości miejsca. Kombinacje między nimi są nieprzewidywalne dla zwykłego użytkownika.
Andrew J. Brehm
4
To dobra rada, ale myślę, że należy wyjaśnić nieświadomym / niezręcznym, że rm -rf musi być używane bardzo ostrożnie; usunie wszystko z folderu, który do niego przekazujesz, w tym folder, bez potwierdzenia. Jeśli do tego polecenia zostanie przekazany folder systemowy, możesz zrobić wystarczająco dużo szkód, aby wymagać ponownej instalacji systemu operacyjnego (chociaż uprawnienia powinny powstrzymywać cię przed zniszczeniem systemu, staram się na nich nie polegać).
Babu,
Dlaczego głosowanie w dół?
Andrew J. Brehm
2

Zaletą Mac OS X jest to, że choć niedoświadczeni użytkownicy nie są w stanie łatwo znaleźć drogi i załatwić sprawy, zaawansowani użytkownicy mogą „manipulować systemem”, wykorzystując moc bazowego systemu Unix za pomocą powłoki poleceń (tj. Terminal.app).

@Leauki ma rację, używając komendy unix rm, ale BĄDŹ BARDZO OSTROŻNY, szczególnie jeśli używasz -rfflag! Nie ma siatki bezpieczeństwa i możesz wyrządzić poważne szkody, włączając usunięcie własnego systemu plików root!

Radzę nie używać ścieżek bezwzględnych rm, ale cdnajpierw przejść do katalogu, z którym chcesz pracować, a następnie na przykład:

rm -rf ./<subpath to file to delete>gdzie ./ścieżka na ścieżce zmusza rmdo działania tylko w katalogu, w którym aktualnie się znajdujesz.

avstrallen
źródło
5
rm -rf bin - oops Zapomniałem cd, ale nie jestem w / so nie tak duży oops. rm -rf / bin - oops Zapomniałem wpisać. więc WIELKIE OPCJE! (niezależnie od tego, gdzie mam cd)! Więc się nie zgadzam.
Wstrzymano do odwołania.
@Dennis - tak, jeśli zapomnisz wpisać okres, jesteś w świecie bólu! To chyba główny powód, dla którego Apple nie chce, aby ich przeciętny użytkownik robił takie rzeczy, stąd funkcjonalność kosza, z którą OP miał problem. Zgadzam się więc z twoją niezgodą, ale wygląda na to, że ty i ja jesteśmy doświadczonymi * nikczemnikami, którzy szanują powłokę poleceń jako potencjalnie niebezpieczne miejsce, jakie znamy. Sugerowałem tylko, że mniej doświadczeni użytkownicy mają nawyk myślenia przed użyciem potencjalnie niebezpiecznych poleceń.
avstrallen
Dzięki. Zgadzam się, że łatwo to zrobić w wierszu poleceń. Ale w tym przypadku nie lubię uciekać się do tego ... W systemie Mac OS nie powinieneś używać wiersza poleceń do typowych rzeczy dla użytkowników końcowych, IMHO i uwalniania miejsce na pamięci USB jest dość powszechną rzeczą.
Jonik
Zgadzam się z @GeneQ i @Daan - ale mam obejście metodologiczne: nie wkładam niczego do Kosza, dopóki nie upewnię się, że to zrobiłem, a następnie opróżniam Kosz natychmiast za każdym razem ... problem rozwiązany.
avstrallen
1

Wymyśliłem następujący skrypt jabłkowy, który musiałem przesunąć del za pomocą Keyboard Maestro, więc teraz działa jak w systemie Windows. Po wybraniu elementu w Finderze, shift del uruchomi skrypt, który wyświetli okno dialogowe z ostrzeżeniem o trwałym usunięciu elementu z jego nazwą. Kliknięcie OK kończy usuwanie.

Nie wiem dużo o poleceniach powłoki, a niektóre z poprzednich plakatów ostrzegały przed niebezpieczeństwem użycia rm -rf, co zrobiłem w skrypcie. Wydaje się jednak, że działa tak, jak do tej pory przewidywano.

tell application "Finder"
    set myPosixPath to selection as text --returns an alias path
    set myPosixPath to POSIX path of myPosixPath --set it to posix style path with backslashes

    --identify whether it's a file or folder. Only for the warning dialog.
    if character -1 of myPosixPath is "/" then
        set itemType to "folder"
    else
        set itemType to "file"
    end if

    --display a warning
    display dialog myPosixPath & "

This cannot be undone." with title "Really permanently delete this " & itemType & "?"
do shell script "rm -rf " & quoted form of myPosixPath --execute a shell script to delete the item
end tell
gruby chłopak
źródło
dla wszystkich rzeczy, których Mac OS X jeszcze nie zapewnia, jest Keyboard Maestro.
Kaushik Gopal
0

Myślę, że dzieje się tak w celu zachowania spójności użytkowników i bezpieczeństwa. Myślę, że lepiej jest przechowywać pliki dłużej niż jest to wymagane i używać miejsca zamiast gung-ho i natychmiast je usuwać.

To trochę denerwujące, gdy pracujesz z pamięciami USB i przenosisz je na maszynę z systemem Windows i idziesz ... gdzie jest cała moja przestrzeń ... i co to za denerwujący folder .trash.

Bruce McLeod
źródło
0

Użyj muCommander do usuwania plików (to nic nie kosztuje)

Zamiast korzystać z Findera, być może użyj innego menedżera plików, takiego jak muCommander. Może także usuwać pliki i przenosić je do kosza. Jest to o wiele bezpieczniejsze niż wklejanie „rm -rf” do terminala, gdzie ryzykujesz wklejeniem niewłaściwych poleceń, powodując nieodwracalne szkody.

neoneye
źródło
0

Jeśli naprawdę chcesz korzystać z aplikacji innej firmy , znacznie tańszą alternatywą dla wspomnianego RAW Trash jest File Shredder . (US Mac App Store 3,99 USD)

Oferuje kilka sposobów bezpiecznego usuwania plików:

  • Jednoprzebiegowe normalne usunięcie, które po prostu nadpisuje twoje pliki.
  • Siedmioprzebiegowe przejście zgodne z DoD zapewnia, że ​​większość ludzi nie może dostać się do twoich plików.
  • Usunięcie Gutmanna w 35 przebiegach gwarantuje, że twoje pliki naprawdę znikną po ich usunięciu.

Może to być nieco przesada dla większości ludzi, chociaż jeśli szukasz tańszego sposobu niż RAW Trash, aby bezpiecznie usunąć pliki FileShredder wykonuje zadanie.

Szymon, Szymek
źródło