Wie kann ich den Papierkorb im Terminal leeren?
Eine andere Lösung wäre, AppleScript zu erstellen, das den folgenden Code enthält
tell application "Finder"
empty the trash
end tell
speichern Sie es emptytrash
beispielsweise unter und führen Sie es über ausopen emptytrash.app
oder noch besser (wie von Chris vorgeschlagen) - ausführen:
osascript -e 'tell app "Finder" to empty'
Da Papierkorb eine Finder-Sache ist, sollte dies auf lange Sicht kompatibler sein.
Der Papierkorb ist eigentlich ein versteckter Ordner im Ordner des Benutzers mit dem Namen.Trash
Wenn Sie den Inhalt löschen, leeren Sie den Papierkorb. Sie können verwenden
rm -rf ~/.Trash/*
Seien Sie vorsichtig damit, damit Sie nichts anderes löschen ;)
Ein Überblick über verschiedene Befehlszeilentools zum Verwalten des Papierkorbs von der Befehlszeile aus:
http://hasseg.org/blog/post/406/trash-files-from-the-os-x-command-line/
Wenn Sie Homebrew installiert haben, können Sie den Papierkorb einfach installieren, indem Sie Folgendes eingeben:
brew install trash
Um den Papierkorb zu leeren, müssen Sie dann nur Folgendes in die Befehlszeile eingeben:
trash -e
Es ist ein hübsches kleines Stück Software.
$ trash
usage: trash [-ulesv] <file> [<file> ...]
Move files/folders to the trash.
Options to use with <file>:
-a Use system API for trashing files instead of asking
Finder to do it. (Faster, but the 'put back' feature
in the Finder trash will not work if files are trashed
using this method.) Finder is still used for trashing
files you have no access rights for.
-v Be verbose (show files as they are trashed, or if
used with the -l option, show additional information
about the trash contents)
Stand-alone options (to use without <file>):
-u Check for updates (and optionally auto-update self)
-l List items currently in the trash (add the -v option
to see additional information)
-e Empty the trash (asks for confirmation)
-s Securely empty the trash (asks for confirmation)
Options supported by `rm` are silently accepted.
Version 0.8.5
Copyright (c) 2010 Ali Rantakari, http://hasseg.org/trash
Eine reine Kommandozeilenversion:
find "${HOME}/.Trash/" -print | \
tail +2 | \
tr '\12' '\0' | \
xargs -0 echo rm -rf
~/.Trash
.Möglicherweise erhalten Sie Fehlermeldungen über nicht vorhandene Dateien. Dies berücksichtigt nicht die Tatsache, dass Verzeichnisse möglicherweise zuerst Dateien darin löschen, bevor sie dann versuchen, die darin enthaltenen Dateien zu löschen.
Sie können einfach den Befehl verwenden
rm -rf "${HOME}/.Trash/*"
Wir entfernen (rm) rekursiv (-r) und erzwingen (-f) alle Dateien im Verzeichnis „/Trash“.
Ich bevorzuge die Verwendung von "$HOME" anstelle von "~", da dies zu Problemen in einem Skript führen kann, wenn Sie Folgendes tun möchten:
#!/bin/bash
#
# Tidy your machine
# General file paths
file_paths=("${HOME}/Desktop/*" "${HOME}/Downloads/*" "${HOME}/Pictures/Screen*")
# Remove file paths
for file_path in ${file_paths[@]}; do
rm -rf ${file_path}
done
Chris Johnsen
osascript -e 'tell app "Finder" to empty'
(obwohl Sie vielleicht ein Shell-Skript einfügen möchten, um zu vermeiden, dass Sie die Syntax jedes Mal genau richtig machen müssen).