On Sun, 03 Feb 2002, Helga Fischer wrote:
Am Sonntag, 3. Februar 2002 10:53 schrieb Jürgen Fahnenschreiber:
Wenn ich Dateien/ Verzeichnisse lösche, werden diese entgültig gelöscht und NICHT in den Mülleimer verschoben.
Und das ist auch gut so![tm] Wenn du nicht loeschen willst, dann loesche nicht. Das Verhalten von rm und mv usw. "erzieht" also dazu, konzentriert zu arbeiten, besonders als root. Und auch das ist gut so!!! Tue nie nichts, wovon du nicht genau weisst, was es macht, oder was du vorher (entschaerft) getestet hast -- beim 'globbing'[1] der shell hilft z.B. ein 'ls GLOB' und wenn das dann genau das anzeigt was man will kann man dann 'rm GLOB' nehmen... (ja, bei ext2 kann man, wenn auch schwierig, geloeschte Dateien wieder hervorholen, siehe das Howto dazu[2], bei reiserfs gibt's sowas aber nicht).
Wie kann ich das ändern?
Das willst du nicht wirklich![tm]
Unix-Systeme gehen davon aus, wenn man was sagt, will man auch genau diese Funktion haben. Löschen heißt also weg-damit.
Genau. Und gut so.
Die neuen GUIs weichen davon ab, jedenfalls teilweise.
Leider.
Arbeitest Du auf der Konsole, kannst Du den interaktiven Modus von rm einschalten (meist ohnehin ein alias auf rm -i).
*UUUUUUAAAAHHHHHHHRRRRRRRRRRRRRGGGGGGLLllllllllgggggggnnnnnnn* *lufthol* Wo denn? Wenn das bei SuSE/RH/... so vorkonfiguriert ist, dann gehoert dem dafuer Verantwortlichen eine gehoerige Standpauke verabreicht, z.B. indem man das alias entfernt, und den kerl dann mal ein 'rm -rf /' eingeben laesst... "och, warum nicht? rm fragt ja nach... ups. doch nicht"... Nein, ich will kein rm, und auch kein OS, dass mich, wenn ich sage "tu dies!", endlos fragt "Sicher?". Ja, natuerlich bin ich mir sicher. Wenn ich's nicht waere, wuerde ich den Befehl nicht eingeben *verdammtnochmalundscherdichzumteufel*! Wer unter Win* (oder KDE/Gnome sonstwo) schonmal "ausversehen" einen Befehl aufgerufen hat, und dann die "Freude" hatte 10000de "Sicher?" Dialoge, die einem den Screen vollgemuellt haben, wegzuklicken, der weiss, warum ich das "nicht nachfragen -- machen" von *nix so mag. *Brrr* Bei sowas bekommt man ja das RSI-Syndrom... Wenn ich sage 'rm foo' dann bin _ich_ schuld. Und entweder sind dann meine Daten weg, oder es ist volle Absicht, weil ich 'foo' weg haben will. Und das _ohne_ Fragen. Punkt. Schluss. Aus. Weg damit! So ein alias ist auch generell eine "Schlechte Idee"[tm], denn wenn es dann das alias mal nicht gibt und, da man unvorsichtigerweise gewoehnt ist gefragt zu werden, "ausversehen", weil man nicht nachdenkt, ein 'rm -rf' eingibt, dann hat man verloren (und es IMDNVHO auch nicht anders verdient). Ja, ich verwende des oefteren 'cp -i' oder 'mv -i', naemlich dann, wenn ich gefragt werden _will_. Und das sag ich cp oder mv auch explizit. Ein 'rm -i' ist aber IMO _immer_ eine schlechte Idee, denn spaetestens bei der 42ten Abfrage schaut man nicht mehr hin, und wenn man die 64te dann doch behalten will hat man eh schon zu schnell 'y' eingegeben und die Datei ist trotz dem alias/'rm -i' futsch. Und noch ein Beispiel: Sagen wir, du bist per ssh auf dem Webserver. Und gibst ein 'rm foo*' ein, bist aber das alias gewoehnt, aber das gibt's auf dem Server nicht... Na? Meinst du dann immer noch, dass so ein alias eine gute Idee ist? Bes. wenn man mal mit n xterms auf m Rechnern zugange ist, ist so ein alias schnell toedlich (fuer Datei(en) und ggfs. sogar mehr). Gewoehn dich daran, dass rm "final" ist. rm == "remove!!!" (die '!' musst du dir halt, am besten immer und eigentlich bei jedem Befehl dazudenken ;). 'rm' ist NICHT "bin mir nicht sicher, ob ich das wirklich weghaben will, frag bitte lieber noch mal, ich will's ja vielleicht eigentlich und unter Umstaenden gar nicht loeschen, koennte ja sein, dass ich's nochmal brauche..." Generell kann ich nur empfehlen, besonders als "Umsteiger" sich bei jedem shell-Befehl ein: <befehl>!!! *verdammtnochmal* zu denken. So wird einem IMHO am schnellsten "klar", die Befehle bewusst zu verwenden... Befehle in *nix sind eben das: BEFEHLE!!!. Da kommt dann noch nicht mal (ohne ein -v ;) ein "YESSSIR!", sondern der Befehl wird ausgefuehrt. Punkt. Schluss. Fertig. :) Wer Win* gewoehnt ist, dem ist das ungewohnt. Klar. Win* macht eh lieber was es zu meinen scheint, was der user evtl. gemeint haben koennte (oder sowieso was anderes, z.B. abstuerzen), und fragt "vorsichtshalber" mindestens einmal nach... Hm. AFAIK nennt man sowas (hier also "Bedien-") Paradigmen. Und ein Paradigmenwechsel ist nie leicht, ein "kuenstliches Hinauszoegern" (z.B. mit o.g. alias) ist aber IMO selten eine gute Idee, und geht gern "nach hinten" los... Ein "Sprung ins kalte Wasser" ist da oft (im Nachhinein) einfacher... Groetjes, -dnh [1] "globbing" ist die Angabe/Expandierung von "einfachen" Wildcards, wie's z.B. die bash mit Dateinamen macht. "Wildcards" ("Jokerzeichen") sind beim "globbing" '*', '?'. Siehe dazu 'man 7 glob'. Die bash (und andere shells und Programme) kennen und expandieren aber oft noch andere Muster, z.B. die bash auch '[]' und bes. '{}'. Aber das ist eine andere Geschichte... Der "Gegensatz" zum "globbing" sind "Regular Expressions" (regex), siehe dazu 'man 7 regex' und u.a. 'man perlre', 'man grep' u.a... [2] Nein, ich sage den Namen des Howtos nicht, wer's nicht findet muss davon ausgehen, dass ein wiederherstellen unmoeglich ist, denn das ist ein "diffiziler" Vorgang, bei dem man sein FS dann komplett versauen kann... Eine "Huerde" an Mindestwissen will ich hier also aufstellen *eg* -- 88: Windows Ein ulkig buntes Make-Money-Fast System ohne jede remote login Möglichkeit, bei dem die GUI und der Kern einen monolithischen Block ohne Netzwerkinterface bilden, damit man Anwendungen nur benutzen kann wenn man selbst an der Maschine sitzt, damit der Hersteller mehr davon verkaufen kann? Kinderkram. Stand der Technik von 1965. (Markus Kuhn)