이 명령을 설명해주세요

이 명령을 설명해주세요

얼마 전 나는 다음 명령을 발견했습니다.

for i in 0 1 2 3 4 5 6 S ; do ln -s /etc/rc$i.d /etc/rc.d/rc$i.d ; done

이 명령은 for 루프를 사용하여 각 파일 사이에 심볼릭 링크를 만드는 것으로 이해됩니다.제가 정말로 이해할 수 없는 것은 그 숫자에 있는 S입니다. S는 무엇을 해야 합니까?

답변1

이 숫자는 무작위로 선택된 것이 아닙니다.런레벨귀하의 시스템. 실행할 초기화 스크립트를 결정하는 데 사용되는 실행 수준입니다. 지금은 대부분 구식입니다. Linux를 사용하는 경우 런레벨이 가장 가능성이 높습니다.S는 1과 같다. 문서가 매우 오래되었거나 update-rc.d수동으로 생성하는 대신 심볼릭 링크를 사용하고 있을 수 있습니다.

따라서 루프는 모든 실행 수준(1-6 및 S)에서 반복됩니다.

답변2

for 루프에서 "in" 뒤의 모든 항목은 루프의 $i에 할당되는 문자열입니다. 이 스크립트는 /etc/rc?.d에서 /etc/rc.d/rc?.d로의 소프트 링크를 생성합니다. 이것은 아마도 배포판 간의 호환성을 보장하기 위한 해킹일 것입니다.

S는 때때로 런레벨 1 또는 단일 사용자 모드의 동의어로 사용됩니다.https://en.wikipedia.org/wiki/Runlevel

관련 정보