사용자와 하드웨어간 인터페이스 역할을 하며 응용 프로그램 관리 및 자원 관리 등을 하는 시스템 소프트 웨어. 커널과 쉘로 이루어져 있다.
사용자가 명령어를 입력하면 제어를 할 수 있는데 이때 사용자의 명령어를 받을 수 있는 쉘(Shell)이 존재한다. 이름에서도 알 수 있듯이 조개 껍데기처럼 가장 바깥쪽에 사용자 가까이 존재하면서 사용자의 명령어를 해석하여 커널을 통해 하드웨어를 조작하게 되는 것이다.
- 오픈소스 소프트웨어로, 자유롭게 수정, 확인, 배포 가능
- 네트워크 운영체제(멀티테스킹, 멀티스레드)
프로세스가 동작하는 방식에 영향을 미치는 동적인 값들의 모임
pwd: 현재 위치 출력
~: home directory
ls: 현재 위치의 파일목록 출력
cd: 디렉토리 이동
mkdir: 디렉터리 생성
touch: 파일 생성
vi: 파일 에디터, (i: insert, esc, shift + ;, wq, write and quit)
rm: 파일 삭제
rm -r: 디렉토리 삭제, rm -rf* 는 현재 위치를 기준으로 모든 하위 디렉터리를 강제로 삭제하게 되니 주의..
mv: 파일 이동. e.g., mv ./test.md ./test 현재 위치에 있는 test.md를 test디렉터리로 이동
cp: 복사. e.g., cd ./test.md /Users/joo/Desktop/wecod/29th 현재 위치의 test.md를 29기 디렉터리에 복사