löschen von nicht leeren verzeichnis

hallo,
ich möchte einen nicht leeren verzeichnis löschen.
habe ich rmdir ausprobiert aber der befehl kann nur leeren
verzeichnis löschen.
habe gegooglt und habe rm -r gefunden aber ich musste bei jede
file das löschen mit ‚j‘ bestätigen.
gibt es nicht einen befehl dass er dass auf einen schlag
macht.

youssef

habe gegooglt und habe rm -r gefunden aber ich musste bei jede
file das löschen mit ‚j‘ bestätigen.
gibt es nicht einen befehl dass er dass auf einen schlag
macht.

hallo,
probiere es mal mit rm -rf. Funktioniert unter AIX prima.
Gruss Stefan

Hi, rm -rf funktioniert eigentlich unter jedem Linux und Unix-System.
Du musst aber aufpassen, die Option f steht für ‚force‘, d.h. er „erzwingt“ das löschen, da kommen dann keine Abfragen.
Also vorsicht mit Befehlen wie (um alle Dateien und Verzeichnisse zu löschen, die mit einem . anfangen). Wenn Du dann schreibst, dann ist alles weg…

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Etwas zu Aliases

habe gegooglt und habe rm -r gefunden aber ich musste bei jede
file das löschen mit ‚j‘ bestätigen.

Das ist nicht das normale Verhalten von rm -r. Das, was du beschreibst, macht normalerweise rm -ir. Offenbar ist auf deinem System ein Alias definiert, das dem rm-Befehl automatisch das -i mitgibt.

Mit dem Befehl alias kannst du dir die gesetzten Aliases ansehen.
Mit unalias rm kanst du das Alias löschen.
Mit alias rm=‚rm -i‘ kannst du den Parameter -i bei jedem Aufruf von rm wieder mitgeben.

Natürlich kannst du auch eigene Aliases erzeugen:
alias blafasel=‚du -sk * | sort -n‘ beispielsweise erzeugt den Befehl blafasel, der eine Liste des aktuellen Verzeichnisses sortiert nach Größe der files und folder herausgibt.

Beim Anlegen von Aliases bitte darauf achten, dass der gewünschte neue Befehl nicht schon anderweitig vorhanden ist.

Stefan

habe gegooglt und habe rm -r gefunden aber ich musste bei jede
file das löschen mit ‚j‘ bestätigen.

Das ist nicht das normale Verhalten von rm -r. Das, was
du beschreibst, macht normalerweise rm -ir.

Nicht unbedingt:

frank@zion [~] $ mkdir foo
frank@zion [~] $ alias |grep rm
frank@zion [~] $ touch foo/bar
frank@zion [~] $ chmod u-w foo/bar
frank@zion [~] $ rm -r foo
rm: remove write-protected file `foo/bar'? n
rm: cannot remove directory `foo': Directory not empty
frank@zion [~] $ rm -rf foo
frank@zion [~] $

Der unlink einer Datei mit -w ist kein Schreibvorgang auf die Datei, sondern auf das Verzeichnis (und unterliegt daher den Rechten desselbigen). rm ist so nett und fragt trotzdem nach. Ein

$ alias rm='rm -i'

ist (IMHO) ziemlich laestig.

Just my 2cent,
Gruss vom Frank.

Der unlink einer Datei mit -w ist kein
Schreibvorgang auf die Datei, sondern auf das Verzeichnis (und
unterliegt daher den Rechten desselbigen).

Stimmt. An so abgefeimte Dinge habe ich überhaupt nicht gedacht,
obwohl ich täglich damit konfrontiert werde. Tja. Ob vielleicht mehr
Drogen helfen?

Ein

$ alias rm=‚rm -i‘

ist (IMHO) ziemlich laestig.

Allerdings. Es hat mir zwar einmal das Leben gerettet, aber
irgendwann nervt die Fragerei dann so, dass man sie automatisch mit
-rf wegdrückt… was braucht man dann noch das Alias.

Wie dem auch sei: ich will schon seit Jahren völlig sinnfrei etwas
über Aliases schreiben. Wäre also damit abgehakt :wink:

Stefan

Hallo

Ein

$ alias rm=‚rm -i‘

ist (IMHO) ziemlich laestig.

Allerdings. Es hat mir zwar einmal das Leben gerettet, aber
irgendwann nervt die Fragerei dann so, dass man sie
automatisch mit
-rf wegdrückt…

Oder man sitzt an einer anderen Maschine und verläßt sich aus Gewohnheit darauf, daß man ja „sowieso noch gefragt“ wird.

Bssssssssssssssssssssssssssstzzz!

Gruß,

Sebastian

Also vorsicht mit Befehlen wie (um alle
Dateien und Verzeichnisse zu löschen, die mit einem .
anfangen). Wenn Du dann schreibst, dann ist
alles weg…

Das spielt sowieso keine Rolle mehr, weil .* auch das aktuelle Verzeichnis sowie das parent-Verzeichnis einschließt. Man sollte sich also schonmal von seinem $HOME verabschieden.