권한 변경하기
chmod 명령어
실습 환경 준비
여기까지 Shell을 학습한 내용을 복습해볼까요? 다음 내용에 맞춰 실습 환경을 Shell에서 직접 만들어보세요.
-
홈 디렉터리에 temp 라는 이름으로 디렉터리를 만드세요.
-
temp 디렉터리 안에 myfolder 디렉터리와 yourfolder 디렉터리를 만드세요.
-
다음 내용을 담은 텍스트 파일을 만든 뒤, myfolder 디렉터리 안에 cp 명령어로 복사해 넣으세요.
-
복사한 파일의 이름을 Shell에서 hello.sh 로 변경하세요.
-
myfolder 디렉터리 안에 있는 hello.sh 파일을 yourfolder 디렉터리 안에 복사해 넣으세요.
-
yourfolder 디렉터리에 있는 hello.sh 파일 이름을 lorem.sh 로 변경하세요.
#!/bin/sh
echo "World"
거칠 것 없이 실습 환경을 구축하셨나요? 옵션 없이 명령어를 기본 형식으로 사용했기 때문에 아마 능숙하게 명령어를 사용하셨을 거예요. 아직 손에 익지 않아 더듬거리셨다면 조금 더 실습을 하며 손에 익히시길 권해드려요.
각 권한 코드에 대해 실습을 먼저 해볼게요.
홈 디렉터리에 있는
myfolder
디렉터리로 이동한 후 다음 명령어를 실행하세요. 권한을 조정하는 거예요.
$ chmod 755 hello.sh
맨 앞에 있는
$
문자는 프롬프트 기호를 뜻하는 거라서 명령 줄에 입력하면 안 되는 거, 기억하시죠?
같은 방식으로
myfolder
디렉터리의 권한도 755로 지정해보세요.
ls
명령어의 옵션 중 파일이나 디렉터리를 한 줄에 하나씩 나열하는 옵션으로
ls
명령어를 실행해보세요.
hello.sh
의 정보 중 맨 앞에 있는 권한 부분이
.rwxr-xr-x
라고 표시됩니다. 같은 방식으로
myfolder
의 권한을 출력하면
drwxr-xr-x
로 권한이 표시돼요.
셔뱅(shebang)
./myfolder/hello.sh
명령어를 실행해보세요. 바로 다음 줄에 World 라는 문자열이 출력됩니다. Shell 스크립트가 실행된 것이죠. 맥OS와 리눅스는 실행 파일이 아니더라도 실행 권한이 있으면 실행을 시도합니다. 그런데 이상하죠? 실행 권한이 있다고 해서 이 텍스트 파일을 어떻게 해석하고 처리할 것인지를 아는 건 아니잖아요?
첫 줄을 보면
#!
로 시작하는데, 이 표식을 셔뱅이라고 해요. Shell은, 정확히는 프로그램 로더(loader)는 텍스트 파일 첫 줄에 셔뱅이 있으면 셔뱅 뒤에 있는 텍스트를 스크립트 해석기(인터프리터)의 경로 지시자로 간주해요. 프로그램 로더는 원래 실행하려던 대상 파일 대신 인터프리터를 실행하고, 인터프리터의 인자로 대상 파일을 전달하는 거지요.
hello.sh
의 파일 내용으로 보면 다음과 동일한 동작입니다.
$ /bin/sh hello.sh
목차
다른 컨텐츠 더 보기
-
[맥OS에서 지셸(zsh, Z Shell) 시작하기 [연재 완료]]소유자와 소유 그룹 개념, 그리고 최고 권한 사용자 (chown)2024. 4. 10.
-
[맥OS에서 지셸(zsh, Z Shell) 시작하기 [연재 완료]]Shell, 그리고 Zsh2024. 4. 10.
-
[맥OS에서 지셸(zsh, Z Shell) 시작하기 [연재 완료]]디렉터리 만들기와 지우기, 그리고 명령어 옵션2024. 4. 10.
-
[맥OS에서 지셸(zsh, Z Shell) 시작하기 [연재 완료]]Z Shell 사용하기2024. 4. 10.
-
[React에 입문하기 [연재 중]]React 조건부 렌더링2024. 10. 24.