Shell 스크립트 Basic
Shell Script
쉘스크립트란 무엇인가?
- Shell , 즉 커맨드창에서 쓰는 리눅스 명령어를 쉘 스크립트라고 한다.
- 쉘의 본질은 아마도 커널과 사용자간 브릿지 역할을 하는 것 같다.
쉘의 종류?
- sh: 최초의 쉘
- bash: 내가 주로 쓰는.. 윈도우에서 별도로 인스톨해서 사용가능
- zsh: 내 맥북에서 쓰는 기본 쉘
- 참고로 CLI 는 커맨드 라인 인터페이스의 준말
- 쉘과 터미널 사실상 혼용해서 쓰는 말로 정리되는듯 하다
쉘 사용 예시
- 깃헙 레포에서 파일들을 내려받고 확인해 볼 경우
- 서버단에서 명령어를 실행시킬 때 (크론탭, airflow사용 등)
- GUI(마우스 클릭클릭 화면)가 아닌경우 CLI를 사용하는데 그때 쉘 스크립트를 쓴다.
- 리눅스를 직접사용 시 쓴다
- Docker또한 서버내에서 명령어로 컨트롤 해야하는데 그럴대 쉘 스크립트를 사용한다.
- 가장 익숙한 !pip install pandas 이런형태로 쥬피터 노트북에서 사용 (패키지 설치시)
Basic Shell Command
- 탐색기에서 복붙등의 명령어를 쉘로 해보자.
man python
#man ------- shell command의 manual을 보여주는 명령어
#종료방법----- :q
mkdir
#mkdir ------ 폴더 생성 명령어
cd
#cd ----------- change directory 명령어
echo
#echo ---------- 파이썬의 프린트 처럼 text로 출력
echo "hello world!" 등으로 가능
echo 'ls' #echo '커맨드' 실행시 실행한 결과가 출력
vi
#vi 편집기로 파일을 생성. INSERT모드로 바꾸어야만 수정이 가능 (i를 누르면 해당모드로 바뀜)
man vi
vi hi.sh
#새로운 창이 등장시
echo "hi"
wq #ESC 와 동일
vi .hello.sh
#새로운 창이 등장시
echo "hello"
wq #ESC 와 동일
# wq는 저장후 exit
# wq!는 강제로 저장하고 나오기(파일 퍼미션이 read-only의 경우 사용)
ls
#list segments의 약자, 파일 리스트를 보여준다. 엄청 자주 사용
#ls 뒤에 붙는 다양한 옵션들
ls -a #.으로 시작하는 파일, 폴더를 포함해 전체파일 출력. 그냥 ls만 하면 .으로 시작하는 파일은 안보인다.
ls -l #퍼미션, 소유자, 만든날짜, 용량정보까지 보여줌
ls -h #용량을 사람이 읽기 쉽도록 GB, MB 등으로 표시
ls ~
ls
ls -al
ls -alh
ls -l
ls -lh
wget
#네트워크 상에서 데이터를 다운로드하는 명령어
wget www.daum.net
pwd
#print working directory의 약자. 현재경로 보여줌
mv
#move. 즉 파일또는 폴더 이동하기 명령
clear
#커맨드창 정리
cp
#파일 또는 폴더 복사하기
cp hi2.sh hi3.sh
cp hi2.sh hi.sh
cp -r #디렉토리를 복사할 때 폴더안에 내용물이 있다면 recursive하게 복사가 필요. 이럴경우 사용
cp -f #복사할 때 강제로 덮어쓰면서 실행
cp -p #퍼미션 까지 동시에 복사해버림
history
#최근 입력한 커맨드들 히스토리를 모두 보여줌
요약
#요약
mkdir
cd
echo
vi
ls
wget
pwd
mv
clear
cp
history
study source : https://zzsza.github.io/kyle-school (쏘카 데이터팀 교육자료)
이 글이 도움이 되셨다면 추천 클릭을 부탁드립니다 :)