'모두의 리눅스'

미야케 히데아키, 오스미 유스케

1장

1. 리눅스 용어

리눅스 = 리눅스 커널커널 = 운영체제의 중심에서 하드웨어를 제어하는 역할을 담당하는 소프트웨어넓은 의미의 리눅스 = 리눅스 배포판 = 리눅스 커널 + 기본적인 명령어 + 애플리케이션

리눅스 배포판 계열 : 레드햇(ex. CentOS) / 데비안(ex. Ubuntu)

2. 가상화 소프트웨어 위의 리눅스 환경

VMware Workstation 위에서 리눅스 설치

GUI / CLI - CLI(Command Line Interface) 위주의 학습이 중요

$
exit - 터미널 종료
logout - 로그인 셸의 경우 로그아웃
shutdown

root user 전환

$ sudo su -
#shutdown -h now
-h = 전원 끄기, -r = 재부팅
now = 지금

2장

1. 셸

셸 = 커널의 인터페이스 (사용자와 리눅수 커널 사이의 소통 창구)

커널과 셸을 분리하여 생기는 이점

2. 프롬프트

프롬프트 = 명령어 입력 대기

$ : 일반사용자 / # : 슈퍼사용자
로그인 셸 확인 방법
$echo $SHELL 입력시 /bin/bash 가 출력되면 로그인 셸은 bash

대화형(인터렉티브) / 명령어 흐름 파일(셸 스크립트)

셸 종류 : sh, csh, bash, tsch, zsh 등

셸 변경 예시 : $ sh
변경 전으로 회귀 : $exit

구분 : 터미널(입출력) / 셸(명령어를 통한 커널 실행)

3장

1. 커맨드 라인 편집

'뒤'가 프롬프트 쪽(왼쪽)

ctrl + b = 뒤로 이동
ctrl + f = 앞으로 이동
ctrl + a = 맨 앞으로 이동
ctrl + e = 맨 뒤로 이동

> 물론 방향키도 되지만 웬만하면 자판 내에서 끝내는 습관을 들이는 것이 좋다.

alt + b = 한 단어 뒤로
alt + f = 한 단어 앞으로

backspace, ctrl + h = 커서 뒤 한 문자 삭제
delete, ctrl + d = 커서 위치 한 문자 삭제
ctrl + w = 커서 뒤 공백 전 문자 전부 삭제

ctrl + k = 커서의 위치에서 끝까지 자르기
ctrl + u = 커서의 위치에서 커맨드 라인의 첫 문자까지 자르기
ctrl + y = 위 두 방법을 이용하여 마지막으로 지운 내용 삽입

ctrl + s = 화면 표시 잠금(입력은 되나 표시x)
ctrl + q = 화면 표시 잠금 해제

ctrl + c = 강제 종료 / 새로운 커맨드 라인

ctrl + l = clear = 내역 삭제
reset = 터미널 초기화

알파벳 + 
tab = 자동완성
tab 2번 = 해당 알파벳으로 시작하는 명령어를 다 보여줌

ctrl + p = 이전 명령
ctrl + n = 다음 명령
ctrl + r = 이력 검색
	(reverse-i-search)''
    ctrl + r = 검색된 조건을 가진 이전 명령어
    enter = 해당 명령어 실행
    esc = 해당 명령어 커맨드 라인으로 복귀
    ctrl + g = 취소

4장

1. 파일

디렉터리 = 폴더

root 디렉터리 = /
PATH 구분 = /

리눅스의 경우 디스크가 여러개 있어도 디렉터리 트리는 하나!
(디스크와 디렉터리를 매칭 = 마운트)

2. 대표적인 디렉터리

FHS(Filesystem Hierarchy Standard)

/bin /dev /etc /home /sbin /tmp /usr /var 등

현재 디렉터리 = $ pwd

3. 절대경로, 상대경로

절대경로 = /usr/bin/perl상대경로 = .. : 부모 디렉토리, . : 현재디렉터리

pwd : 현재 디렉터리 출력
cd / : 현재 디렉터리 변경
ls : 디렉터리 안 파일 출력

> tab(자동완성) 사용 가능

cd : 홈 디렉터리로 이동

* : 해당위치 임의의 문자열
? : 해당위치 임의의 한 문자

옵션

ls -l = 파일 속성, 상세정보까지 출력

ex. drwxr-xr-x. 20 root root 4096 9월 26 00:12 var
파일타입, 파일모드 / 링크 수 / 소유자 / 소유 그룹 / 크기 / 타임스탬프 / 이름

파일타입 - : 보통, d : 디렉터리, i : 심볼릭 링크
ls -a = 숨겨진 파일도 출력
ls -F = 파일 종류도 출력
	/ : 디렉터리, * : 실행가능 파일, @ : 심볼릭링크
ls -w 30 = 문자를 30개씩 출력

--quote-name 과 같이 옵션이름이 길 경우 -- : 롱옵션

5장

1. 디렉터리 만들기

mkdir [oprtion] <directory name>

ls -F 로 확인
같은 이름의 디렉터리가 있는 경우 에러 발생

중첩 디렉터리 제작(중간 경로의 디렉터리 없는 경우)
mkdir -p a/b/c

2. 파일 만들기

touch <file name>

원래 touch 명령어는 파일의 타임스탬프(시간 문자열)을 갱신하기 위한 용도지만 빈 파일을 만드는 용도로도 많이 사용.

touch 명령어로 이미 존재하는 파일을 지정해도 내용 변화 없음

3. 파일, 디렉터리 삭제

rm [option] <file name>

디렉터리의 경우 트리 형식이기 때문에 option 에서 -r을 주어 재귀적으로 처리하게 해야함.

option에 -i를 주어 확인 메세지 출력 가능
ex. rm: 일반 파일 'file'를 제거할까요?

빈 디렉터리의 경우 rmdir <directory name> 으로 삭제 가능
  • 파일이나 디렉터리 앞에 . 을 붙이면 숨겨짐

4. 파일 내용 출력

cat [option] <file name>

option에서 -n을 주면 행 번호까지 출력 가능
file name을 지정하지 않으면 입력대기 후 echo 명령과 같이 작동

화면 단위 출력
less [option] <file name>

space = 한 화면 아래로 스크롤
b = 한 화면 위로 스크롤
j = 한 행 아래로 스크롤
k = 한 행 위로 스크롤
q = less 종료

/을 입력하여 문자열을 검색할 수 있음

5. 파일과 디렉터리 복사하기

cp [option] <object> <location>
같은 이름의 파일이 있다면 덮어씀

디렉터리의 경우 마찬가지로 option에 -r을 넣어주어야함.

6. 파일 이동하기

mv [option] <object> <location>

응용하여 이름바꾸기도 가능

7. 링크 만들기

feat. 바로가기

ln [option] <object> <link name>

하드링크 / 심볼릭 링크

  • 하드 링크는 한 파일 원본에 이름을 여러 개 붙이는 것(모든 하드링크가 삭제되어야 파일의 실체가 없어짐)
  • 심볼릭 링크는 바로가기와 같이 원본과 구별되고 삭제하여도 원본에 영향을 주지않음.(주로 사용)
    option에 -s를 주어 만들고 ls -l을 이용해 심볼릭 링크 여부 판단 가능.

'Cloud Native > Linux' 카테고리의 다른 글

[Linux] fdisk  (0) 2022.04.08
[Linux] df, du  (0) 2022.04.07
[Linux] /etc/fstab  (0) 2022.04.06
[Linux] 리눅스 파티션 및 마운트  (0) 2022.03.31
'모두의 리눅스' 따라하기 6장 ~ 10장  (0) 2022.02.15