Größter Befehlszeilenfehler? [geschlossen]

35

Was ist der größte Schaden (welcher Art auch immer), den Sie jemals mit einer einzigen fehlerhaften / falsch getippten / fehlgeleiteten Befehlszeile angerichtet haben? Ich habe zum Beispiel vor einiger Zeit versehentlich eine Produktionssystemdatenbank gelöscht, aber ich hatte Glück (dh ein Backup), und es gab keinen dauerhaften Datenverlust, keinen Geldverlust, keinen Sachschaden usw.

Was tun Sie vor allem (bei Abstimmungen), um sicherzustellen, dass es nie wieder vorkommt?

Mark Henderson
quelle
9
Da dies eine Umfrage ist, sollte es CW
Eddie
Warum sind Umfragen dann nicht standardmäßig in CW?
Luke
4
Woher sollen sie wissen, dass es eine Umfrage ist?
Mikeage
1
Wenn der Mechanismus mit dem von SO identisch ist, können Sie eine Frage nicht in CW ändern, auch wenn Sie sie bearbeiten können. Das kann nur der OP oder ein Moderator.
Chaos
9
Gute Idee - veröffentlichen Sie Ihren destruktivsten Fehler öffentlich im Internet, damit alle zukünftigen Arbeitgeber ihn sehen können! :)
Sam Schutte

Antworten:

46

In SQL Server auf einem Produktionssystem:

update customer set password = '' <enter>

Die letzte Sicherung war ungefähr eine Woche alt.

Um dies zu mildern, schreibe ich jetzt normalerweise zuerst eine selectAnweisung, um sicherzustellen, dass die whereKlausel korrekt ist, und bearbeite sie dann erneut, um die setKlausel einzufügen und die Anweisung in zu ändern update.

Greg Hewgill
quelle
11
Autsch. Eine andere Option wäre "BEGIN TRANSACTION"; Es ist schön zu wissen, dass Sie einen Rollback durchführen können. :)
Murali Suriar
5
Wählen Sie in Kombination aus beiden die Anzahl (*) aus, um zu sehen, wie viele Aktualisierungen ich voraussichtlich durchführen werde, und aktualisieren Sie dann in der Transaktion, um die Aktualisierung durchzuführen. Wenn die Zählungen mit commit übereinstimmen, führen Sie einen Rollback durch, und finden Sie heraus, warum. Natürlich mache ich das nicht für "einfache" Updates, und das sind immer die, die dich nerven. :-)
WaldenL
Schuldig, das habe ich selbst getan :(
Jim OHalloran
8
Seien Sie vorsichtig mit BEGIN TRANSACTION auf einem Live-System (oder einem Testsystem, das auch von anderen verwendet wird). Vergewissern Sie sich, dass Sie COMMIT oder ROLLBACK bald ausführen. Andernfalls blockieren Sie möglicherweise andere Prozesse, die auf die Sperrung von Ressourcen warten, für die Ihre Transaktion Sperren aufweist.
David Spillett
Auf einigen Systemen können Sie machen; Bezeichner der Anweisungsvervollständigung anstelle von <enter> sein
J. Polfer
37

Größter Fehler? Ich dachte, ich hätte zwei Variablen gesetzt, als ich es nicht getan hätte. Also wurde aus rm -rf $ VARIABLE / $ VARIABLE2 rm -rf /. FreeBSD hat kürzlich sein rm-Tool aktualisiert, so dass rm -rf / aufgrund dieses Fehlers nicht mehr möglich ist!

X-Istence
quelle
4
Ich möchte darauf hinweisen, dass es sich so anhört, als ob ich die Art und Weise, wie ich arbeitete, geändert habe. Dies ist jedoch nicht der Fall. Anscheinend benutzten die Leute rm in Skripten und das Gleiche geschah und sie wollten einen Fail-Safe hinzufügen.
X-Istence
3
Ich ziehe dann meine Stimme zurück :)
Colin Pickard
Ich habe mal einen Typen gesehen, der rm -rf / usr / local / junk macht ... Ich habe es gesehen, aber nicht rechtzeitig, um ihn davon abzuhalten, einzutreten.
Satanicpuppy
Was ist mit "rm -rf / *" anstelle von "rm -rf /"? Ich habe keine Ahnung, wie es auf BSDs jetzt aussieht, sollte aber funktionieren;)
Ryszard Stawiarski
26
shutdown -h now 

