리눅스

Linux 리눅스 정리 1

두뚜 2021. 9. 8. 22:28

# 리눅스에서 CLI를 많이 사용하는 이유?

인터페이스

 

GUI       Graphical User Interface

편하다, 익숙하다, windows처럼 사용감이 좋다.

 

CLI(TUI) Command Line Interface

마우스가 없다

관리의 효율성 Autimation

 

1. 리소스가 적게든다

2. GUI 프로그램과 달리 버전상의 차이가 거의 없다 (버튼 선택의 위치)

3. 사실상 프로그램은 코드의 집합이다 그렇기에 GUI구동에 들어가는 만큼이 아닌 가벼운 프로그램이 제각 가능

4. 크래픽은 불가능한 것 중 하나가 프로그램의 완전 자동화

5. 전체 인프라 구성에 대한 자동화가 가능하다.

6. 네트워크 트래픽의 부하를 최소로 줄일 수 있다.

7. 아주 먼 원거리 상태에서도 조작을 할 수 있도록 하기 위함

 

 

# 사용자 계정 및 그룹파일에 관련한 파일

/etc/passwd

/etc/shadow

/etc/login.defs

/etc/default/useradd

/etc/skel/

/var/mail/

/home/

/etc/group

/etc/gshadow

/etc/passwd- (백업본)

/etc/shadow-

/etc/group-

/etc/gshadow-

 

# bash sell에서 사용하는 제어 문자중에 ctrl+c ctrl+d ctrl+u  에대하여 서술

ctrl+c

인터럽트 -> 기존 작업을 취소하고 쉘을 반환

 

ctrl+d

EOF > 표준 입력중에 CTRL+D를 입력하게 되면 저장후 빠져나간다

shell exit > 쉘에서 CTRL+D를 입력하게 되면 입력하게되면 한단계씩 빠져나간다

GUI 마지막 bash의 경우 터미널이 종료

CLI 마지막 bash의 결루 로그인 창을 반환 (getty)

 

ctrl+u

입력된 명령어들을 삭제

 

# 암호를 변경하는 경우 passwd 명령어를 사용한다 root 계정과 일반 사용자 계정이 비밀번호 변경시 다른점 서술

root-> 본인 계정, 일반계정 둘다 변경 가능 이전비밀번호를 모르더라도 변경 가능

일반계정-> 본인계정만 변경 가능 이전비밀번호를 확인받아야만 변경가능

 

# 절대경로/상대경로

절대경로

언제나 시작위치가 /로 시작한다 (최상위 디렉토리)

/부터 진행하는 위치까지 모든 경로를 작성한다

 

상대경로

시작위치가 현재 쉘의 작업 디렉토리로 시작한다

현재 쉘에서 진행하는 위치까지 경로를 작성한다

 

# 디렉토리에 존재하는 .과 ..에 대하여 설명

. 현재 디렉토리

.. 상위 디렉토리

 

모든디렉토리는 inode번호를 가지고 있다. (파일도 가지고 있다)

 

# vi 편집기를 사용하는 이유

유닉스, 리눅스를 통틀어 기본적으로 설치되며

모두가 동일하게 사용할 수 있는 편집기다. nano,pico,emacs등 여러 편집기가 존재한다. 이러한 특정 프로그램은 시스템에 설치가 되어있을수있고 아닐수도 있다.

그런데 vi,vim은 어디에나 존재한다. 그렇게 통합적으로 이용 할 수 있는 편집기를 배우는것이 중요하다.

 

#링크파일과 심볼릭링크파일

링크파일

같은 inode를 공유하며 같은 데이터블럭을 r/w할 수 있는 파일

링크파일이 있는 경우는 원본파일이 지워지더라도 또 다른 파일이  동일하게 원본 파일이기 떄문에 데이터 블럭으로 접근이 가능하다.하드링크의 경우는 inode 테이블과 관련이 있으며 파일 시스템을 벗어나서 연결이 불가능하다. 디렉토리에 연결할수 없다.

 

심볼릭 링크

windows의 바로가기와 비슷하다

심볼릭 링크를 생성하게 괴면 심볼릭 링크는 모든 권한이 있는 상태에서 팡ㄹ 형식이 1 로 표시된다.

하지만 원본 파일의 권한을 따르기 떄문에 링크 링크파일 자체의 권한은 의미가 없다

링크파일 내부에는 그렇다면 무엇이 존재할까

원본파일의 inode번호가 존재, 실제 데이터로 접근을 시도한다.

 

디렉토리를 링크 할 수 있다

 

# 파일 시스템을 넘어 링크 가능하다

일반파일과 디렉토리의 권한차이를 설명

파일

r 읽을수있는 권한

w 수정 할 수 있는 권한

x 실행 할 수 있는 권한

 

디렉토리: 명령어

r ls등 파일을 확인 할 수 있는 권한

w rm,cp등 데이터 블럭에 영향을 줄 수 있는 권한

x cd 명령어 실행 권한

 

하이브리드 클라우드란?

