Redhat Enterprise Linux (RHEL) (상용)
CentOS : RHEL의 클론
Fedora Linux : Redhat에서 새로운 기능/제품을 테스트하기 위한 용도로 사용
CentOS Stream : RHEL과 Fedora의 중간 정도의 포지션
리눅스는 단일 트리 파일시스템 구조를 가짐 ( / )
프롬프트에 $ 기호가 있을 경우 $ : 일반 사용자 권한
프롬프트에 # 기호가 있을 경우 # : 관리자 권한(root)
GUI : Graphical User Interface (그래픽 환경)
CLI : Command Line Interface (명령줄 환경)
TUI : Text User Interface (텍스트 환경)
=================================================
운영체제
유닉스 - Unix (Unics)
운영체제의 역할
하드웨어 - 커널 - 쉘 - 응용프로그램
리눅스 - 유닉스의 오픈소스 버전
배포판(Distribution) - 리눅스 커널을 토대로 각자 개발된 개별적인 리눅스 모델
서버
==========================================
쉘(Shell)을 다루는 방법
명령어
쉘의 종류
=============================================
ls : 파일/디렉토리 목록을 확인
주요 옵션
-a : 숨김파일 표시
리눅스/유닉스의 숨김파일: 파일명 맨 앞자리를 .으로 생성
-A : 숨김파일 표시 “.”, “..” 항목을 미표시
-F : 각 개체의 유형을 표시 (일반 파일/ 디렉토리)
-R : Recursive. 디렉토리 및 그 디렉토리 내부의 디렉토리 내 개체 정보까지 표시
절대경로/상대경로
절대경로: 개체의 디렉토리 구조상 위치를 절대적인 기준에 따라 작성. 절대적인 기준은 최상위 디렉토리( root 디렉토리, /)
상대경로: 개체의 디렉토리 구조상 위치를 상대적인 기준(현재 위치)에 따라 작성
/서울시/서초구/서초동/100번지/3층 : 절대경로 방식
서초동/100번지/3층 : 상대경로 방식
절대경로 상대경로 구분방법
경로가 /로 시작하면 무조건 절대경로
경로가 /로 시작하지 않으면 무조건 상대경로
. : 현재 위치를 의미
.. : 현재 디렉토리의 상위 디렉토리
리눅스 주요 디렉토리 구조
bin : /usr/bin = /bin, 실행파일이 존재하는 위치. 일반 권한으로 실행하는 파일들
dev : device. 리눅스 시스템의 장치 파일들이 위치(b, c)
home : 홈 디렉토리. 사용자별로 자신만이 사용할 수 있는 공간
proc : 임시 디렉토리. 자동적으로 생성되고 관리되므로 직접 수정 금지
run : 런타임 데이터가 존재하는 위치
tmp : 임시 디렉토리. 데이터가 유지되는 임시 디렉토리 /tmp, /var/tmp 등을 사용
var : 변경 가능한 데이터들이 위치. 데이터는 유지. 로그 데이터가 저장됨 /var/log
boot : 부팅(Booting), 즉 시스템을 구동시키기 위해 필요한 정보가 저장
etc : 리눅스 시스템 및 응용프로그램의 설정을 저장
lib : 라이브러리 , 모듈 등이 저장
root : root 사용자의 홈디렉토리 (/home/root가 아님)
sbin : 시스템 관리작업용 실행파일
usr : 프로그램 설치 등 경우에 저장되는 경로
=================================================
cd : Change Directory. 현재 작업 경로를 변경
cd [변경할 경로] : 절대/상대경로 모두 사용가능
cd : 옵션/인자(Arguments) 없이 실행할 경우. 현재 사용자의 홈 디렉토리로 이동
cd ~ : 홈 디렉토리로 이동
cd ~[사용자이름] : 지정한 사용자의 홈 디렉토리로 이동 (root 사용자)
root 사용자는 특권(Privilege)를 가지고 있음 - 권한이 없는 개체에도 접근 가능
cd - : 이전 경로로 이동
date: 현재 날짜, 시간 정보 확인
id : uid(시스템에서 사용자를 식별하기 위한 일련번호), 소속되어 있는 그룹 정보 출력
w : 현재 접속된 사용자 정보를 출력. CPU 사용량 등 부가 정보를 함께 출력
who : 현재 접속된 사용자 정보를 간략히 출력 (이름, 접속시간, 접속경로)
whoami : 현재 로그인된 사용자 이름 반환
uname : 시스템 정보 출력
cat : 파일 내용 출력
==============================================
리다이렉션(방향재지정)
리눅스에서 명령어를 사용할 때, 표준 입력, 표준 출력을 사용함 (stdin, stdout)
리다이렉션을 사용하여 입력 또는 출력의 방향을 변경할 수 있음
: 앞 명령어의 출력을 표준 출력(화면)이 아닌 지정한 파일로 출력 (Overwrite)
< : 앞 명령어에 뒤 파일의 내용을 입력으로 전달: 앞 명령어의 출력을 지정한 파일로 출력 (Append)
2> : 표준 에러의 방향 재지정
표준 출력: 화면에 출력되는 내용 (stdout)
표준 입력: 키보드로 입력하는 내용 (stdin)
표준 에러: 명령어에서 발생한 에러 (stderr)
파이프라인(Pipeline)
리다이렉션을 사용하여 한 명령어의 실행결과 출력을 다른 명령어로 전달할 경우, 명령어의 결과를 저장할 파일이 생성되고, 명령을 두번 실행하여야 함
파이프라인을 사용할 경우 앞 명령의 실행 결과 출력을 뒤 명령의 입력으로 전달 가능
파이프라인 사용시 파일이 생성될 필요가 없음
[명령어1] | [명령어2] : 명령어1에서 화면에 출력할 표준 출력 내용이 명령어 2의 표준입력으로 전환됨
/dev/null : 데이터를 리다이렉션을 통해 버릴 수 있는 특수 장치 파일
/dev/zero : 끊임없이 0 데이터를 출력하는 특수 장치 파일
===============================================
파일 내용 출력 명령어
cat
more : 텍스트 데이터를 페이지 단위로 출력
less : more와 유사하나 Page Up/Down 키 사용가능, 맨 아래까지 출력 후 정지, q 눌러 종료
head : 위에서 지정된 줄 까지 출력
tail : 끝에서 지정된 위치까지 출력
이해하기 어려웠지만 어찌저찌 해내긴 했다. 까먹지 않도록 복습을 잘 해야겠다.