Dies ist für die lokale Workstation gedacht, wurde jedoch während der Anmeldung über ssh auf dem Produktionsserver eingegeben. Seitdem habe ich immer einen Hostnamen in meinem $PS1.

vartec
quelle
Zumindest würden Sie wahrscheinlich keine Daten verlieren ...
Zifre
Stimmt, aber das ist wirklich lange her, IPMI oder KVMoIP waren noch nicht populär. Wir mussten uns einen Techniker besorgen, um dorthin zu gelangen und den Schalter umzulegen.
Vartec
4
Schauen Sie sich Molly-Guard ( packages.debian.org/search?keywords=molly-guard )
David Holm
Selbst auf lokalen Arbeitsplätzen verwende ich immer "+1" für alle Fälle.
msanford
3
Früher habe ich den Hostnamen in die Eingabeaufforderung eingegeben, aber jetzt habe ich die Befehle shutdown (und related - halt et al) gepatcht, um mich aufzufordern, den aktuellen Computernamen einzugeben, bevor der Befehl ausgeführt wird. Das gibt mir den zusätzlichen Schritt, um zu erkennen, dass ich gerade den falschen Server heruntergefahren habe. Das Problem ist, dass ich diesen Patch, sobald ich ihn implementiert habe, nie wieder gemacht habe - aber ein paar meiner Kollegen wurden gerettet :)
Moo
26

Auslassen von -r bei einem Befehl zum Herunterfahren. Auf einem Remote-Server. Auf der anderen Seite des Landes. Ohne IT-Mitarbeiter im Remote-Büro.

Wir haben es alle geschafft, es ist zu diesem Zeitpunkt fast wie ein Übergangsritus.

Maximus Minimus
quelle
25

Auf einem VMS-System habe ich den Befehl ASSIGN DCL zum Zuweisen logischer Namen verwendet und wollte eine vorherige ASSIGN-Befehlszeile abrufen. In VMS haben Sie nur so viele Zeichen eines Befehls eingegeben, um ihn eindeutig zu machen. Also wollte ich tippen

REC ASS

aber ich habe versehentlich getippt

REQ ASS

stattdessen. REQ war für den Befehl REQUEST ausreichend eindeutig, der das Argument an alle Benutzer mit Operatorprivilegien (die alle in der IT waren) weiterleitet. So erhielt die gesamte Abteilung meine Broadcast-Nachricht, die einfach "ASS" lautete.

Kevin
quelle
Urkomisch :-) :-)
Ludwig Weinzierl
1
Wie wir alle wissen, ist jede Software zum Kotzen. Warum sollte jemand in der IT denken, dass es etwas anderes bedeutete?
Adriano Varoli Piazza
24

Auf einem Solaris-System: "killall dataLoader".

'dataLoader' war eine App, an der ich gearbeitet habe. Unter Linux funktioniert killall wie pkill. Es sendet ein Signal an Prozesse, die mit einer als Argument angegebenen Zeichenfolge übereinstimmen. Unter Solaris versucht killall, alles auf dem System zu beenden, was der aktuelle Benutzer beenden kann. Ich war root.

kbyrd
quelle
war dabei, habe das getan ...
James
2
Ich habe genau dasselbe vor zwei Wochen in einem Power 5 AIX 6-System gemacht ... Ok, nicht genau, ich habe ein "killall -9 java" gemacht :)
Andor
3
@Andor: Na ja, du hast javasicher getötet . ;)
Bobby
16

Vor vielen, vielen Monden musste ich einmal eine bestimmte ausführbare Datei finden, konnte mich aber nicht an den vollständigen Namen erinnern (konnte mich aber an einige Buchstaben erinnern). Also dachte ich mir, ich würde das Verzeichnis / usr / bin mit so etwas überprüfen

