#!/bin/sh - Alle Ordner rekursiv samt Inhalt löschen, außer den Ordner "xxx" samt Inhalt?

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Hallo

Alle Ordner rekursiv samt Inhalt löschen, außer den Ordner "xxx" samt Inhalt?

Du meinst wohl ab einer bestimmten Verzeichnis-Tiefe oder?

Denn alles andere wäre ja ein Selbstmord des Betriebssystem und dies ist so nicht möglich. Um im Terminalfenster (der Terminalemulation) aeine Software ausführen zu können braucht man ja einen Fenstermanager, eventuell einen Desktop und dann eben den Terminalemulator, sowie das löschende Programm.Würde man hier nun alles löschen, würde das Programm rm ebenfalls terminal (oder Konsole, oder Terminologie ect.), den Fenstermanager (kwin oder mutter, ect.) löschen und sich selbst rm ;-)

Nur wenn Du direkt im "Textmodus" bist, dann fallen die grafischen Teile weg, übrig bleibt dann der laufende Kernel, die Shell (bash, tcl ect.) und rm.

#!/bin/sh

Ist der so genannte Shebang, dieser beinhaltet den Pfad und die zu verwendete Shell, in diesem Fall die sh.

Linuxhase

Woher ich das weiß:eigene Erfahrung – Ich benutze seit 2007 Linux und habe LPIC101 und LPIC102

was soll    #!/bin/sh  in der Frage?

Soll das ein Script werden, mit dem du das abarbeiten willst?

Was sind "Alle Ordner" ? Soll das das gesamte Betriebssystem betreffen?

Wenn es sich z.B. um alles, was sich in /home  befindet geht, dann melde dich als root an.

Ändere den Owner aller Directories rekursiv 

cd  in-das-betreffende-directorie

chown irgendeiner-nur-nicht-root  -r *

trage für das Directory xxx als Owner root ein.

chown root xxx 

und zur Vorsicht noch

chmod 000 xxx

melde dich als user "irgendeiner-nur-nicht-root" an

und lösche alles, was diesem User gehört

rm -rf *

Da xxx root gehört und die Rechte 000 hat, darf  "irgendeiner-nur-nicht-root" das Verzeichnis xxx nicht einmal "betreten"

Anschließend kannst du die bisherigen Rechte und Eigentümer wieder einstellen.

Woher ich das weiß:Berufserfahrung – openSuSE seit 1995