Linux란?
리누스 토발즈라는 인물이 개발한 Unix 기반 운영체제.
- 리누스 토발즈는 Linux뿐 아니라 Git 버전관리 시스템도 최초로 개발하여 무료로 오픈소스로 제공하였다. 따라서 많은 서버가 Linux로 개발되어있다.
- 구글의 안드로이드 역시 Linux의 한 갈래이다.
- Linux는 원래 터미널에서만 사용되는 CLI(Command Line Interface)기반 OS였는데, 사용자를 위해 GUI(Graphic User Interface)로도 제공되고 있다.
디렉토리 구조
핵심개념
Filesystem Hierarchy Standard(FHS)
리눅스 시스템의 디렉토리 구조는 전체적으로 역 트리 구조를 하고 있으며, 명령어의 종류와 사용 권한 등에 따라 각각의 디렉토리로 구분되어진다. FHS라는 표준을 통해 대부분의 리눅스 배포판이 이러한 기본 구조를 갖는다. (FHS는 리눅스 재단에 의해 유지되고 있다.)
루트 디렉토리
cd /
를 이용하여 최상위 디렉토리인 루트 디렉토리로 접근이 가능.
홈 디렉토리
- window안에서의 내 컴퓨터와 같은 의미를 지니고 있다.
cd ~
를 이용하여 홈 디렉토리에 접근 가능
절대경로
- 무조건 최상위 루트부터 시작하는 경로
- ex) /home/eun/bin
상대경로
- 내가 있는 위치 기준으로 움직이는 경로
- ex)
cd ..
: 현재 위치 기준으로 바로 상위 디렉토리로 이동
.
: 현재경로
..
: 상위경로
환경변수
- OS도 프로그램이므로 OS를 동작하게 하기 위한 변수가 필요하다.
env
명령어로 linux 환경변수 확인이 가능하다.
PATH라는 환경변수에 저장되어 있는 것?
터미널에서 사용될 각종 명령어들의 경로가 저장되어있다.
명령어들을 PATH에 저장함으로써 기존 경로대로 하지 않고 편하게 터미널에서 명령어를 사용할 수 있는 것이다.
PATH에 원하는 명령어가 빠져있는 경우 PATH에 저장해주면 된다.
여러 경로를 저장하기 위해 각 경로는 :
로 구분되어진다.
자주 사용되는 Linux 명령어
- cd (change directory) : 디렉토리 이동 ex) cd home
- ls (list segments) : 현재 폴더 내 파일 확인
- ls -a (list segments all) : 현재 폴더 내 기본 파일 뿐 아니라 닷(.) 파일까지 확인
- pwd (print working directory) : 현재 내 위치 확인
- touch : 파일 생성 ex) touch (파일명.확장자명)
- mkdir (make directory) : 디렉토리 생성 ex) mkdir (디렉토리명)
- rmdir (remove directory) : 디렉토리 제거 ex) rmdir (디렉토리명)
- rm (remove) : 파일 또는 디렉토리 제거 ex) rm (파일명) / rm -r (디렉토리명)
- cp (copy) : 파일 또는 디렉토리 복사 ex) cp (복사할 파일명) (새 파일명)
- mv (move) : 파일 또는 디렉토리 이동 ex) mv (이동시킬 파일) (이동할 경로)
- cat (concatenate) : 두 개 이상의 파일을 연결해서 출력 ex) cat (파일명1) (파일명2)
- chmod (change mode) : 파일 또는 디렉토리의 권한 설정
- clear : 터미널 내용 비우기
- history : 지금까지 사용했던 모든 명령어 확인
특정 단어가 포함된 명령어를 찾고 싶을 경우 ex) history | grep (단어)
참고자료
디렉토리구조 이미지 참고