Grundlegendes zu dieser Shell-Anweisung

8

Ich gebe zu, dass es eine Hausaufgabe ist, aber ich kann die folgende Befehlszeile nicht erklären:

WARNUNG : Dies ist eine sogenannte GABELBOMBE! Diese Befehlszeile kann und wird Ihren PC zum Absturz bringen, indem sie den gesamten RAM und die CPU verbraucht (vertrau mir, ich habe es versucht ...)

:(){ :|:& };:

Da ich weiß, dass ich es hier alleine machen sollte, habe ich bisher (die Suche nach diesen Zeichen ist sehr entmutigend).

  1. Die Pipe ermöglicht es, einige Befehle miteinander zu verknüpfen, sodass die erste Ausgabe von der zweiten als Eingabe verwendet wird.
  2. Das & soll einen Befehl im Hintergrund ausführen (wird im Grunde verwendet, um etwas von einer Shell aus zu starten, die nicht durch den Befehl blockiert werden sollte).

Ich denke das: ist zu gabeln? Aber hier bin ich total verloren! Ich bin bereit zu lernen, also hat vielleicht jemand eine gute Ressource, in der ich darüber lesen kann?

WarrenFaith
quelle
@kkp: Reagiert Ihr System nicht ähnlich wie ein Absturz? Die Lösung, um das
Problem
Ja, du hast recht.
Samarasa
FORKBOOOOOMB: D
zookalicious

Antworten:

14
:()      # define ':' -- whenever we say ':', do this:
{        # beginning of what to do when we say ':'
    :    # load another copy of the ':' function into memory...
    |    # ...and pipe its output to...
    :    # ...another copy of ':' function, which has to be loaded into memory
         # (therefore, ':|:' simply gets two copies of ':' loaded whenever ':' is called)
    &    # disown the functions -- if the first ':' is killed,
         #     all of the functions that it has started should NOT be auto-killed
}        # end of what to do when we say ':'
;        # Having defined ':', we should now...
:        # ...call ':', initiating a chain-reaction: each ':' will start two more.

Quelle: Gabelbomben auf Wikipedia

Egil
quelle
danke ... es klingt ziemlich böse! Wusste nicht, dass Sie auf diese Weise eine Methode definieren können. sehr interessant
WarrenFaith
Kannst du mir sagen, wie du diesen Wikipedia-Artikel gefunden hast? Ich habe es versucht, aber es ist mir nicht gelungen ...
WarrenFaith
Ich wusste bereits, wonach ich suchen sollte;)
Egil
2
Ok, du bist also ein böser böser Hacker :) Trotzdem danke! hat mir sehr geholfen
WarrenFaith
Die meisten von uns, die in den Ubuntu-Foren gestöbert haben, wurden oft davor gewarnt, Gabelbomben oder Sudo rm rf auszuführen, wenn Sie den Rest kennen usw. Keine Ahnung, woher Egil es hat: P
zookalicious