Linux
Linux는 1991년 Linus Tovals가 개발한 운영체제 이다. Linux는 오픈소스이며 누구나 코드를 볼 수 있다.
Linux는 시스템을 운영하는데 가장 널리 사용되는 운영체제이다. Windows 시스템이나 application이 아닌 일반적으로 시스템 서버는 Linux 기반으로 운영되고있다.
Linux는 Windows처럼 일반인을 위한 운영체제가 아니기 때문에 익숙치 않으면 Linux 사용이 많이 어려울 수 있다.
- Linux Directory Structure
- PATH
- Configs
- Shell Commands
Linux File System Hierarchy (FHS)
Linux의 파일 구조는 다음과 같은 tree 형태로 되어있다.
FHS
의 가장 위에는 /
디렉토리가 있다. Root 디렉토리라고 한다.시작점인 root 디렉토리 안에 여러 하위 디렉토리들이 있고 각 하위 디렉토리들 안에 또 하위 디렉토리 들이 있는 식이다. 각 디렉토리들은 /
로 구분한다.
Home Directory
Linux file system에는 여러 디렉토리가 있지만 그 중 가장 중요하고 기본이 되는 디렉토리는 바로 home 디렉토리이다. 왜냐하면 home 디렉토리가 유저의 공간이기 때문이다.
- Mac에서는 /home 디렉토리가 아니라 /Users 디렉토리에 유저의 home 디렉토리가 있다.
Path
디렉토리 경로에는 2가지 유형이 있는데 absolute path와 relative path이다.
Absolute Path
이름 그대로 절대경로이다. Absolute Path는 root 디렉토리에서 부터 시작하는 경로를 뜻한다.root 디렉토리에서 부터 시작하기 때문에 현재 나의 위치아 상관없이 항상 정확히 해당 경로로 이동 할 수 있다.
Relative Path
이름 그대로 상대경로이다. absolute path와는 다르게 현재 내 위치를 기반으로 움직이는 경로이다.경로를 이야기 할 때 .
은 현재 디렉토리를 이야기한다.
..
은 현재 디렉토리의 상위 디렉토리를 의미한다.
Configs
Config fileLinux에는 설정을 주로 파일을 통해서 한다. 그리고 여러 config file, 즉 여러 설정 파일들이 있다. 그 중 가장 중요한 설정 파일이 바로 shell 설정 파일이다. 각 shell마다 고유 설정 파일이 있다. Bash는 .bashrc
라는 설정 파일을 사용하고 zsh는 .zshrc
라는 설정 파일을 사용한다.
Shell Commands
Basic Shell Commands
- cd = 해당 경로로 이동
- ls = 현재 디렉토리 안의 파일 목록을 보여줌
- mv = 원본이동
- cp = 원본복사
- cat = 파일 여러개의 내용을 화면에 출력할 때 이용
- more = 파일을 읽어 화면에 화면 단위로 끊어서 출력
- less = 한 번에 보여지는 만큼만 읽어서 출력하기 때문에 대용량의 파일을 열어 볼 때 빠르게 사용
- tail = 파일의 내용을 뒤에서부터 출력
- nohup = 터미널이 끊겨도 실행한 프로세스는 계속 동작하게 한다.
- rm = 원복 삭제
- mkdir = 폴더 생성
- touch = 파일 생성
- kill = 프로세서 강제종료
- clear = 지난 화면 지우기
- pwd = 현재 디렉토리 경로를 표시
- chown = 파일의 owner 또는 group을 변경
- chmod = 대상 파일과 디렉토리의 사용권한을 변경할 때 사용
- grep = 파일 안 내용찾기
- history = 그동안 사용자가 입력한 모든 터미널 명령어를 보여줌
- ps = 현재 실행중인 모든 프로세서 표시
piping
|
- pipe라고한다.
- pipe는 일반적인 명령어가 아니라 명령어를 이어주는 역할을 한다.