Ich verstehe ich verwenden kann , find . -name ".DS_Store"
um alle die .DS_Store Dateien zu finden im aktuellen Ordner und alle Unterordner. Aber wie kann ich sie gleichzeitig von der Kommandozeile löschen? Ich fand es wirklich ärgerlich, zu allen Ordnern hin und her zu wechseln und sie einzeln zu löschen.
linux
macos
command-line
Aaron Zeng
quelle
quelle
find . -name '.DS_Store' -type f -delete
2>/dev/null 1>/dev/null
einen Unix-Befehl anhängen , um ihn leise zu machen.Dadurch werden alle
.DS_Store
im aktuellen Pfad genannten Dateien gelöscht und gleichzeitig ihre relativen Pfade angezeigtquelle
Der beste Weg, dies sauber zu machen, ist:
Dadurch werden die Dateien entfernt, Fehler "Berechtigung verweigert" ausgeblendet (während andere Fehler beibehalten werden) und eine saubere Liste der entfernten Dateien ausgedruckt.
quelle
Sie können auch erweitertes globbing (
**
) verwenden:in zsh, bash 4 und ähnlichen Shells (falls nicht aktiviert, aktivieren durch :)
shopt -s globstar
.quelle
Erstellen Sie eine neue Datei mit einem Texteditor, kopieren Sie den folgenden Text, fügen Sie ihn ein, speichern Sie ihn mit der Dateierweiterung ".sh" und öffnen Sie die Datei mit Terminal. Stellen Sie sicher, dass der Texteditor den Rohtext tatsächlich speichert und die Datei nicht als Rich-Text-Format-Datei oder ein anderes Text-Dateiformat mit zusätzlichen Informationen in der Datei speichert.
quelle
Hier erfahren Sie, wie Sie die .DS_Store-Datei rekursiv entfernen
Terminal öffnen Wechseln Sie in der Befehlszeile zum Speicherort des Ordners, in dem sich alle Dateien und Ordner befinden: cd to / your / directory
Geben Sie schließlich den folgenden Befehl ein: - find. -name '.DS_Store' -Typ f -delete
Drücken Sie Enter
Prost!!
quelle
Dies war nicht gerade die Frage, aber wenn Sie das Verzeichnis tatsächlich ohne diese
.DS_STORE
Dateien komprimieren möchten , ist dies ein Vergnügen ...quelle