토발즈가 만든 커널을 토대로 만든 것들을 배포판이라하며 우분투, 레드햇, 안드로이드 등이 있다.
CLI (Command Line Interface) - 커맨드 환경
GUI (Graphic User Interface) - 그래픽 환경
사용자 - 쉘 - 커널 - 하드웨어
쉘이 사용자가 명령을 내리고 그 명령을 가지고 커널이 하드웨어를 제어하는 역할을 한다.
터미널이라는 프로그램을 통해 쉘을 실행시킨것.
리누스 토발즈가 만든 것은 커널이다.
파일기반으로 구조가 형성되어 있으며, 루트(/) 디렉토리가 최상위경로이다.
디렉토리 사이에는 /를 써서 구분한다.
/home : ~를 쓴다.
/bin : Binary의 약자로, OS를 구동하는데 필요한 프로그램이 있음.
/usr : 배포판에서 추가된 기능들이 들어있음.
절대경로 : root부터 내가 필요로한 디렉토리까지의 주소(root가 기준)
상대경로 : 지금 내가 있는 위치가 기준 cd . 현재경로 / cd .. 상위경로
환경변수 : 프로그램 실행 시 필요한 변수 (PATH는 자주 보니까 잘 알고있기)
config 파일(dot 파일)
설정도 파일로 한다.
.으로 시작하는 파일 및 디렉토리는 숨김 파일로 간주한다.
.zshrc(쉘 설정파일)
pwd : Print Working Directory
현재 위치를 출력한다.
~ : home directory
ls : List Segments
현재 위치 파일 목록 출력 (숨김 파일을 볼 수 없음.) ls -a로 숨김파일 출력 가능
cd : Change Directory (cd .. 상위폴더로 이동)
디렉토리 이동
mkdir : Make Directory
디렉토리 생성
touch
: 파일생성
vi (파일명.확장자)
: 파일 편집가능한 에디터 활성화(vi 또는 vim)
rm
: remove 파일삭제
cp
: copy 복사 (cp 복사할대상 복사할경로)
mv
: move 잘라내기 (mv 잘라낼대상 잘라낼경로)
rm -r
: remove -recursive 디렉토리 삭제
rm -rf*
: 현재경로부터 모든것을 지우는 커맨드 (쓰지말자 절대)
:을 기준으로 경로를 나눈다 (환경변수)