rm /usr/bin/i*g*

Seltsam. Nichts kehrte zurück. Als ich herausfand, dass ich mich gerade an den zweiten Brief erinnert hatte, versuchte ich es erneut mit

rm /usr/bin/i*

Wieder nichts. Nachdem ich das gleiche mit / usr / local / bin, / usr / sbin und allem, was ich vermutet hatte, getan hatte, wurde mir klar, dass ich den Befehl 'ls' falsch eingegeben hatte.

Ich weiß nicht genau, woher der Brainfart stammt, aber es ist definitiv kein Fehler, den ich jemals wieder gemacht habe.

goldPseudo
quelle
Dies sollten Sie beachten, wenn Sie Pfade wie ls / etc / something, Strg + r, Strg + a, Entf, Entf, Katze, Eingabetaste wiederverwenden.
Alex
8
Auch auf meinem Server gibt es nichts zurück.
Mircea Vutcovici
16
setup.exe

Es war Windows Vista.

Sogar Mien
quelle
16

Der Versuch, die Eigentümerschaft für alles in einem Verzeichnis zu ändern, einschließlich Punktdateien, mit:

chown -R user * .*

Ratet mal, was das macht?

Chaos
quelle
10
mail lesen -sehr schnell ???
Wiren
5
Das hat mir das. [^.] * - Muster sehr gut beigebracht
Maciej Pasternacki
1
@chaos: Der Befehl entfernt anscheinend alles in Ihrem aktuellen Verzeichnis und sogar
Punktedateien
2
@chaos: Es wird nicht entfernt .. und hat nie und wird nie. Sie irren sich einfach. Bitte zitieren Sie eine einzelne Unix-Implementierung, die dieses Verhalten aufweist (das ich noch nie gesehen habe und von dem dokumentiert ist, dass es nicht einmal das Verhalten von superantiken Unixen wie der 7. Edition von Unix ist).
Chris
1
Würde ./.* dies verhindern oder würde es den Verzeichnisbaum weiterhin über ./../ sichern?
tj111
15

Um / dev / sdb zu zerstören, hatte ich zum Glück ein aktuelles Backup

dd if=/dev/urandom of=/dev/sda
Zoredache
quelle
Hat dies einmal getan (außer mit / dev / zero), die Root-Partition eines Linux-Servers zerstört und wiederhergestellt, indem alles von einem identischen Server zurückkopiert wurde.
Marius Gedminas
14
select * from <File1> join <file2>

Auf einer Produktionskiste. Beachten Sie das Fehlen einer onKlausel. :-) Beide Tabellen waren mehrere Millionen Zeilentabellen, und dies war auf einem AS / 400 in der Mitte der 90er Jahre, als SQL noch lief, konnte man es nicht töten.

WaldenL
quelle
14

Auf einem unserer Datenproduktionsserver hat einer meiner Stammdaten Folgendes eingegeben:

chmod -R 777 /

Weil er bei einigen Skripten einen Berechtigungsfehler bekam ...

Kurz darauf wurde sein privater Schlüssel von allen Servern entfernt und er kümmerte sich um die 1 TB Datenwiederherstellung auf dem Datenproduktionsserver ...

Okt.
quelle
12

Mein Favorit war, als ich an der Universität war. Ich habe eine Anwendung erstellt (ich erinnere mich nicht an was) und da ich nicht root war, hatte ich sie mit erstellt

PREFIX=~username/usr/local

So konnte ich es in mein Home-Verzeichnis installieren. Leider hat es sich eingebaut in

/home/username/src/app/~username/usr/local

stattdessen. Natürlich habe ich ausgeführt, um es als Start wieder zu löschen

rm -rf ~username

Im Quellverzeichnis.

Ich fragte mich, warum es so lange dauerte ...

:-)

Das Schlimmste war jedoch, als ich mit einer Solaris-Workstation arbeitete und nachdem wir alles eingerichtet hatten, wollten wir die Konfiguration für die Live-Konfiguration löschen. Also habe ich ausgeführt

sys-unconfig

