
(유닉스 기반의 OS CLI 환경)
Tip: terminal을 여러개 띄워서 설명을 보면서 작업을 할 수 있다.
참고 자료
- 구름 쿠버네티스 리눅스 강의
- 리눅스 -구름 배포 자료
- 생활코딩 리눅스
리눅스 배포판
- Red Hat 계열
Red Hat(무료), Red Hat Enterprise Linux(RHEL), Fedora(유료), CentOS, RockyLinux
(CentOS 정책이 변경 ==> RokyLinux가 역할을 대체함)- Debian 계열
Debian, Ubuntu, Kali
[root@localhost ~]#root : 사용자
localhost : hostName
~ : 작업 디렉터리
# : 쉘 프롬프트

파일을 포함하는 특수한 파일
홈 디렉토리
작업 디렉터리
Command [Option]... [argument]...
Command: 명령어Option: 명령어 출력 값 조정Argument: 명령어 실행시 적용되는 대상[Option or argument]... 해당 부분에 1개 이상의 항목이 올 수 있다.~ : (tilde 기호): 사용자의 현재 작업 디렉토리# : 쉘 프롬프트라고 한다!--help: 명령어의 간략한 사용법(옵션 위주)man: 메뉴얼 페이지, 명령어에 대한 자세한 설명/Keyword : 해당 키워드가 있는 페이지를 빨리 찾을 수 있다.n : 다음 keywordN : 이전 KeywordCtrl + Alt + F1Ctrl + Alt + F2~F6(man 명령어 활용)
ls : 현재 디렉토리 파일 목록을 출력ls -l : 세부내용 출력ls -a : 숨겨진 파일을 포함하여 모든 파일 출력ls -A : . , .. 을 제외한 숨견진 파일을 포함하여 모든 파일 출력ls -F : 파일 목록과 종류를 함께 출력ls -R : 해당 파일의 하위 목록들을 모두 볼 수 있다.pwd : 현재 위치하는 디렉토리를 출력mkdir : 새로운 디렉토리 생성touch : empty file 생성uname: 시스템 정보 출력uname -a : 모든 시스템 정보 출력uname -s : 커널 이름 출력uname -r : 커널 버전 출력su - root : 사용자 계정 변경cal : 달력 표시cal -3 : 이전 달, 이번 달, 다음 달 출력cal -j : 이번 달을 julian date로 출력cal -y : 올해 12달 출력$ COMMAND1 ; COMMAND2 ; COMMAND3 : 다수의 명령을 순서대로 실행| Section | Description |
|---|---|
| 1 | 일반 명령어 |
| 2 | System Call |
| 3 | C Library |
| 4 | Special File(Device File) 및 드라이버 |
| 5 | File Format : 파일 형식 |
| 6 | Game/ScreenSaver 등 |
| 7 | 기타(Misc) |
| 8 | 시스템 관리 명령어 및 데몬 |
man -s SECTION COMMANDman -s 1 passwd : passwd 일반 명령어 메뉴얼 페이지man -s 5 passwd : passwd 파일 형식 메뉴얼 페이지 man -k keyword해당 keyword가 발견되는 모든 메뉴얼의 내용 출력
man -k passwd : passwd 키워드가 발견되는 모든 메뉴얼 내용 출력man -f keyword제목에 해당 keyword가 일치되는 메뉴얼 페이지에 대한 정보를 출력
man -f passwd : 제목에 passwd가 일치되는 메뉴얼 페이지들을 출력Ctrl + a : 맨 앞으로 이동Ctrl + e : 맨 뒤로 이동Ctrl + u : 커서 앞 전체 삭제 Ctrl + k : 커서 뒤 전체 삭제clear (Ctrl + l) : 전체 지우기/ 부터 시작[ . ] : 현재 디렉터리
[ .. ] : 1단계 상위 디렉터리

