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 (쏘카 데이터팀 교육자료)

이 글이 도움이 되셨다면 추천 클릭을 부탁드립니다 :)

Buy me a coffeeBuy me a coffee





© 2020 modified by Tae You Kim

Powered by "shoman2"