리눅스의 종류와 소개
유닉스 개요
•
대부분 C언어를 기반하여 개발된 운영체제
•
이식성이 강해 새로운 기종에 적은 노력으로 이식이 가능
리눅스 개요
•
타 운영체제와 달리 리눅스 커널과 다른 구성요소가 무료인 오픈 소스 소프트 웨어
•
PC 또는 기타 장비에서의 이식성이 높음
리눅스 종류
데비안 계열
•
우분투
•
개인용 노트북과 데스크톱에서 가장 인기가 많음 (서버 전용 운영체제도 존재)
•
칼리 리눅스
•
모의 해킹 또는 Offensive 보안을 목적으로 만들어진 운영체제
•
여러 해킹 도구, 툴이 포함되어 있음
•
리눅스 민트
•
자바, 플래시 웹 플러그인 등을 기본적으로 포함한 운영체제
•
우분투에 비해 GUI의 외형적 아름다움에 상대적으로 더 집중함
레드햇 계열
•
페도라
•
기업용 RHEL(Red Hat Enterprise Linux) 에서 페도라 프로젝트를 후원하면서 만들어진 일반 사용자용 운영체제
•
RHEL
•
레드햇에서 개발한 리눅스 배포판
•
유료 라이선스로 판매되는 대신 레드햇 측의 기술지원 제공
•
CentOS
•
페도라가 RHEL 의 기술 반영을 따라가지 못해 완벽에 가깝게 반영하는 것을 목적으로 만들어짐
•
무료
리눅스 명령어
shutdown
•
시스템 즉시 종료
shutdown -h now
halt
init 0
Bash
복사
•
즉시 재시작
shutdown -r now
reboot
init 6
Bash
복사
•
shutdown 명령 옵션 예시
shutdown -h 10m # 10분 후에 종료
shutdown -r 22:00 # 종료 후 오후 10시에 재가동
shutdown -c # 예약된 종료 취소
Bash
복사
pwd
Print name of Working Directory 의 약자로 작업 중인 디렉터리 이름을 출력
•
사용 예시
pwd
Bash
복사
cd
Change Directory의 약자로 상대경로와 절대경로를 이용하여 현 디렉터리 주소를 변경
•
절대 경로 이용 예시
cd /home/user/Desktop/
Bash
복사
•
상대 경로 이용 예시
cd ./user/Desktop/
Bash
복사
rm
remove의 약자이며 필요 없는 파일을 삭제할 때 사용
•
사용 예시
rm [옵션][파일명]
Bash
복사
옵션 | 기능 |
-d | 디렉터리 삭제 |
-f | 삭제할 것인가라는 메세지 없이 그대로 강제 삭제 |
-i | 삭제 시 일일이 삭제할 것인지 물음 |
-r | 하위 디렉터리를 포함한 파일들을 모두 삭제 |
-v | 삭제되기 전의 파일들을 보여줌 |
mkdir, rmdir
make directory, remove directory 의 약자로 디렉터리의 생성, 삭제 가능, 단 디렉터리가 비었을 때만 삭제 가능
mkdir [옵션] # (복수지정가능)
rmdir [옵션] # (복수지정가능)
Bash
복사
find
조건에 맞는 파일을 찾아주는 명령어
•
사용 예시
find [경로] [표현식] [지정조건]
Bash
복사
표현식 | 기능 |
-name | 지정된 문자열 패턴에 해당하는 파일 검색 |
-empty | 빈 디렉터리 또는 크기가 0인 파일 검색 |
-delete | 검색된 파일 또는 디렉터리 삭제 |
-exec | 검색된 파일에 대해 지정된 명령 실행 |
-path | 지정된 문자열 패턴에 해당하는 경로에서 검색 |
-print | 검색 결과를 출력, 검색항목은 newline으로 구분 (기본 값) |
-print0 | 검색 결과를 출력, 검색 항목은 null 로 구분 |
-size | 파일 크기를 사용하여 해당하는 파일 검색 |
-type | 지정된 파일 타입에 해당하는 파일 검색 |
-atime | 파일 접근시각을 기준으로 파일 검색 |
cat
concatenate에서 유래, 하나 이상의 파일의 이름을 인자로 받아서 터미널에 내용을 그대로 출력한다
•
사용 예시
cat [옵션] [파일명]
Bash
복사
grep
Global Regular Express Printer의 약자로 해당 문자열이 들어있는 파일을 찾아 그 문자열이 들어있는 라인을 화면에 출력
•
사용 예시
grep [옵션] [파일명 혹은 문자열]
Bash
복사
옵션 | 기능 |
-v | 일치되는 내용이 없는 라인을 표시한다 |
-c | 일치되는 내용이 있는 행의 개수를 센다 |
-i | 일치되는 내용이 있는 파일의 이름만을 표시한다 |
-h | 일치되는 내용을 찾은 파일의 이름을 표시하지 않는다 |
-n | 일치 내용이 있는 행은 행 번호와 함께 표시된다 |
-i | 대소문자 구분을 하지 않는다 |
vim 에디터
vi 호환 텍스트 편집기, 독자적으로 다양한 기능을 추가하여 사용자의 편의를 도움
모드 | 키 | 기능 |
일반 모드 <br>(Normal Mode) | ESC | 키 입력을 통한 vim 명령을 내리는 모드<br> 커서 이동, 삭제, 복사 등의 작업 수행 |
입력모드 <br> (Insert Mode) | i, o, s, a | 실제로 문서를 편집하기 위한 모드 |
명령 모드 <br>(Command Mode) | :, /, ? | 명령 입력으로 여러가지 작업을 수행하는 모드<br>vim의 설정편집, 다른파일 열기, 저장 등의 작업 수행 |
비주얼 모드<br>(Visual Mode) | v | 명령을 수행할 경우 범위를 지정하는 모드 |
파일시스템 구조 및 디렉터리
Everything is a file
•
모든 것은 파일
•
유닉스 프로그램의 모토, 유닉스는 각각의 장치를 파일로 처리, I/O Redirection을 이용하여 디렉터리 어디서든 장치들과 입출력이 가능
•
리눅스에서도 모든 것이 파일로 액세스됨
트리구조
•
리눅스 파일 시스템은 파일과 디렉터리의 계층적 구조를 가지고 있으며, 보통은 서로 연관된 파일들을 하나의 그룹으로 모으고 각 그룹을 고유의 디렉터리에 보관
•
이 계층 구조의 기초에는 루트 디렉터리가 있고, / 로 나타냄
•
모든 파일과 디렉터리는 루트 디렉터리의 자식 혹은 먼 후손
ls 명령어를 이용한 파일 구조 이해
ls -l 명령어를 수행했을 때 출력되는 파일 구조
① | ② | ③ | ④ | ⑤ | ⑥ | ⑦ | ⑧ | ⑨ |
- | rw-rw-r— | 1 | kisec | kisec | 16 | Mar 9 | 09:08 | test.txt |
파일 종류 | 허가 권한 | 링크 수 | 소유자 명 | 그룹 명 | 파일 크기 | 마지막 변경된 날짜 | 마지막 변경된 시간 | 파일 이름 |
계정의 이해
•
리눅스에서 계정은 파일의 설정에 따라 관리
•
/etc/passwd : 계정이름과 관련 정보
•
/etc/shadow : 패스워드와 관련 정보
퍼미션과 소유권
•
리눅스 시스템에 있는 모든 파일과 디렉터리에서는 그것을 엑세스할 수 있는 소유자와 그룹에 대한 소유권을 가진다
•
이런 파일과 디렉터리에 엑세스 할 수 있도록 해주는 퍼미션으로 접근을 제어 할 수 있다
소유권 관리
•
chown 명렁어 사용
chown 소유자.그룹 파일/디렉터리 명
JavaScript
복사
퍼미션 형식 구조
- | r | w | x | r | w | x | r | w | x |
4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 |
파일
유형 | 사용자 (User) | 그룹(Group) | 기타(Other) |
•
읽기 허용 (Read)
•
파일 내용을 읽을 수 있는지 여부를 결정
•
쓰기 허용 (Write)
•
파일을 쓰거나 지울 수 있는지, 덮어쓸 것인지 결정
•
실행 허용 (eXecution)
•
실행파일들에 대해서 실행 권한 부여 여부를 결정