Terminal rm -r Befehl

Aleks

Aleks

Aktives Mitglied
Thread Starter
Dabei seit
02.07.2004
Beiträge
210
Reaktionspunkte
0
Hallo, ich möchte Ordner mit dem terminal löschen, wenn ich rm- r oder rmdir verwende sagt er mir immer "directory not empty" manchmal macht er es einfach, oder er macht es erst nach einigen Versuchen, oder er bringt immer diese Meldung!
 
In dem Verzeichnis sind noch versteckte Dateien, die du mit "rm .*" löschen kannst. Anzeigen lassen kannst du sie mit "ls -a".
 
wenn ich aber in das Verzecihnis gehe und rm.* ausführe, bekomme ich folgende Ausgabe: rm: "." and ".." may not be removed
rm: .rsrc: is a directory!
 
Unter Linux heisst der Befehl zum Löschen von Ordnern mit Inhalt rm .. -R

Also mit grossem R sollte es vielleicht funktionieren.
 
rm -rf sollte das ohne nachfragen löschen...

rmdir löscht dir generell nur leere verzeichnisse
 
Also großes R möchte er nicht und mit -rf bekomme ich immer noch eine Meldung "Operation not permitted" und "directory not empty"! Ich glaub ich spinne!
 
Aleks schrieb:
Also großes R möchte er nicht und mit -rf bekomme ich immer noch eine Meldung "Operation not permitted" und "directory not empty"! Ich glaub ich spinne!

Möglicherweise fehlen dir die Rechte.
 
Ich bin root!
 
gib mal folgendes ein: echo $UID und schau nach, ob null (0) oder was anderes rauskommt. Ansonsten gibt es auch für root die normalen Rechte. Das heisst, wenn du ein File hast, dass als Berechtigung r--r--r-- (444 oder nur Readrechte) hast, dann kann es möglich sein, dass du ihm erst mit chmod die Rechte geben musst. Eine einfache Möglichkeit wäre hier:

chmod -R 744 /verzeichnisname, wodurch Root Vollzugriff auf alle Dateien innerhalb von /verzeichnisname bekommt. Danach ein rm -rf /verzeichnisname und dann sollte das funktionieren.
 
Aleks schrieb:
wenn ich aber in das Verzecihnis gehe und rm.* ausführe, bekomme ich folgende Ausgabe: rm: "." and ".." may not be removed
Das ist korrekt. "." ist das aktuelle Verzeichnis und ".." das übergeordnete. Die Meldung kannst du also igniorieren.
Aleks schrieb:
rm: .rsrc: is a directory!
Dann ist .rsrc ein verstecktes Verzeichnis. Versuch mal "rm -r .*".
 
echo $UID kommt 0 raus, wenn ich chmod -R 744 Ordnername mache dann bekomme ich wieder die Operation not permitted für jedes einzelne Objekt!
 
Aleks schrieb:
echo $UID kommt 0 raus, wenn ich chmod -R 744 Ordnername mache dann bekomme ich wieder die Operation not permitted für jedes einzelne Objekt!

Dateisystem r/o gemounted?
Ggf. Special Devices drin?
 
Komisch. Kannst du vielleicht mal die Permissions mittels ls -al ausgeben und hier posten? Vielleicht wirds ja dann klarer wo das Problem liegt...
 
Sorry, habs soeben mit der Gui direkt am Server gelöscht! Werde es aber nachvollziehen! Gibt es irgend wo online ein schönes Nachschlagewerk für UNIX Befehle für X, da ich nur einige kenne!
 
Bestimmt ein Interessanter Bug :) Oder Bedienungsfehler oder sonstwas. Bin gespannt was rauskommt
 
acid schrieb:
gib mal folgendes ein: echo $UID

`id` ist etwas hübscher:

% id
uid=501(below) gid=501(below) groups=501(below), 80(admin)

Alex
 
Jepp stimmt schon. Ist wohl gewohnheitssache. Ich hab die UID so immer in Shellscripten abgefragt, darum ist das wohl hängen geblieben. Man könnte ja auch einfach who oder whoami (oder ist das nur ein Shortcut bei Linux?) verwenden. Wie immer gibts bei Unix 1000 Wege zum selben Ziel :)
 
> habs soeben mit der Gui direkt am Server gelöscht!

It's not a bug, it's a feature ;-)

Es nennt sich rootsquash und bedeutet, daß die UID des lokalen (Client) root-Accounts auf irgendeine andere UID (meistens nobody) am Server abgebildet wird. Sinn der Sache ist zu verhindert, daß der Admin des Clients uneingeschränkte Schreibrechte auf dem Server bekommt.

Gruß, Denny
 
Zurück
Oben Unten