본문 바로가기

CS

리눅스 쉘과 명령어 기초

  • 쉘이란 커널과 사용자 사이의 인터페이스 라고 보면 된다.

Shell을 사용하는 경우

  • 서버에서 접속해서 사용하는 경우
  • crontab 등 Linux의 내장 기능을 활용하는 경우
  • 데이터 전처리를 하기 위해 shell command를 사용하는 경우
  • Docker를 사용하는 경우
  • 수 백대의 서버를 관리할 경우
  • Jupyter Notebook의 cell 앞에 !를 붙여서 shell command를 사용하는 경우
  • 터미널에서 python3, jupyter notebook을 실행하는 경우
  • 배포 파이프라인(Github Action 등)을 실행하는 경우

쉘의 종류

  • Bourne Shell
  • Bash(Bourne Again Shell)
  • C-Shell
  • KornShell

 

Shell의 기본 Command

man command(1), system call(2), function(3). 다양한 리눅스 명령어의 사용법 확인 가능
mkdir 디렉토리 생성
ls 현재 폴더의 폴더, 파일 확인, ls -l을 가장 많이 사용
pwd 현재 디렉토리 출력
cd Change Directory
echo 텍스트 출력
bash 쉘 스크립트 실행
sudo “substitute user do”, 다른 사용자의 권한 얻기
cp copy
mv move
clear cls
cat concatenate 텍스트출력, 여러 파일을 붙혀서 실행 가능
history -i30처럼 특정 번째 실행했던 명령어를 다시 실행 가능
find 파일 및 디렉토리 검색
export 환경변수 설정
cut -f -d d: delimeter -f:field. delimeter를 기준으로 잘라 field번째 값만 출력
redirection (>, >>) 프로그램의 출력(stdout)을 다른 파일이나 스트림으로 전달
pipe ( | ) 다른 프로그램의 출력을 다른 프로그램의 입력으로 사용하고 싶은 경우
ps (process status) -f: full format -e: 모든 프로세스
curl Client URL, 웹서버에 요청을 보낼 수 있음
grep 특정 키워드가 포함된 줄만 출력
chmod change mode, 파일 권한 변경
nohup 터미널 종료후에도 계속 작업이 유지하도록 실행. nohup helloword.py & (백그라운드 실행 필요)
scp Secure Copy, ssh로 연결된 호스트간 파일 복사 -r: 재귀적 복사 (하위 디렉토리를 포함해서 복사한다.) -P: ssh 포트 지정 -i: SSH 설정을 활용해 실행
df Disk Free, 현재 사용 중인 디스크 용량 확인

 

 

Reference

'CS' 카테고리의 다른 글

Sync, Async vs Blocking, Non-Blocking  (0) 2022.06.01
Big-Endian, Little-Endian  (0) 2019.05.17
gdb  (0) 2017.09.21