You are not logged in.

DeaD_EyE

Administrator

  • "DeaD_EyE" started this thread

Posts: 3,980

Location: Hagen

Occupation: Mechatroniker (didaktische Systeme)

wcf.user.option.userOption53: Nein

  • Send private message

1

Monday, June 21st 2010, 12:30am

Wieso man nie Befehle eingeben sollte, die man nicht kennt..

Hier ein klassisches Beispiel, wieso es schlecht ist irgendwelche Befehle per Copy&Paste auszuführen:
http://www.rootforum.org/forum/viewtopic.php?t=40195

Der Thread ist schon alt, aber trotzdem lesenswert.

Impact

Super Moderator

Posts: 1,276

wcf.user.option.userOption53: Nein

  • Send private message

2

Monday, June 21st 2010, 4:09am

Re: Wieso man nie Befehle eingeben sollte, die man nicht kennt..

fingzig Hätte nicht gedacht das du es ersthaft hier rein stellst right

N1

Mfg
Impact

Posts: 111

wcf.user.option.userOption53: Ja

  • Send private message

3

Monday, January 10th 2011, 11:07am

Re: Wieso man nie Befehle eingeben sollte, die man nicht kennt..

Hahaha big-lol
http://fpsmeter.org
http://wiki.fragaholics.de (Linux Kernel HOWTO!)
http://www.fragaholics.de

Bitte keine technischen Fragen per PM!

rain

Super Moderator

Posts: 1,410

Location: Lutherstadt Wittenberg

Occupation: Anlagenmechaniker

wcf.user.option.userOption53: Ja

  • Send private message

4

Monday, January 10th 2011, 11:45am

Re: Wieso man nie Befehle eingeben sollte, die man nicht kennt..

Schon so alt aber immer wieder schön es zu lesen :).
Am besten gefällter immer wieder die Aussage:

Syserror wrote:
Danke, aber auf diese Meldung muss man nichts geben.





DeaD_EyE

Administrator

  • "DeaD_EyE" started this thread

Posts: 3,980

Location: Hagen

Occupation: Mechatroniker (didaktische Systeme)

wcf.user.option.userOption53: Nein

  • Send private message

5

Monday, January 10th 2011, 12:59pm

Re: Wieso man nie Befehle eingeben sollte, die man nicht kennt..

Genau big-lol
Aber der Typ tut mir trotzdem leid.

Anubis

Professional

Posts: 769

Location: Ulm

  • Send private message

6

Monday, January 10th 2011, 1:45pm

Re: Wieso man nie Befehle eingeben sollte, die man nicht kennt..

big-lol big-lol
Da fällt einem doch nix mehr ein ^^


Koffein

Intermediate

Posts: 353

wcf.user.option.userOption53: Nein

  • Send private message

7

Monday, January 10th 2011, 1:57pm

Re: Wieso man nie Befehle eingeben sollte, die man nicht kennt..

Immer rein mit den Commands, wofür gibts denn dieses Forum :D

Posts: 111

wcf.user.option.userOption53: Ja

  • Send private message

8

Tuesday, January 11th 2011, 9:51am

Re: Wieso man nie Befehle eingeben sollte, die man nicht kennt..

das erinnert mich an ein aufräum-script, was ich mal geschrieben hab (logdateien aus gameserver löschen etc.). das hat im prinzip folgendes gemacht:

Source code

1
2
cd /irgend/ein/verzeichnis
rm -rf *

lief dann jede nacht als cron-job. hat gut funktioniert, bis mal eines der verzeichnisse nicht existierte. dummerweise läuft der cronjob zuerstmal unter / :-D tja, eigene blödheit ;-)
http://fpsmeter.org
http://wiki.fragaholics.de (Linux Kernel HOWTO!)
http://www.fragaholics.de

Bitte keine technischen Fragen per PM!

9

Tuesday, January 11th 2011, 10:33am

Re: Wieso man nie Befehle eingeben sollte, die man nicht kennt..

Deswegen baue ih bei jeglichen Löschvorgängen immer das hier ein:

Source code

1
2
3
4
5
6
7
if [ -d /zu/löschendes/inhalt/ ]; then
cd /zu/löschendes/inhalt/
rm -f *
fi
if [ -f /zu/löschende/datei ]; then
rm /zu/löschende/datei
fi
Webbasierender Config Ersteller: www.ulrich-block.de für CS 1.6, CSS, DODS und TF2.

Ebenso wird werden verschiedene Debian Gameserverkernel zum Download angeboten.

Posts: 111

wcf.user.option.userOption53: Ja

  • Send private message

10

Wednesday, January 12th 2011, 9:52am

Re: Wieso man nie Befehle eingeben sollte, die man nicht kennt..

