Search

리눅스(Linux) - 쉘(Shell)과 쉘 스크립트(Shell script)

Created at
2019/02/05
Updated at
2021/02/21
Tags
Keywords
Linux 기초
3 more properties
생활코딩 생활코딩 리눅스 강좌 내용을 들으면서 정리하는 노트
강의 듣기 (같은 강의이니 편한 곳을 선택해서 공부하면 된다!)

1. 쉘과 커널 (Shell & Kernel)

1.1 리눅스의 구조

kernel: hardware를 직접적으로 제어하는 운영체제의 가장 중심적인 부분
shell: 사용자의 명령을 해석해서 kernel에게 전달하는 역할
kernel과 shell을 분리하면 다양한 shell이 만들어질 수 있기 때문에 사용자의 선택의 폭이 넓어짐

1.2 bash vs. zsh

$ echo $0: 현재 shell 확인 (bash or zsh)
bash or zsh: 기능의 차이가 약간 존재함 (zsh의 편의성이 더 뛰어남)
선호하는 shell을 설치해서 자신에게 최적화하여 사용 가능
각각의 user마다 선호하는 다른 shell을 사용 가능

2. 쉘 스크립트(Shell script)

여러 개의 명령을 순차적으로 실행함으로써 하나의 업무가 이루어질 때 그 명령들을 script로 작성 → 저장 & 재사용 가능
script 작성
첫 줄에 #!/bin/bash: 이 밑에 작성되는 코드가 bin/bash를 통해 해석되어야한다는 사실을 명시
script 작성 예시
스크립트 파일 backup 생성
#!/bin/bash if ! [ -d bak ]; then # -d : 존재하는 디렉토리인지 체크 mkdir bak fi cp *.log bak
Bash
복사
내용: 현재 디렉토리에 bak 디렉토리가 존재하지 않는다면 bak 디렉토리를 만들고, .log로 끝나는 파일을 bak 디렉토리로 복사한다.
script 실행
파일권한 변경: $ chmod +x backup (실행가능하게 변경)
실행: ./backup
참고자료