Löschen von verstecken Dateien/Verzeichnissen unter Linux

Neulich habe ich ein Bashscript geschrieben, in dem der Verzeichnisinhalt von /ein/beispiel/ komplett gelöscht werden soll. Dazu zählen auch die Dateien/Verzeichnisse die versteckt sind (fangen mit einem Punkt an).
Mit einem einfachem rm -rf *.* werden auch brav alle Verzeichnisse und Dateien gelöscht. Aber es werden zwei Warnungen ausgegeben:

rm: refusing to remove '.' or '..' directory: skipping 'income/.'
rm: refusing to remove '.' or '..' directory: skipping 'income/..'

Das ist natürlich eine unschöne Ausgabe. Denn ich bin der Ansicht, es sollen nur Fehler ausgegeben werden, wenn es für den Benutzer interessant ist. Was in diesem Fall nicht gegeben ist. Ich habe den Befehl auf rm -rf .??* abgeändert. Der Punkt markiert alle verstecken Dateien/Ordner. Die beiden Fragezeichen erwarten zwei Zeichen. Somit werden die beiden „.“ und „..“ ausgeklammert. Der Stern markiert alle Zahlen oder Zeichen, die für Datei/Ordnername benutzt werden.

Zum Scluss noch ein Beispiel:

# Das Verzeichnis "income" leeren
rm -rf $localTmpPath/*
rm -rf $localTmpPath/.??*
Abonnieren
Benachrichtige mich bei
0 Comments
Inline Feedbacks
View all comments