Einverstanden mit der Warnmeldung und stattdessen den Rechner neu zu starten und auf "Werkseinstellungen" zurück zu kehren. Das xterm-Fenster sagte einfach:

connection closed by foreign host.

Moral der Geschichte Lassen Sie niemals eine Root-Shell auf einem anderen Host offen! JE!!

Vagnerr
quelle
Ich selbst suche in PS1 nach dem Hostnamen. Irgendwann habe ich verschiedene Farben für lokale und Remote-Anmeldungen verwendet (sowie verschiedene Farben für Benutzer / Root).
Marius Gedminas
12

Vor vielen Jahren war ich zu Hause, um ein paar Sachen in PHP zu programmieren, während ich an einem Projekt mit einem Freund von mir arbeitete, der der Projektbetreuer war. Im Rahmen einer Zusammenarbeit haben wir uns gegenseitig kontaktiert. Wir scherzen immer im Spiel hin und her.

Ich habe versucht, ssh-agent dazu zu bringen, ordnungsgemäß auf meinem Computer zu arbeiten, während wir einen Religionskrieg zwischen Perl und PHP hatten. Dann erwähnte ich etwas darüber, dass ssh-agent bewertet werden muss (nicht sicher, warum ich das gesagt habe). Also schickte er mir diese Nachricht in dem Bemühen, mir bei meinem Problem zu helfen (denken Sie daran, dass ich zum Wurzeln verurteilt war):

\# eval $(echo ssh-agent | 
perl -pe 's/h-a/m -r/' | 
perl -pe 's/^ss/r/' | 
perl -pe 's/gent/f \//')

WARNUNG! LASSEN SIE DIESEN BEFEHL NICHT LAUFEN !!!

WENN Sie das eval entfernen und den inneren Befehl von selbst ausführen, ist es:

rm -rf /

Ich brauchte 4 Sekunden, um zu bemerken, was passierte, aber der Schaden war bereits angerichtet. Ich musste mein Betriebssystem neu installieren. Zum Glück wurde nichts von meiner Arbeit ausgelöscht, außer ein paar Sachen in / etc iirc. Er hatte ein RIESIGES Lachen, als ich ihm eine Nachricht des Grauens schickte und fragte, warum er das tat. Wir sind beide langjährige Systemingenieure. Er glaubte nicht, dass ich es laufen lassen würde und würde es vor dem Einchecken sorgfältiger prüfen, und ich vertraute ihm einfach, sodass ich nicht einmal daran dachte, dass er herumspielte. Unnötig zu erwähnen, dass diese kleine Geschichte die ganze Zeit zwischen uns auftaucht. Also beschloss ich, es zu verewigen.

Wie habe ich dieses Problem behoben? Ich vertraue niemandem!

Eine andere, weniger interessante Geschichte ist, dass ich vor ein paar Jahren bei der Arbeit an einer missionskritischen Box gearbeitet habe. Ich hatte ein paar Begriffe offen für verschiedene Maschinen. Ich musste einige überflüssige Sachen in einem Verzeichnis entfernen. Nun, ich habe mich in meinen Begriffen verlaufen und bin aus Versehen dazu gekommen . in meinem lokalen Verzeichnis aber auf dem falschen Host (falscher Begriff) !!. Ich habe den Befehl in / var / lib / mysql anstelle von / tmp auf dem Anwendungsserver ausgeführt (anderer Begriff). Unnötig zu erwähnen, dass ich die Produktionsdatenbank gelöscht habe. Glücklicherweise hatten wir einen warmen Standby-Modus, zu dem wir gewechselt haben, während ich und ein Kollege den primären aus Backups und dem Standby-Modus wiederhergestellt haben. Das hat ungefähr 18 Stunden gedauert.

Schadensbegrenzung: Überlegen Sie sich vor der Ausführung, in welchen Fenstern ich Befehle ausführe.

Cloaked1
quelle
Bei der Arbeit haben wir alle die .bashrc aller unserer Server so konfiguriert, dass Benutzernamen in Bash in eindeutigen Farben angezeigt werden. Auf diese Weise sehen Sie immer im Handumdrehen, um welche Maschine es sich handelt. (Ok, das kann zu einem Problem werden, wenn Sie mehr als 20 bis 30 Maschinen verwalten ... Aber immer noch sehr praktisch.)
fgysin setzt Monica
+1 für Vertrauen, niemand.
Wayne Werner
11