Directory Discriptions bin 시스템의 명령어가 위치 boot 부팅 관련 dev 시스템 하드웨어 장치 파일 etc 시스템 구성 파일 home 일반 사용자의 홈 디렉터리가 위치 root root 사용자의 홈 디렉터리 run 시스템 런타임 데이터 sbin 시스템 관리 명령어 위치 tmp 임시파일 저장 경로, 누구나 사용 가능 usr 설치된 software files 및 라이브러리 파일 위치 var 시스템 가변 데이터 저장
lrwxrwxrwx. 1 root root 7 Sep 12 2021 bin -> usr/bin
| lrwxrwxrwx. | 1 | root | root | 7 | Sep 12 2021 | bin -> usr/bin |
|---|---|---|---|---|---|---|
| 파일 종류 및 퍼미션 | Hard link 개수 | 소유자 | 소유 그룹 | File 크기 | 마지막 수정 일시 | 파일 이름 |
ls -ld디렉토리 자체에 대한 정보를 확인할 수 있다.
cat file : 한번에 text file 내용 출력more file : 파일의 내용을 페이지(%) 단위로 출력less file : 파일의 내용을 페이지 단위로 출력head file : 파일의 첫 내용을 보여주는 명령어 (default 10 lines)head -n -15 File : 파일의 맨 앞부터 15행까지 출력tail file : 파일의 뒤 내용을 보여주는 명령어 (default 10 lines)tail -n 15 File : 파일의 맨 뒤부터 15개 행 출력grep [OPTION] pattern [FILE] : 파일 내용 검색grep -i : 대소문자 상관없이 검색grep -n : 찾는 내용이 있는 행 번호를 같이 출력grep -v : 특정 내용을 제외하고 검색grep -c : 찾는 내용이 포함된 행의 갯수 출력grep -w : 단어(word) 단위 검색| 메타 문자 | 설명 |
|---|---|
| ^ | 행의 시작 지정 |
| $ | 행의 마지막 지정 |
| . | 임의의 문자 1개 매칭 |
| * | 0~무한대 갯수의 임의의 문자 매칭 |
| [] | 패턴 내에서 1개 문자 매칭 |
| [^] | 패턴을 제외한 1개 문자 매칭 |
- $ grep 'root' /etc/passwd
- $ grep -n 'root' /etc/passw
- $ grep -v 'root' /etc/passwd
- $ grep -c 'root' /etc/group
- $ grep '^root' /etc/passwd
- $ grep 'nologin$' /etc/passwd
- $ grep 'p.....x' /etc/passwd
- $ grep -w 'bash' /etc/passwd
- $ grep 'root' /etc/passwd
- $ grep '^root' /etc/passwd
- $ grep 'nologin$' /etc/passwd
- $ grep -w 'a..' /etc/passwd
- $ grep -w 'g..' /etc/passwd
- $ grep 'o*t' /etc/passwd
- $ grep 'a[abcde][a-z]' /etc/passwd
- $ grep 'a[^a-d][a-z]' /etc/passwd
- $ grep 'a[^a-l][a-z]' /etc/passwd
mkdir : directory 생성rmdir : directory 삭제touch : 빈 파일 생성mv : 파일 및 디렉토리 이동mv [원본 file]... [대상 dir] : (다중) 원본 파일 이동mv [원본 dir]... [대상 dir] : (다중) 디렉터리 이동cp : 파일 및 디렉토리 복사cp [원본 file] [대상 file] : 원본 파일 복사cp [원본 file]... [대상 dir] : (다중)원본 파일 복사cp -R [원본 dir]... [대상 dir] : (다중) 디렉터리 복사rm : 파일 및 디렉토리 삭제
- 사용자에 따라
cp,mv,rm명령어는 덮어쓰거나 삭제 시 메세지 출력 여부 다름- 필요시
-i/-f옵션으로 출력 제어- 복사 및 삭제시 대상이 디렉토리라면
-r필수