이 쉘 문장 이해


8

숙제라고 인정하지만 다음 명령 줄을 설명하는 데 길을 잃었습니다.

경고 : 이것은 소위 포크 폭탄입니다! 이 명령 줄은 모든 RAM과 CPU를 소비하여 PC를 손상시킬 수 있습니다 (믿습니다, 시도했습니다 ...)

:(){ :|:& };:

내가 여기서 혼자해야한다는 것은 내가 지금까지 가지고있는 것입니다 (이러한 문자를 찾는 것은 매우 낙담합니다).

  1. 파이프는 첫 번째 출력이 두 번째 입력에 의해 사용되도록 일부 명령을 함께 연결할 수 있습니다.
  2. &는 백그라운드에서 명령을 실행하는 것입니다 (기본적으로 명령에 의해 차단되어서는 안되는 쉘에서 무언가를 시작하는 데 사용됨)

나는 추측한다 : 포크인가? 그러나 여기서 나는 완전히 길을 잃었다! 나는 기꺼이 배우려고하는데 누군가 그것에 대해 읽을 수있는 좋은 자료를 가지고 있을까?


@kkp : 시스템이 충돌과 비슷하게 응답하지 않는 상황이 아닙니까? 시스템을 하드 리셋
WarrenFaith

그래 니가 맞아.
사마 라사

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.

출처 : 위키 백과에 대한 폭탄


고마워 .. 그것은 꽤 악하게 들린다! 이 방법으로 메소드를 정의 할 수 있다는 것을 몰랐습니다. 매우 흥미로운
WarrenFaith

위키 백과 기사를 어떻게 찾았는지 말씀해 주시겠습니까? 나는 노력했지만 성공하지 못했습니다 ...
WarrenFaith

무엇을 검색해야하는지 이미 알고있었습니다.)
Egil

2
좋아, 그래서 당신은 사악한 나쁜 해커입니다 :) 어쨌든 감사합니다! 나를 많이 도와주었습니다
WarrenFaith

당신이 등 나머지 ... 알고 RF 우분투 포럼을 찾아 사람 우리들 대부분은 forkbombs 또는 sudo는 RM을 실행에 대해 여러 번 경고 한 몰라 경우 Egil가에서 그것을 가지고 그의 생각 : P
zookalicious
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.