(유닉스 기반의 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 + F1
Ctrl + 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 COMMAND
man -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
필수