리누스 토발즈가 개발한 유닉스 기반 운영체제로 전세계 서버의 대부분을 차지하며 범용적으로 사용되고 있다.(맥 OS는 리눅스와 비슷한 계열인 유닉스 기반의 운영체제 이다.) 우분투는 리눅스 배포판 중 한 계열이다. 리눅스는 CLI 기반으로 터미널을 통해 명령어로 작업이 이루어 진다.
리눅스 파일시스템 구조
모든 OS 시스템들은 파일시스템 구조를 가지고 있다. 각 디렉토리 마다 각각 역할을 가지고 있다.
/root/ : 리눅스 시스템에선 루트 사용자가 최고권한자 이다. 권한이 엄격하게 구분되어 있다.
/home/ : 일반 유저의 데이터가 저장 되는 곳 *가장많이 사용하게 되는 곳
/mnt/ :외장하드, usb 연결하면 할당되는 곳
각 폴더별 특징
**/
(root)** : 루트폴더, 리눅스는 드라이브개념이 없어서 /
가 가장 최상위 경로이다.
**/bin , /sbin**
: OS의 최소한의 구동을 위해 필요한 프로그램이 들어있는 폴더, sbin 폴더는 bin과 유사하지만 오직 루트유저 전용 프로그램만 포함한다.
**/boot**
: 시스템 부팅에 필요한 파일들이 위치
**/usr**
: user의 약자로 각 유저 이름에 해당하는 폴더이름이 존재한다
**/home**
: 유저의 공간으로 리눅스의 운영과 관리에 관련한 파일들이 존재하는 디렉토리들이 있다. ~
기호로 바로 접근이 가능하다.
**/ etc**
: 시스템 전체에서 사용하는 설정 정보 등 엑스트라 데이터들이 저장되어 있다.
**/cdrom**
: cdrom을 위한 마운팅 포인트
**/media, /mnt**
: 운영체제에서 자동으로 마운팅해주는 포인트
**/dev**
: 키보드, 마우스, 프린터 등과 같은 디바이스들은 파일 또는 디렉토리의 형태로 dev 폴더 안에 존대 한다.
경로
**/
(root)** : root 디렉토리
**~**
: home 디렉토리
절대경로 : 직접적으로 경로 전체를 표현하는 방식 (ex. /home/eun/bin)
상대경로 : 현재의 위치를 기반으로 움직이는 경로 .
: 현재경로 ..
: 상위경로
환경변수 : 경로에 대한 변수
많이 쓰는 명령어
cd
(change directory) : 폴더이동
ls
(list segments) : 현재 경로 내 파일 목록 출력
pwd
(print working directory) : 현재 경로 출력
mkdir / rmdir
(make directory) : 디렉토리 생성 / 제거
rm
(remove) : 파일 / 디렉토리 제거
cp
(copy) : 파일 / 디렉토리 복사
mv
(move) : 파일 / 디렉토리 이동
cat
(concatenate) : 터미널에 파일 내용 출력
touch
: 파일 생성 및 날짜정보 변경
chmod
(change mode) : 파일 / 디렉토리 권한 설정