die kurze version

#/bin/bash
$0&
$0
BCS
quelle
für das, was es wert ist, wenn du das jemals nicht als root machst, startekill -9 -1
BCS
3
was macht das
Nathan DeWitt
6
Es nennt sich selbst im Hintergrund, ohne darauf zu warten, dass es zu Ende ist. Ruft sich selbst erneut auf: aka Fork Bomb
BCS
2
@Masi: Nicht, wenn der Computer schnell genug und das Skript lang genug ist. Besonders, wenn Sie nicht wissen, dass es passieren wird.
Voyager
3
Lassen Sie das fallen #!/bin/bash, und ich denke, das würde einen Codegolf für die kürzeste Gabelbombe in der Bash gewinnen.
Joey Adams
11

Ich wollte mal ein paar Dateien in einem Verzeichnis löschen.

del *.*

Der Computer sagte dann: "Bist du sicher? [J / N]" Ich dachte: "Natürlich, ich bin sicher, ich hätte den verdammten Befehl nicht anders eingegeben! Meine Güte, dumme Computer murren ..."

Y <enter>

C:\Windows>_

Ähm ... WTF? Habe ich gerade mein Windows-Verzeichnis gelöscht? ....

undelete *.*

In Zeiten kleiner Festplatten wusste ich, wofür jede Datei in c: \ windows bestimmt war und wie sie hieß, aber selbst nachdem alles wiederhergestellt war, war das System nie dasselbe. Ich habe ein wenig Respekt für die Aufforderung "Bist du sicher?" Gewonnen. Nur ein wenig.

Mr. Shiny und New 安 安
quelle
1
Ich habe einmal genau das Gleiche getan. Ich habe das System zum Booten und erneuten Ausführen gebracht, aber es war nie wieder richtig. Ich habe das System ungefähr eine Woche später umgebaut.
Jim OHalloran
11

Ich glaube, das Dümmste, was ich jemals getan habe, war, die Standardroute auf einem externen Firewall-Cluster zu entfernen - während ich über hundert Meilen auf meinen Desktop gefahren bin.

Glücklicherweise war dies ein Zeitraum, der als geplante Ausfallzeit ausgewiesen war (nur für den Fall), aber das ersparte mir nicht die 200-Meilen-Hin- und Rückfahrt, um die Firewall vor Ort neu zu konfigurieren. Es hat auch nicht geholfen, dass dies unsere internetexponierten Produktionssysteme für die Dauer meiner Reise und der anschließenden Reparatur herausgenommen hat.

Wir alle kennen die Definition einer Nanosekunde. Eine ohno-Sekunde ist noch kleiner und ist die Zeit zwischen dem Drücken der Eingabetaste und dem Erkennen Ihres Fehlers.

Iain
quelle
11

Erster von zwei ...

Auf einer Solaris-Box hatten wir eine Tar-Sicherung einer AIX-Maschine.

Einer der Entwickler schrieb:

tax xvf AIX_Backup.tar

Natürlich waren die Pfade in der Steuer absolut und wir machten eine neue Distribution von Unix ... Solarix ... Das einzige Problem mit der Distribution ist, dass es nicht gebootet wurde :(

Brian G
quelle
10

Geschichte erzählte mir:

Eine andere Zweigstelle rief an, weil ihre lokale Telefonanlage einige Probleme hatte. Nach einigen Nachforschungen haben wir festgestellt, dass sie ihren Server aktualisiert haben, aber nicht ihre Asterisk-Konfiguration. Also beschloss der Administrator, den Zweigstellenmitarbeiter anzuweisen, die Konfiguration zu wiederholen.

Admin: "Ok, jetzt tippe rm -rf / etc / asterisk"

Guy: "Ok."

Admin: " Geben Sie nun cp / var / ... ein."

Guy: "Warte, es läuft noch ..."

Admin: ??? ... !!!

Juliano
quelle
1
Wenn etwas schief gehen kann, wird es schief gehen.
Joey Adams
9
rm -rf / some/path 

anstatt

rm -rf /some/path 

Zum Glück ist es mir nicht passiert ;-)

