설명 Linux 시스템에서 사용자 루트의 UID는 항상 0입니다. 이는 커널이 UID 0을 사용하여 수퍼유저 권한을 확인하고 모든 시스템 리소스에 대한 액세스 권한을 부여하기 때문입니다. UID 0을 가진 사용자 계정의 이름은 일반적으로 루트이지만 변경되거나 별칭을 가질 수 있습니다. 그러나 일부 응용 프로그램에서는 루트라는 이름을 예상하고 다른 이름으로는 제대로 작동하지 않을 수 있습니다. UID 0은 루트 사용자용으로 예약되어 있으며 다른 사용자에게 할당할 수 없습니다. UID 0은 다른 사용자 정보와 함께 /etc/passwd 파일에 저장됩니다. 참고자료: * Linux 필수 항목 항목 104: Linux 운영 체제, 섹션 104.4: 실행 수준 및 부팅 대상. * Linux Essentials 항목 106: 보안 및 파일 권한, 섹션 106.1: 기본 보안 및 사용자 유형 식별. * Linux Essentials 주제 106: 보안 및 파일 권한, 섹션 106.2: 사용자 및 그룹 생성.
010-160 문제 2
다음 중 PATH 환경 변수에/new/dir/디렉토리를 추가하는 명령은 무엇입니까?
정답: C
설명 PATH 환경 변수는 쉘이 명령을 검색하는 콜론으로 구분된 디렉토리 목록입니다. PATH에 새 디렉터리를 추가하려면 PATH=new/dir:PATH 구문을 사용하여 변수의 기존 값에 디렉터리를 추가해야 합니다. 그러나 이는 현재 셸 세션의 PATH만 변경합니다. 변경 사항을 영구적으로 적용하려면 셸의 모든 하위 프로세스에서 변수를 사용할 수 있도록 하는 내보내기 명령을 사용해야 합니다. 내보내기 명령은 달러 기호($) 없이 변수 이름을 인수로 사용합니다. 따라서 /new/dir/을 PATH에 추가하고 내보내는 올바른 명령은 내보내기 PATH=/new/dir:PATH입니다. 참고자료: * Linux Essentials - Linux Professional Institute(LPI) * 윈도우에서 경로 및 환경변수 설정하는 방법 - 컴퓨터희망
010-160 문제 3
다음 중 쉘 스크립트에서 for 루프의 일반적인 구조를 보여주는 예는 무엇입니까?
정답: C
설명 쉘 스크립트에서 for 루프의 일반적인 구조는 다음과 같습니다12: 목록의 변수에 대해 do 명령 완료 변수는 목록의 항목 값을 사용하는 루프 카운터 또는 반복자의 이름입니다. 목록은 일련의 단어, 숫자, 파일 이름 또는 명령 출력일 수 있습니다. 명령은 변수의 각 값에 대해 실행되는 루프의 본문입니다. do 및 done 키워드는 루프 본문의 시작과 끝을 표시합니다. C. for file in *.txt do echo $i done 옵션은 이 구조를 따르며 변수는 file이고 목록은 다음과 같습니다. *.txt(현재 디렉터리에서 확장자가 .txt인 모든 파일과 일치) 및 명령은 echo입니다. $i (아마도 스크립트의 다른 곳에 설정되어 있는 변수 i의 값을 인쇄합니다). 다른 옵션은 다음과 같은 이유로 올바르지 않습니다. * A. for *.txt as file => echo $file은 for 루프에 잘못된 구문을 사용합니다. as 키워드는 쉘 스크립트 구문의 일부가 아니며 => 기호는 유효한 연산자가 아닙니다. 이 루프를 작성하는 올바른 방법은 다음과 같습니다. *.txt의 파일에 대해 echo $file done을 수행합니다. * B. for *.txt( echo $i )는 for 루프에 잘못된 구문을 사용합니다. 괄호는 쉘 스크립트 구문의 일부가 아니며 루프 본문에는 do 및 done 키워드가 없습니다. 이 루프를 작성하는 올바른 방법은 다음과 같습니다. for i in *.txt do echo $i done * D. for ls *.txt exec {} ; for 루프에 잘못된 구문을 사용합니다. ls 명령은 유효한 변수 이름이 아니며 exec {} ; 유효한 명령이 아닙니다. 이는 for 루프와 find 명령을 혼합한 것처럼 보입니다. 이 루프를 작성하는 올바른 방법은 다음과 같습니다. *.txt의 파일에 대해 do exec $file done * E. foreach @{file} { echo $i }는 for 루프에 잘못된 구문을 사용합니다. foreach 키워드는 셸 스크립트 구문의 일부가 아니며 @{file} 및 { echo $i }는 유효한 표현식이 아닙니다. 이는 for 루프와 Perl 구문을 혼합한 것처럼 보입니다. 이 루프를 작성하는 올바른 방법은 다음과 같습니다. for file in * do echo $file 완료 참고자료: * 반복문 | 쉘 스크립트 - GeeksforGeeks * Bash에서 'for' 루프를 어떻게 작성하나요? - 스택 오버플로