Alle Dateien und Verzeichnisse löschen - auch die mit Punkt am Anfang

12/11/2008 - 12:11 von Frank A. Simon | Report spam
Hallo,

ich möchte in einem Verzeichnis alle Dateien und Unterverzeichnisse
löschen, jedoch nicht das oberste Verzeichnis selbst (nennen wir es /
test).

rm -rf /test/*

war mein erster Gedanke. Damit lösche ich aber nicht Dateien wie /
test/.htaccess

Also war meine nàchste Idee noch ein

rm -rf /test/.*

hinterher zu schicken. Führt zwar zum gewünschten Ergebnis, aber mit
der unschönen Meldung:

cannot remove directory .
cannot remove directory ..

Wie geht's richtig?

Danke
 

Lesen sie die antworten

#1 Andreas Kraftl
12/11/2008 - 12:30 | Warnen spam
Am Wed, 12 Nov 2008 03:11:02 -0800 schrieb Frank A. Simon:
rm -rf /test/.*

hinterher zu schicken. Führt zwar zum gewünschten Ergebnis, aber mit der
unschönen Meldung:

cannot remove directory .
cannot remove directory ..

Wie geht's richtig?



Der einfachste Weg ist
rm -rf /test/.[^.]*

Ein anderer ist es, der bash beizubringen dass * auch auf Dateien
beginnend mit . expandiert werden sollen.
Führe ein
shopt -s dotglob
aus und * wird auch auf "versteckte" Dateien expandieren.

Gruß
Andreas

Ähnliche fragen