viel einfacher:
rm -r /zu/löschendes/verzeichnis/*
;-)
http://fpsmeter.org
http://wiki.fragaholics.de (Linux Kernel HOWTO!)
http://www.fragaholics.de

Bitte keine technischen Fragen per PM!

DeaD_EyE

Administrator

  • "DeaD_EyE" started this thread

Posts: 3,980

Location: Hagen

Occupation: Mechatroniker (didaktische Systeme)

wcf.user.option.userOption53: Nein

  • Send private message

11

Wednesday, January 12th 2011, 5:19pm

Re: Wieso man nie Befehle eingeben sollte, die man nicht kennt..

Ja, das wollte ich eigentlich auch schreiben. Der Befehl rm löscht immer das letzte Element im angegebenen Pfad. Der Stern wird durch das Globbing der Sehll durch die vorkommenden Dateien im Pfad ersetzt.

Wenn du also die Datei 1.txt 2.txt 3.txt und das Unterverzeichnis abc in /zu/löschendes/verzeichnis/ hast, wird durch den Aufruf von

Source code

1
rm -r /zu/löschendes/verzeichnis/*
der Stern mit dem gesammten Pfad durch die Shell ersetzt. Der Befehl wird dann wie folgt aufgerufen:

Source code

1
rm -r /zu/löschendes/verzeichnis/1.txt /zu/löschendes/verzeichnis/2.txt /zu/löschendes/verzeichnis/3.txt /zu/löschendes/verzeichnis/abc


Bei zuvielen Dateien kann es aber zu Problemen kommen. Dann sind die Argumente zu lang und/oder zuviele Argumente vorhanden. Das ist mir damals beim erstellen des FastDL-Scripts aufgefallen. Weil gerade dort sehr viele Dateien vorhanden sind, erreicht man das Limit sehr schnell.

PS: Den Weg über cd und der Überprüfung finde ich recht umständlich. Wenn du es trotzdem kompakt willst, könntest du folgendes Verwenden:

Source code

1
[[ -d /xy/zulöschendesverzeichnis ]] && rm -r /xy/zulöschendesverzeichnis

Die Variante für die Datei brauchst du nicht. In dem Fall solltest du dir angewöhnen immer mit absoluten Pfaden zu arbeiten, auch wenn es umständlicher aussieht. Entweder rm kann die Datei löschen oder nicht. Wenn du den Optionsschalter -r weglässt, wird auch nichts rekursiv gelöscht. So kann auch nicht versehentlich ein Verzeichnis gelöscht werden, wenn es so wie die eigentlich zu löschende Datei heißt, selbst wenn dieses leer ist.

Source code

1
rm: Entfernen von „test123“ nicht möglich: Ist ein Verzeichnis

Posts: 111

wcf.user.option.userOption53: Ja

  • Send private message

12

Thursday, January 13th 2011, 9:41am

Re: Wieso man nie Befehle eingeben sollte, die man nicht kennt..

also bei mir funktioniert das wunderbar, ich lösche damit auch nur die spraylogos etc, die ja ständig von den spielern hochgeladen werden und ewig rumgammeln ;-) und alte logfiles, aber das mach ich eh mit find (wegen alter).

wenn die kommandozeile zu lang wird wegen zu vielen dateien passier im übrigen auch einfach nichts. wenigstens läuft das script nicht amok. umgekehrt ist bei deiner methode zumindest kurz mal das verzeichnis weg. das geht vielleicht in die hose, weil das script ja bei laufendem gameserver aktiv wird...
http://fpsmeter.org
http://wiki.fragaholics.de (Linux Kernel HOWTO!)
http://www.fragaholics.de

Bitte keine technischen Fragen per PM!

DeaD_EyE

Administrator

  • "DeaD_EyE" started this thread

Posts: 3,980

Location: Hagen

Occupation: Mechatroniker (didaktische Systeme)

wcf.user.option.userOption53: Nein

  • Send private message

13

Thursday, January 13th 2011, 5:45pm

Re: Wieso man nie Befehle eingeben sollte, die man nicht kennt..

Bei meiner Mehtode wird auch nichts versehentlich gelöscht ^^
Selbst wenn man zufällig das Verzeichnis keine Dateien enthält, bricht der Befehl rm ab, da er die Datei /zu/löschendes/verzeichnis/* nicht finden kann. In diesem Fall wird dann bei einem leeren Verzeichnis versucht die Datei * zu löschen, da kein Globbing stattfindet.

PS: Hier etwas übers Hlobbing: http://www.sirlab.de/vortrag/bash/globbing.html">http://www.sirlab.de/vortrag/bash/globbing.html</a>
Erschrekcnd finde ich das:

Quoted

Achtung bei ".*": Der aktuelle Ordner (".") sowie der darüberliegende ("..") matchen auch!

rm -r .* löscht das gesamte Verzeichnis und das darüberliegende gleich mit.


Es haben sicherlich so schon viele Leute versucht alle versteckten Dateien in einem Verzeichnis zu löschen und haben sich gewundert, wieso das ganze Verzeichnis inkls. dem übergeordnetem Verzeichnis auch weg war :-D

Posts: 111

wcf.user.option.userOption53: Ja

  • Send private message

14

Friday, January 14th 2011, 8:35am

Re: Wieso man nie Befehle eingeben sollte, die man nicht kennt..

mir brauchstde das nicht zu erklären :-P
http://fpsmeter.org
http://wiki.fragaholics.de (Linux Kernel HOWTO!)
http://www.fragaholics.de

Bitte keine technischen Fragen per PM!