스케일업 스케일 아웃은 무엇인가

클라우드가 필요한 이유

서버를 구성한다면 어떠한 방법을 사용할것인가

 

# 리눅스 서버에 원격으로 접근 가능한 방법 및 장단점 서술

 

rsh 인증된 호스트들을 원격으로 접근 시키기 위한 원격 쉘

telnet 호스트들을 원격으로 접근 시키기 위한 원격쉘

평문화 된 게이터로 전송이 이루어지기 때문에 보안이 취약하다

 

ssh 원격으로 접근 시키기 위한 보안 쉘 암호화된 데이터로 전송이 이루어지기 때문에 보안이 유리하다

ssh가 버전이 존재하기 때문에 클라이언트 버전이 맞지 않는 경우 접근을 불허하는 경우가 생긴다

비밀번호를 직접 입력하는것이 아니라 인증키를 이용하여 접근 시키는 방벙이 존재한다

그렇기에 암호없이 접근할 수 있는 좋은 점도 있다

 

# LVM 이란

표준 파티션에 비하여 용량 증설에 자유로운 장점을 지니고 있다. 표준 파티션에 비하여 설정을 조금 더 많이 해야하는 단점

기존의 디스크는 용량이 가득 차게 되면 디스크를 큰 용량으로 변경하여 기존 데이터를 복사하는 작업리 필요하지만 LVM은 기존 디스크를 유지한 상태에서 확장을 할 수 있기 떄문에 작업에 소요되는 시간이 줄어든다.

 

PV 물리적 디스크를 LVM 체계에서 인식 가능한 물리 디스크로 생성하는 단계

VG PV화된 디스크들의 그룹

LV VG로 생성된 디스크를 파티션 단위로 분할하는 단계

 

PE-LE는 동일한 블럭 사이즈를 지니고 있으며 둘은 매핑되어 있다.

 

확장과 삭제가 자유롭다. 디스크분할,제거등 여러 작업을 하는데 있어 굳이 서버를 종료할 필요가 없다

미러링,스프라이핑등 레이드 레벨들을 지원하기 떄문에 일반 디스크 사용보다 안전하게 데이터를 지킬 수 있다

 

#SHELL에 대하여 설명하시오

커널과 사용자 사이의 인터페이스 역할

명령어를 해석해줄 하나의 통로가 필요하기에 그 역할을 bash(shell)에게 위임하여 사용한다.

 

 

# 리눅스가 모든것을 파일이 다루는 이유는 무엇?

리눅스가 파일의 모든것을 관리하기 떄문에 표준 입출력을 전환하는 리다이렉션이 가능하다

 

 

# 입출력 데이터 크기에 따른 차이

character 512byte

CD-ROM ,TAPE

block   4K

DISK

 

# dev 디렉토리에 용량 자리에 숫자가 쉼표로 구별되어 , 두개로 있는 이유

장치를 연결하게 되면 해당 장치는 항당 두가지 번호를 가지게 된다

major num 장치 종류

minor num 장치 번호

 

# 파티션을 분할하는 이유

1. fsck 시간을 줄이기 위하여

2. 데이터 보호를 위하여

 

# 디렉토리를 마운트 하는 이유

디렉토리를 하나의 통로로 사용한다

통로: 장치를 바로 액세스 할 수 없디 때문에 장치를 사용하기 위한 통로로 디렉토리를 연결

 

파일 ->

data-------- 추상화적인 단계

 

 

# 백그라운드 포그라운드

점유해서 사용한다면 포그라운드

-----bash-------

점유하지 않고 사용을 한다면 백그라운드

jobs

fg

bg

$!

 

백그라운드로 실행된 프로그램을 해당 쉥니 종료가 된다면 더이상 fg, bg 등으로 제어가 불가능 하다.

 

# 가상메모리

swap

가상메모리를 사용 한다는 것은

[물리메모리] 주기억장치 30배

물리 메모리가 한계에 도달 하였을때 가상메모리 사용

[가상메모리] 보조기억장치

 

원래 빠른 저장소에 있어야 할 데이터들이 30 배나 느린 디스크에 임시적으로 저장되어 있다

disk  >>> swap in

disk <<< swap out

 

주기억장치인 메모리 용량이 부족해지면 그때부터 보조기억장치의 일부인 swap을 사용하기 시작합니다

프로그램을 로드를 하고 프로세스화 괴면 mem에 상주를 한다

커널은 모든 프로그램이 한순간에 모두 실행되는것이 아닌 스케쥴러에 따라 차등 실행되는것을 알고있다

그렇기에 당장 실행되지 않을 hit 괴지 않은 프로그램의 메모리 조각을 swap화 시켜

디스크에 저장 swap out

필요할때 다시 swap in

 이 작업이 반복적으로 일어나게 되면 결국 병목현상을 일으킨다.

가상메모리가 사용되는것이 확인 되는 순다 최대한 빠르게  물리 메모리를 증설, 프로그램 사용을 그만큼 제한한다.