vartec
quelle
ist kürzlich einem meiner Klassenkameraden passiert. Zum Glück war es nur mit / etc / some / other / path
Ikke
Es muss deaktiviert sein! Ich denke, es ist jetzt in vielen Betriebssystemen deaktiviert. Zu ängstlich zu versuchen, auf Ubuntu rm-rf /
Lakshman Prasad
Eigentlich wäre es gefährlich, sich nur auf das System mit sudo rm -rf /
voyager
War
9
source ~/.bash_history

Meine Absicht war Source .bashrc, aber ich war zu voreilig mit Tab-Vervollständigung ...

Dave Pretty
quelle
+1: Das ist großartig.
Satanicpuppy
8

Etwas in dieser Richtung:

sudo dd if=/dev/zero of=/dev/sda

Ich meinte sda4. Ich habe die gesamte Festplatte gelöscht, nicht nur die Partition :-(

Zifre
quelle
war dort .
Mr. Shiny und New 安 安
8

XCOPYist ein mächtiges Biest - erbarmungslos in seiner Ausführung und verzögert durch die Tatsache, dass seine Kommandozeilenargumente umgekehrt sind wie die von Windows COPYund UNIX cp.

Vor ein paar Tagen schrieb ich versehentlich:

xcopy src \path\to\a\new\nonexistent\directory

XCOPYwar so nett, mein srcVerzeichnis mit ... nichts zu überschreiben ! Und es hat auch nicht die Mühe gemacht, die alten Dateien in den Papierkorb zu legen.

Oh, und es stellt sich heraus, dass XCOPYtatsächlich dieselben Sektoren auf der Festplatte überschrieben werden, anstatt neue zuzuweisen. Ich habe 3 Festplattenwiederherstellungsprogramme ausprobiert, und das beste Programm konnte nur 3 der 10 verlorenen Dateien wiederherstellen. Natürlich waren diese 3 Dateien nur vshost.exeund seine Freunde. Anschwellen!

Frank Krueger
quelle
8

hatte Probleme mit dem Netzwerk (auf einem Remote-Computer) und wollte nur die Schnittstelle neu starten

ifconfig eth0 down && ifconfig eth0 upp

Heutzutage stelle ich sicher, dass sich jemand in der Nähe der Maschine befindet, bevor ich solche Dinge probiere (iptables ist auch ein guter Kandidat). Und als niemand da war, habe ich einmal getippt

sleep 600; reboot

in ein anderes (Bildschirm-) Terminal, sodass es neu startet, wenn ich den Befehl nicht innerhalb von 10 Minuten mit Strg + C ausführen könnte.

Ich habe auch aus diesem Fehler gelernt (Strg + C, der Ruhezustand startet den Neustart) und jetzt benutze ich

sleep 600 && reboot

Dadurch kann ich Strg + C drücken.

mihi
quelle
1
shutdown -r +5startet das System in 5 Minuten neu, es sei denn, Sie beenden den shutdownProzess killall shutdownzum Beispiel mit.
Gelraen
1
Ich kann nur den Administrator sehen, der mihis Fehler unter Solaris begeht, und dann (aus dem Fehler lernen) die Alternative von Gelraen ausprobieren.
outis
8
ifconfig eth0 down

Hoppla, ich bin auf der externen Seite von eth0. Der Webserver befindet sich auf der anderen Seite der Welt in einem verschlossenen Raum. Ohne Netzwerkzugriff zum Anmelden oder Neustarten. Mist.

SpliFF
quelle
6

Ein kostenloses Cookie für jeden, der mir sagen kann, warum ich ein Idiot war, der versucht hat, alle versteckten Dateien und Verzeichnisse auf diese Weise zu entfernen:

rm -rf. *

Matt Simmons
quelle
1
Entfernt Ihr Befehl auch Unterverzeichnisse unter Ihrem aktuellen Verzeichnis?
Léo Léopold Hertz 준영
Ich frage mich, ob Ihr Muster ..Hardlink entspricht
Mircea Vutcovici
Übrigens, Sie beide gewinnen Kekse :-)
Matt Simmons
6

