본문 바로가기

코리아IT아카데미 [국비과정]/수업

[Linux] Shell

Shell : 명령어 해석기

 

init system-runlevel (시스템 구동 순서)

0 : halt (종료)

1 : sigle

2 : tui (NFS 미지원)

3 : tui (NFS 지원) FULL-TUI

4 : unuse

5 : GUI (X11)

6 : reboot (재부팅)

 


 

변수 

변수 호출 = $

변수는 암묵적으로 대문자로 설정

 

'   : 함수호출(변수x) '%d %f'

"  : 함수호출(변수o) "$"

 

sevas 값의 KOREA 변수 설정

 

변수를 불러오면 sevas 값 출력

 

본 쉘에서 korea라는 값의 변수 KOREA를 생성하고

출력하면 korea 값이 잘 나오는 것을 확인

하지만 리눅스 쉘에서 KOREA 변수를 불러오면 값 X

 이는 지역 변수이기 때문임

 

즉, 변수끼리 공유가 불가능

 

unset 명령어를 통해 변수를 지울 수 있음

 

리눅스 쉘에서 KOREA를 생성하고 출력하면

sivas라는 값이 잘 출력되는 것을 확인

다시 KOREA2라는 변수를 생성하고

확인해보면 잘 생성이 됨

 

다만 다른 쉘간에서 출력을 해보면 KOREA의 값만이 출력

이는 export 명령어를 통해 전역 변수로 생성했기 때문

이를통해 쉘 간에 변수 공유가 가능

 


 

 

강사님 깜짝퀴즈

문제

 

vi /etc/profile을 열고 echo "안녕하세요 [$USER]님" 출력

여기서 $USER는 사용자 계정을 담는 변수

 

vi .bashrc를 열고 alias(단축키)를 통해 clear를 c에 담음

 

root에서 c 입력하면 clear명령어를 실행하여 깨끗히 지워짐

 

sevas계정에서는 실행되지 않음

 

sevas디렉토리를 추가하고 baba는 ls명령어를,

nana는 pwd명령어를 포함한 실행 가능한 파일을 생성

하지만 현재위치는 HOME이기 때문에

/sevas 디렉토리에 접근하지 않아 실행할 수 없음

그래서 직접 상대경로로 바로 출력하게 함

 

/sevas 디렉토리를 추가,

쉘이 명령어를 찾을 수 있는 경로에 이들 디렉토리를 포함

 사용자가 만든 실행 파일이나 특정 디렉토리에 있는

프로그램들을 쉘에서 쉽게 실행할 수 있게 됨

 

즉, /sevas디렉토리가 PATH 환경 변수에 포함,

쉘에서 어느 경로에 있든 nana와 baba를 실행

 

HOME에서 baba와 nana를 입력하면

ls와 pwd가 출력된 것을 확인