Понимание этого заявления оболочки

8

Я признаю, что это домашнее задание, но я потерял объяснение следующей командной строки:

ВНИМАНИЕ : Это так называемая вилка бомба! Эта командная строка может и приведет к краху вашего компьютера, потребляя всю оперативную память и процессор (поверьте мне, я попробовал это ...)

:(){ :|:& };:

Поскольку я знаю, что я должен сделать это один здесь, это то, что я имею до сих пор (поиск этих символов очень обескураживает).

  1. Канал позволяет объединять некоторые команды вместе, так что первый вывод используется вторым в качестве ввода.
  2. & Является для запуска команды в фоновом режиме (в основном используется для запуска чего-то из оболочки, которая не должна блокироваться командой)

Я думаю, что: это вилка? Но здесь я полностью потерян! Я готов учиться, так что, может быть, у кого-то есть хороший ресурс, где я могу прочитать об этом?

WarrenFaith
источник
@kkp: разве ваша система не реагирует на сбой? Решение исправить это то же самое:
полная
Да, ты прав.
Самараса
FORKBOOOOOMB: D
zookalicious

Ответы:

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.

Источник: Forkbombs в Википедии

Эгиль
источник
спасибо ... это звучит довольно злобно! Не знал, что вы можете определить метод таким образом. очень интересно
WarrenFaith
не могли бы вы рассказать мне, как вы нашли эту статью в Википедии? Я пытался, но
безуспешно
Я уже знал, что искать;)
Эгиль
2
Итак, вы злой плохой хакер :) в любом случае, спасибо! мне очень помогли
WarrenFaith
Большинство из нас, кто просматривал форумы Ubuntu, много раз получали предупреждение о запуске forkbombs или sudo rm rf, вы знаете все остальное и т. Д. Не знаю, откуда Эгил и получил это: P
zookalicious