Beim Bereinigen meines Basisordners auf einem Produktions-Webserver habe ich vergessen, dass ich den Webstamm des Servers mit einem Ort in meinem Basisordner verknüpft habe. Ich habe nicht gedacht, ich habe eine rm -rf für diesen Ordner ausgeführt und als nächstes, was ich weiß, rufen die Leute an, dass die Website ausgefallen ist!

HOPPLA!

Nabrond
quelle
5

Ich habe einmal Daten in zwei Ordnern verglichen und rsync mit der Option -d ausgeführt (Dateien auf dem Ziel löschen, die sich nicht auf der Quelle befinden). Und dann habe ich Quelle und Ziel gewechselt, als ich rsync ausgeführt habe. Das hat alle neuen Dateien gelöscht, die ich sichern wollte. Jetzt habe ich gelernt, rsync mit -n (Probelauf) auszuführen.

rsync -trvd --stats --progress /destination /source

Ich hatte kein Backup.

dpzeh
quelle
4

Es war einmal (wahrscheinlich System III, aber es ist lange her), es war möglich, eine Datei *mit dem richtigen Shell-Zitat zu erstellen . Als ich eines in meinem Home-Verzeichnis fand, hatte ich es eingegebenrm * und den Finger auf die Eingabetaste gelegt, als mich etwas zum Zögern brachte und darüber nachdachte ...

Das Erstellen einer solchen Datei für andere Benutzer war ein häufiger Streich.

Befindet sich die Datei in einem Verzeichnis, ist dies nur schwer zu entschärfen. Der Reflex, einfach seinen Namen genau so einzugebenls so einzugeben gerade angezeigt wird, ist ziemlich stark.

Der andere (weniger schädliche) Streich war, Dateien mit nachgestellten Leerzeichen (oder nur Leerzeichen) zu benennen, die viel schwieriger zu entfernen waren ...

RBerteig
quelle
2
Dafür
1
Shell-Vervollständigung ist eine echte Zeitersparnis für diese Trailing-Space-Dateien :)
Mr. Shiny und New 安 安
1
Dies wäre ca. gewesen. 1985 und Zugriff über DFÜ oder über ein RS-232-Kabel von einem Klon eines VT-100-Terminals. Kein Terminal-Emulator, sondern ein tatsächliches Terminal. Ich kann mich nicht erinnern, dass csh zur Zeit eine Namensvervollständigung hatte ... ;-) Heute sind GUIs und die Namensvervollständigung natürlich weniger riskant, und viele Betriebssysteme erschweren das Erstellen solcher Dateien, ohne auf sie zurückzugreifen Bearbeitung des Plattensektors ....
RBerteig
Berühre ./--help, dann funktionieren weder rm --help noch rm * ...
mihi
Sie können weiterhin eine Datei mit dem Namen erstellen , zumindest unter Linux: "touch ' '". Und "rm '*'" funktioniert auch ...
sleske
4

Aufgrund einiger schlechter Erfahrungen mit allgemeinen JBoss-Problemen nach einem Neustart möchte ich die Arbeitsdateien von JBoss vor einem Neustart löschen. Ich würde normalerweise tun:

# cd /var/cache/jboss
# rm -rf tmp/* work/*

Um mich davor zu schützen, einen der vielen möglichen katastrophalen Fehler zu tippen, wie zum Beispiel:

  • / tmp / *
  • tmp / *
  • Du hast die Idee

Ich gebe den letzten Befehl:

# sudo -u jboss rm -rf tmp/* work/*

Da der JBoss-Benutzer Schwierigkeiten haben würde, wichtige Dateien zu entfernen, die nicht dazu gehören.

Ich habe diesen Fehler nie gemacht, aber ich bin in dem Fall, dass ich es tue, in Sicherheit.

Francisco Canedo
quelle