[gelöst] rm -r Besimmten Ordner "NICHT" löschen
[gelöst] rm -r Besimmten Ordner "NICHT" löschen
Hallo,
ich habe ein kleines Problem.
Ich möchte aus einem Ordner diverse Unterordner löschen, aber ein bestimmter Unterordner soll nicht gelöscht werden.
mit rm -r lösche ich ja alle.
Gibt es da eine einfache Lösung ?
Beispiel:
Ordner /TEST
/TEST/test1
/TEST/test2
/TEST/test3
/TEST/......
es soll alles aus /TEST außer /test2 gelöscht werden.
mfg.
vobie
ich habe ein kleines Problem.
Ich möchte aus einem Ordner diverse Unterordner löschen, aber ein bestimmter Unterordner soll nicht gelöscht werden.
mit rm -r lösche ich ja alle.
Gibt es da eine einfache Lösung ?
Beispiel:
Ordner /TEST
/TEST/test1
/TEST/test2
/TEST/test3
/TEST/......
es soll alles aus /TEST außer /test2 gelöscht werden.
mfg.
vobie
Zuletzt geändert von vobie am 06.11.2009 08:31:41, insgesamt 1-mal geändert.
Es gibt keine dummen Fragen. Aber leider viele dumme Antworten.
Re: rm -r Besimmten Ordner "NICHT" löschen
Insofern du *nicht* die Option `-f' verwendest kannst du einfach die Schreibrechte entziehen:
Dann wirst du gefragt ob der Ordner entfernt werden soll. Wenn du da nur Enter drückst, dann bleibt er erhalten.
EDIT:
Stelle gerade fest, dass das so kein kann, aber mit anderen rm-Implementierungen nicht so sein muss!
Aber gab's da nicht Möglichkeiten, vermutlich FS-abhänging, durch erweiterte Dateiattribute sowas zu realisieren. Habe aber leider kein Stichwort parat.
----
(Frage mich gerade warum trotzdem löscht. Interaktiv mit der Eingabe `no' aber nicht.)
Code: Alles auswählen
chmod -w /TEST/test2
EDIT:
Stelle gerade fest, dass das so kein kann, aber mit anderen rm-Implementierungen nicht so sein muss!
Aber gab's da nicht Möglichkeiten, vermutlich FS-abhänging, durch erweiterte Dateiattribute sowas zu realisieren. Habe aber leider kein Stichwort parat.
----
(Frage mich gerade warum
Code: Alles auswählen
yes no | rm -r ...
Use ed once in a while!
Re: rm -r Besimmten Ordner "NICHT" löschen
Ich würde den betreffenden Ordner einfach woanders hin kopieren, dann den Rest löschen und den Ordner zurück kopieren. Dann kann dabei wenigstens nichts schiefgehen.
Re: rm -r Besimmten Ordner "NICHT" löschen
hi,
danke für die schnelle Antwort.
mfg.
vobie
danke für die schnelle Antwort.
mfg.
vobie
Es gibt keine dummen Fragen. Aber leider viele dumme Antworten.
Re: rm -r Besimmten Ordner "NICHT" löschen
Alternativ kann man find nutzen, um alle Ordner, außer den gewünschten aufzulisten. Dann bspw. per xargs an rm übergeben oder direkt mit exec in find.
Als Ansatz:
Als Ansatz:
Code: Alles auswählen
find -maxdepth 1 -type d ! -name "." -a ! -name "test2"
MfG GoKi
:wq
:wq
Re: rm -r Besimmten Ordner "NICHT" löschen
Man könnte das Ding immutable machen:Meillo hat geschrieben: Stelle gerade fest, dass das so kein kann, aber mit anderen rm-Implementierungen nicht so sein muss!
Aber gab's da nicht Möglichkeiten, vermutlich FS-abhänging, durch erweiterte Dateiattribute sowas zu realisieren. Habe aber leider kein Stichwort parat.
chattr +i <directory>
Dann sollte rm nicht löschen können.
Meine Whishlist
:wq!
:wq!
- whisper
- Beiträge: 3379
- Registriert: 23.09.2002 14:32:21
- Lizenz eigener Beiträge: GNU Free Documentation License
-
Kontaktdaten:
Re: rm -r Besimmten Ordner "NICHT" löschen
Genau, mit find, ne Liste maxhen, oder, wenns nicht viel sind einfach
dann fragt er dich bei jedem Ordner
Code: Alles auswählen
rm -ri
Alter ist übrigens keine Ausrede, nur Erfahrung, die sich stapelt.
Re: rm -r Besimmten Ordner "NICHT" löschen
Das war's was mir nicht mehr einfiel.chrisbra hat geschrieben:Man könnte das Ding immutable machen:Meillo hat geschrieben: Aber gab's da nicht Möglichkeiten, vermutlich FS-abhänging, durch erweiterte Dateiattribute sowas zu realisieren. Habe aber leider kein Stichwort parat.
chattr +i <directory>
Use ed once in a while!
Re: rm -r Besimmten Ordner "NICHT" löschen
hi,
die Tipps sind ja alle ganz gut,
aber ich hätte vielleicht noch erwähnen sollen, das der rm -r Befehl aus einem shell script kommt,
deshalb fällt Interaktiv yes/no schon mal aus.
mfg.
vobie
die Tipps sind ja alle ganz gut,
aber ich hätte vielleicht noch erwähnen sollen, das der rm -r Befehl aus einem shell script kommt,
deshalb fällt Interaktiv yes/no schon mal aus.
mfg.
vobie
Es gibt keine dummen Fragen. Aber leider viele dumme Antworten.
Re: rm -r Besimmten Ordner "NICHT" löschen
Deshalb ja mein Versuch mit `yes no | rm -r ...', damit es eben nicht mehr interaktiv ist. (Vielleicht solltest du dir ja mal die Manpage von `yes' anschauen -- hört sich so an als ob dir das kein Begriff ist.)vobie hat geschrieben:aber ich hätte vielleicht noch erwähnen sollen, das der rm -r Befehl aus einem shell script kommt,
deshalb fällt Interaktiv yes/no schon mal aus.
Am besten ist aber wohl Fjunchclicks Vorschlag. Statt zu kopieren solltest du verschieben (mv). Wenn du dabei auf dem gleichen Dateisystem bleibst, dann werden dabei nämlich nur zwei Verzeichniseinträge geändert. Es ist also sofort erledigt.
Use ed once in a while!
Re: rm -r Besimmten Ordner "NICHT" löschen
Was spricht denn gegen den Einsatz von find (wie oben angedeutet)?vobie hat geschrieben:aber ich hätte vielleicht noch erwähnen sollen, das der rm -r Befehl aus einem shell script kommt,
MfG GoKi
:wq
:wq
Re: rm -r Besimmten Ordner "NICHT" löschen
Ist meiner Meinung nach die sauberste und beste Lösung!
Oh, yeah!
Re: rm -r Besimmten Ordner "NICHT" löschen
hi,
danke an alle, ich habe die Sache mit mv gelöst.
mfg
vobie
danke an alle, ich habe die Sache mit mv gelöst.
mfg
vobie
Es gibt keine dummen Fragen. Aber leider viele dumme Antworten.