728x90
반응형
SMALL

*이기적 영진닷컴 Youtube Link - https://www.youtube.com/watch?v=_7CwI263I_o&list=PL6i7rGeEmTvp_MYm0zuiFe7COrM3endfu&index=12

 

셸은 명령어 해석기라고 이야기 한다.

사용자가 입력한 명령어를 해석해서 커널에 전달해주는 중개자 역할을 한다.

dos에 커맨드와 동일한 기능을 수행한다고 볼 수 있다.

셸은 로그인 할 때 사용자별 사용 환경 설정 기능도 갖고 있다.

사용자 마다 시스템 구성을 다르게 할 수 있는데 셸이 이를 컨트롤 한다.

셸 자체는 스크립트 언어이기 때문에 프로그래밍 기능이 가능하다.

 

종류로는 본셸과 C셸이 있다.

일반적으로 프롬프트가 $(달러)이면 본셸이고, %(퍼센트) 모양이면 C셸 계열이라고 이야기 한다.

대부분의 우리가 사용하고 있는 셸은 본셸 계열.

C셸은 본셸의 기능과 히스토리 엘리어스 작접 제어 기능을 추가로 가지고 있다.

 

셸은 로그인 후 자동으로 생성하는 로그인 셸과 사용자가 직접 변경 실행할 수 있는 서브셸로 구분할 수 있다.

현재 시스템에서 지원 가능한 셸을 확인하고 싶으면 /etc/shell 을 확인하면 현재 시스템에서 지원하는 셸들을 확인할 수 있다.

계정 마다 서로 다른 셸을 사용 가능. 계정자들의 셸을 확인하려면 /etc/passwd 파일에서 계정자들의 셸을 확인할 수 있다.

현재 로그인한 사용자의 셸을 확인하려면 echo $SHELL 명령어를 사용하면 현재 로그인한 사용자가 사용하고 있는 셸을 확인할 수 있다.

 

지금 현재 사용하고 있는 사용자들이 사용하고 있는 셸을 변경하고자 할 경우 chsh, usermod 명령어를 통해서 변경할 수 있다.

chsh

change shell

특정 사용자의 셸을 지정을 하게 되면

/etc/passwd 안에 해당 계정자의 셸이 변경됨

바로 적용이 되려면 재부팅 해서 사용해야 한다.

l: /etc/shell에서 확인하는 내용과 동일한 내용을 확인할 수 있다.

usermod

계정자의 정보를 변경하는 명령어

s 사용자 셸 명: 지정된 사용자의 셸을 변경한다.

 

감사합니다.

728x90
반응형
LIST
728x90
반응형
SMALL

*이기적 영진닷컴 Youtube Link - https://www.youtube.com/watch?v=5nSTaC-llCQ&list=PL6i7rGeEmTvp_MYm0zuiFe7COrM3endfu&index=11

 

파일 시스템은 하드 디스크나 CD-ROM 같은 물리적 저장소를 관리하는 파일 관리자

파일이나 자료를 쉽게 발견하고 접근할 수 있게 하기 위해서 보관 또는 조직적인 체제라고 보면 된다.

일반적으로 리눅스 파일 시스템을 구성하는 구조도는 위 그림과 같다.

부트 블럭이 있고 그룹별로 블럭이 구성되어 있다.

조금 더 자세히 보면 

슈퍼 블럭, 그룹 디스크립터, 블럭 비트맵, 인코드 비트맵, 인코드 테이블 그리고 데이터 블럭으로 나눈다.

슈퍼 블럭: 시스템 관련 정보를 저장하는 블럭, 시스템 관련 정보는 블럭의 크기나 총 블럭의 개수, 블럭 그룹 개수 그리고 inode 개수를 저장

그룹 디스크립터: 각 블럭 그룹을 관리하는 정보를 저장, 블럭 비트맵, inode 비트맵 번호 등을 저장

블럭 비트맵: 블럭들의 상태를 나타내는 공간

inode 비트맵: 파일의 제어 정보나 블럭 포인트를 저장한다. 즉 파일에는 고유 번호가 붙여지게 되는데 그 번호 뿐만 아니라 파일 형태 크기 위치 소유자 정보 등 파일의 구체적인 정보가 inode에 구체적으로 저장이 되서 파일을 제어, inode의 상태 정보를 나타낸다.

inode Table: 각각의 inode의 정보를 나타내는 inode descriptors로 구성

 

리눅스는 다양한 파일 시스템을 지원

리눅스 전용 파일 시스템을 보겠다.

ext 계열이다.

ext1: 리눅스 초기에 사용되던 파일 관리자, 2gb의 데이터 까지만 컨트롤, 파일명도 255자까지 제한

파일명 지정 시 어떤 파일 시스템을 사용하느냐에 따라서 파일명 규칙이 있다. 

아이노드 수정이 불가해서 즉 파일에 대한 제어 정보나 이런 것들을 수정할 수 없었다.

ext2: ext1 다음 버전.

2gb의 데이터 까지만 컨트롤할 수 있었던 것을 보완해서 고용량 디스크도 컨트롤할 수 있게 설계된 파일 시스템

ext3: ext의 확장판.

저널링 기능을 지원. 

저널링은 로그 파일. 저널을 다른 말로 로그. 로그를 보고 시스템의 상태를 판단하게 되는데 그러한 기능들을 지원.

시스템의 상태를 안전하게 복원할 수 있는 기능을 지원할 수 있는 파일 시스템

ext4: 최근에는 ext4를 사용.

ext2 및 ext3와 호환이 가능한 버전.

최대 16TB 파일도 지원.

64비트 기억 공간 제한 없음.

<저널링 파일 시스템>

저널이 로그를 보통 저널이라고 이야기 한다. 

저널이라는 로그를 보고 시스템 상태를 저장.

시스템이 비정상적으로 종료하게 되면 저널 정보를 검사를 하고 저널을 베이스로 해서 파일 시스템을 안전하게 복원

ext3, ext4, XFS, JFS, ReiserFS 등이 있다.

JFS: IBM 사에서 만든 독자적인 저널링 시스템, GPL 라이센스를 공유하고 있음, 리눅스용으로 개발되고 있음

XFS: eXtended File System의 약자. 고성능 저널링 시스템.

64비트 파일 시스템을 지원. 높은 확장성이나 처리율을 가지고 있다.

파일 수와 상관 없이 시스템이 다운되면 (예기치 못한 상황이 발생) 신속하게 복구나 재시작이 가능하게 한다.

ReiserFS: 독일의 한스 라이저가 개발한 파일 시스템. 복원이 안정적으로 진행이 되서 JFS나 XFS도 많이 사용되지만 ReiserFS도 많이 사용되는 파일 시스템.

 

<네트워크 파일 시스템>

업무를 하다 보면 파일 공유 프린트 공유를 하게 된다.

이 때 네트워크 파일 시스템을 이용해서 작업 공유 네트워크 공유를 할 수 있게 된다.

SMB: Server Message Block 이라고 해서 윈도우 운영체제에서 파일이나 프린트 공유를 할 때 일반적으로 사용하는 네트워크 파일 시스템. 삼바 파일 시스템에서도 SMB를 이용해서 이기종 운영체제, 윈도우와 리눅스 사이에서 자료를 공유할 때도 이 SMB를 사용해서 이기종 운영체제 관해서도 원활하게 네트워크 공유를 가능하게 해주는 파일 시스템

CIFS: Common Internet File System의 약자로 SMB를 확장한 파일 시스템. 

NFS: Network File System으로 썬 마이크로 시스템사에서 개발한 네트워크 공유 프로토콜. 주로 동기종 SMB는 이기종 운영체제에 관해서 파일 공유를 가능하게 하는 반면 동기종 같은 기종 운영체제들 간에 파일 공유를 할 때 일반적으로 사용하는 파일 시스템

 

<기타 지원 가능한 파일 시스템(1)>

MS에서 지원하는 파일 시스템도 지원하고 있다.

FAT: 윈도우 NT 계열에서 사용했던 파일 시스템

VFAT: FAT 파일 시스템 확장. FAT의 단점인 하드 용량, 디스크 용량 관리 용량의 제한을 해결하다 보니 디스크 관리 영역이 더 커졌다. 파일명 지정에 약간의 제약이 있다. 최고 255자까지 만들 수 있다. 대소문자를 구분하지 않는다. MS 쪽에서의 초기 파일 시스템이라고 본다면 리눅스에서는 ext와 특성이 동급 형태라고 보면 된다.

FAT32: SMB를 확장한 파일 시스템. Window 95, 98, ME 에서 자주 사용되던 파일 시스템. 그러나 저장할 수 있는 파일 용량을 32GB 이상은 관리할 수 없다. 

 

NTFS: MS 계열에서 가장 안정적인 파일 시스템. 대용량 파일 저장 관리할 수 있음. 16EB 정도 데이터를 저장할 수 있는 기존 FAT32보다는 대용량의 파일을 저장할 수 있는 장점을 갖고 있다. MS계열에서 대부분 NTFS를 사용한다. 리눅스에서도 NTFS는 사용할 수 있게 지정해놓고 있기는 하다.

ISO 9660: 1988년에 제정된 표준으로 CD나 CD-ROM을 관리할 수 있게 해주는 파일 시스템

UDF: Universal Disk Format의 약자로 광확 매체용 파일 시스템의 표준. ISO 9660을 대처해서 만든 DVD 에 대한 파일 시스템.

HPFS: 운영체제 중에서도 OS/2 운영체제가 있다. 마이크로 소프트와 IBM 공동 개발한 파일 시스템. OS/2 운영체제를 운영 관리하기 위한 파일 시스템

 

<관련 명령어>

mount

특정 디바이스를 디렉토리 처럼 사용하기 위해서 장치와 디렉토리를 연결하는 작업이다.

리눅스는 PnP기능을 지원하고 있지만 지원하는 하드웨어가 많지 않기 때문에 시스템을 부팅 후에 수동으로 마운트를 해서 시스템을 사용을 일반적으로 하게 된다.

마운트 관련된 시스템 정보는 /etc/mtab이라고 하는 파일에서 마운트된 블럭 정보들을 확인할 수 있다.

마운트 설정은 옵션 뒤에 디바이스명이나 디렉토리명을 입력하면 된다.

이 때 옵션에서는 파일 시스템을 지정할 수 있다.

VFAT이나 ext계열이나 ISO, SMB 이런 것들을 옵션 t를 이용해서 파일 시스템을 지정할 수 있다.

umount

설정된 마운트를 해결할 때는 umount를 이용해서 설정된 마운트를 해제할 수 있음

eject

이동식 보조기억장치, DVD나 CD-ROM 같은 매체를 미디어에서 해제하고 제거하는 명령어.

특히 r은 CD-ROM을 제거할 때 사용.

f는 플로피를 제거할 때 사용.

 

fdisk

리눅스 설치하는 과정에서 보았는데, 새로운 파티션을 생성하거나 기존 파티션을 삭제하거나 파티션을 파일 시스템을 지정할 때 보통 fdisk를 이용해서 작업을 할 수 있다.

한번에 한 디스크에만 적용되서 수행할 수 있음.

fdisk를 사용하기 위해서는 어떤 디스크에 파티션을 나눌지 먼저 계획을 잡고 진행을 해야만 한다.

mkfs

fdisk를 통해서 파티션을 나눈 다음에 파일 시스템을 생성하기 위해서 사용하는 명령어

mke2fs

ext2, ext3, ext4 타입의 리눅스 파일 시스템을 생성할 때 사용하는 명령어.

즉 fdisk를 통해 파티션을 나누었다면

나누어진 파티션에 파일 시스템을 지정하는 명령어 중 하나가 mkfs, mke2fs 둘 중 하나를 적절하게 이용해서 파일 시스템을 결정하면 된다.

 

fsck

파일의 무결성을 점검하는 명령어.

무결성이라 함은 데이터에 변조가 있었는지 이러한 이상 유무를 오류 체크를 확인하는 명령어.

만약에 이 과정에서 문제가 일어난 파일들은 /lost+found 라는 디렉토리에 일시적으로 생성이 되서 그 오류 내용들을 확인할 수 있다.

특히 fsck에서 점검하는 내용은 저널 로그를 점검하거나 아이노드나 간접 데이터 블록, 파일 크기, 디렉토리 항목 등등을 확인할 수 있다.

e2fsck

리눅스 전용 파일 시스템인 ext2, ext3, ext4 타입의 리눅스 파일 시스템 형태로 디스크를 포맷할 때 보통 사용한다.

이 때 다양한 옵션들이 사용하는데

p: 파일 시스템을 검사하면서 자동으로 복구하는 명령어

n: 모든 질의에 no를 주어서 작업을 처리하게 한다.

y: 모들 질의에 yes로 처리해서 처리 속도를 빨리 낼 때 사용하는 명령어

du

disk use의 약자로

디렉토리 별로 디스크 사용량을 확인할 때 사용하는 명령어

df

시스템에 마운트된 하드 디스크의 용량을 확인할 때 사용을 한다.

기본적으로 1024바이트 블럭단위로 확인을 한다.

옵션은 h, T, t, a, k, i 등이 있다.

T: 파일 시스템 유형이나 파티션 정보를 좀 더 상세하게 확인

 

감사합니다.

728x90
반응형
LIST
728x90
반응형
SMALL

*이기적 영지닷컴 Youtube Link - https://www.youtube.com/watch?v=DK-tqaPit1U&list=PL6i7rGeEmTvp_MYm0zuiFe7COrM3endfu&index=10

 

1: 파일과 연관된 개수

53: 파일 크기

2017-09-16 18:49: 파일 생성 날짜 및 시간

TST: 파일

 ls -l: l옵션을 주면 파일의 속성 확인 가능

-rw : 파일의 유형 (맨 앞에가 하이픈이면 파일)

그룹은 시스템 속성이 동일한 사용자들을 멤버십으로 구분해서 그 구성원들은 같은 파일에 대해서 같은 권한을 가져서 작업을 진행할 수 있다.

drwxrwxr-x: 앞에 d는 디렉토리를 의미한다.

변경할 소유자명과 소유 그룹명을 입력

chown root Young: Young 파일을 root로 소유자명을 변경

chown :root Young: Young 파일을 root로 소유자 그룹을 변경 => chgrp root Young

r: 하위 디렉토리의 소유자명과 소유자 그룹 변경 가능, 소유권의 상속

디렉터리의 그룹 소유권을 변경할 때 사용할 수 있다.

chown :root Young: Young 파일을 root로 소유자 그룹을 변경 => chgrp root Young

파일 허가권

파일 권한에 대해서 살펴보겠다.

-rw-rw-r--

파일 유형과 파일 권한으로 나눈다.

파일 유형에는 일반 파일, 디렉토리, 특수파일이 올 수 있다.

- 일반 파일: 실제 문자가 저장되어 있는 파일

d 디렉토리: 저장 공간

b,c,l 특수파일: b는 블럭파일 (블럭장치들을 관리하는 특수 파일, 하드디스크, 플로피 디스크, CD, DVD) c는 캐릭터 디바이스 파일, 문자파일 (마우스, 키보드, 프린터 같은 입출력 장치), l은 링크파일 (바탕화면에 아이콘 바로가기, 실제 저장하는 위치와 실행파일들의 위치가 다를 경우 링크 파일을 두고 두개의 파일은 연결하여 사용하게 됨)

 

리눅스는 사용자별로 파일 권한을 부여한다.

rw- rw- r-- 이렇게 세개로 구분할 수 있다.

rw- 파일 소유자에 대한 권한을 나타냄

rw- 그룹 속한 구성원들의 권한

r-- 그외 사용자들의 권한 (파일 소유자도 아니고, 그룹에 속하지도 않은 사람들)

 

rwx

r: read (파일 읽기 권한)

w: write (파일 수정 삭제 권한)

x: execute (실행 권한)

-: 권한 없음

 

권한은 8진수 형태로 구성할 수 있음

rwx: 7

rw-: 6

r--: 4

이렇게 권한을 기호로 구분할 수 있다.

744 TST ==> rwxr--r-- 

 

chmod

chmod 644 TST.txt

chmod o+w TST.txt

644 => rw- r-- r--

소유자는 읽고 쓸수 있는 권한을 가지고 있지만 

그룹이나 그외 사용자는 읽을 수 있는 권한만 갖고 있다.

u: 소유자

g: 그룹

o: 기타 사용자

a: 모든 사용자

+: 권한 부여

-: 권한 제거

r,w,x 를 종합해서 사용할 수 있다.

chmod o+w TST.txt => TST.txt 파일에 기타 사용자에게 수정 및 삭제 권한을 부여

umask

파일이나 디렉토리를 생성할 때기본적으로 권한이 매겨지게 되는데 이 권한을 지정할 때 베이스가 되는 디폴트 값을 주는 것이다.

파일권한 최대 666

디렉터리 권한 777

 

umask 

0002

mkdir AAA

ls -l

0777 - 0002 = 0775

즉 mkdir의 권한은 d rwx rwx r-x 

umask 값이 얼마가 설정되어 있는지에 따라 기본 생성되는 허가권이 결정이 된다.

 

setUID와 setGID

특수 권한은 프로세스가 실행하는 동안 해당 프로세스의 루트 권한을 임시로 가져오는 기능

일반 사용자들이 업무를 진행하다 보면 특정 업무에 대해서만 루트 권한으로 업무를 진행하는 경우가 있다.

해당 업무에 대해서는 루트 권한으로 실행을 하고

이후에 다시 일반 사용자로 돌아와서 일반 사용자의 계정의 권한으로 업무를 진행한다.

권한의 일시적 위임

설정값 형태로 보면 된다.

setUID 프로그램을 실행하는 동안에 프로세스의 파일 소유자와 같은 권한을 일반사용자가 갖게 되고 그것을 실행할 수 있게 된다.

setGID 프로그램을 실행하는 동안에 그 파일을 소유하고 있는 그룹 안의 구성원처럼 파일의 권한을 부여 받아서 실행이 가능하게 된다.

 

Sticky bit

공유 디렉토리를 생성할 때 Sticky bit를 설정하게 된다.

예를 들어 게시판에 게시된 글들은 누구나 읽을 수 있다. 대신 게시글을 수정하거나 삭제할 수 있는 권한은 소유자나 혹은 관리자만 할 수 있다.

누구나 그 파일에 대해서 읽을 수 있다. 그러나 소유자만 파일에 대해 수정하거나 삭제할 수 있다.

이러한 경우를 Sticky bit를 설정했다고 한다.

일반적으로 이런 Sticky bit는 temporary 디렉토리 안에 파일들을 지정하고 있다.

디스크 쿼터

사용자나 특정 그룹에 할당될 수 있는 하드디스크 용량을 제한하는 것.

하드 디스크 용량 제한 

웹 호스팅 서비스를 지원할 경우에 과금을 많이 낸 사람에게는 더 많은 디스크 용량을 할당하고 적은 과금을 지불한 사람에게는 적은 디스크 용량을 할당하게 하는 웹 호스팅 업체에서 주로 디스크 쿼러를 활성화하여 사용하고 있다.

 

디스크 쿼터는 배포본마다 구성하는 방법이 다르다.

전반적으로 어떻게 이루어지는지만 숙지하면 된다.

/etc/fstab에 디스크 쿼터 설정

디스크 쿼터를 이용한 하드 디스크가 별도로 사용되기 때문에 현재 시스템에 마운팅하는 작업을 한다.

쿼터 데이터 베이스를 생성

사용자 쿼터 파일과 그룹 쿼터 파일 두개로 나눌 수 있다.

사용자 쿼터 파일은 사용자 정보들이 저장되는 DB

그룹 쿼터 파일은 그룹별로 디스크 쿼터가 지정됬을 때 그룹 정보들이 저장

사용자별 쿼터 지정 : 쿼터를 지정한 유예 기간 사용한도 정보를 사용자별로 지정

쿼터 현재 상황 점검: 반드시 필요한 것은 아니다.

 

디스크 쿼터 관련 명령어

quotaoff: 쿼터 서비스를 비활성화 할 때 사용

quotacheck: 쿼터 설정한 하드 디스크의 상태를 점검할 때 사용하는 명령어

edquota: 편집기를 이용해서 사용자나 그룹의 디스크 할당량을 재조정할 때 사용하는 명령어

setquota: 편집기가 아니라 직접 명령어 행에서 사용자나 그룹에 대한 디스크 용량을 조절하는 명령어

u, g, a, t 옵션이 있음. 

u는 사용자 디스크 할당량

g는 그룹 디스크 할당량

 

감사합니다.

728x90
반응형
LIST
728x90
반응형
SMALL

*이기적 영진닷컴 Youtube Link - https://www.youtube.com/watch?v=MngZY8Te968&list=PL6i7rGeEmTvp_MYm0zuiFe7COrM3endfu&index=9

 

<네트워크 관련 명령어>

ping

송수진지 간의 서로 네트워크 연결이 되어 있는지를 확인할 때 사용하는 명령어

c: 전송되는 테스트 패킷 개수 지정

s: 테스트 패킷 사이

ping -c 5 -s 32

5개의 테스트 패킷 (32 bytes로 용량 지정)

traceroute

목적지까지 데이터가 전송하는데 어떠한 경로를 걸쳐서 전송이 되는지 경로를 표시해주고 그 경로를 기록해주는 명령어

어느 구간에서 문제가 발생하는지 측정하기 위해 명령어를 사용하기도 한다.

nslookup

dns와 밀접한 관련이 있는 명령어

도메인 명을 통해서 ip 주소를 조회하거나 ip 주소로 도메인명을 조회할 때 사용하는 명령어

dig

nslookup과 유사한 기능을 가지고 있다.

호스트명이나 도메인명을 기반으로 해서 ip 정보나 ip를 통해서 호스트명이나 도메인명을 찾을 때 사용하는 명령어

특별하게 서버명을 dns 서버를 지정하지 않으면 리눅스의 /etc/resolv라는 파일에 등록된 네임 서버를 이용해서 이러한 ip를 조회하거나 이런 것들을 할 수 있다.

MS 운영체제는 nslookup을 많이 사용하고, 리눅스는 nslookup도 많이 사용하지만 dig를 통해서 많이 찾아낸다.

host

호스트명을 기반으로 ip 주소를 알거나 그 반대의 경우에 사용하는 명령어

hostname

시스템의 이름 현재 작업하고 있는 시스템의 이름을 확인하거나 변경할 때 사용하는 명령어이다.

<시스템 종료 명령어>

shutdown

시스템을 종료하거나 옵션등을 이용해서 재부팅할 수 있게 하는 명령어이다.

일반적으로 시스템이 종료하는 과정은 현재 수행중인 프로세스들을 종료하고, sync라는 신호를 수행해서 아직 저장되지 않은 데이터들을 하드 디스크에 저장하고 마운트 시켰던 작업들을 종료한 후에 시스템을 종료하는 것이 일반적인 형태이다.

h: 강제 종료 (프로세스 종료, 디스크 원위치 복원, 마운트 해제의 일련의 과정이 없이 진행이 됬기 때문에 시스템에 부담이 있는 옵션)

r: 종료 후에 재부팅

관리자만 사용할 수 있다.

init

런레벨은 시스템 서비스 환경 레벨을 설정하는 것

0,6은 주로 사용하지는 않지만 종료하거나 재부팅할 수 있다.

5는 재부팅할 때 x윈도우즈로 부팅할 수 있다.

reboot

시스템 재부팅 명령어이다.

f: 강제 재부팅 (업무들을 정상적인 종료가 아니라 비정상적인 종료로 시스템에 무리를 주게 된다)

halt

시스템을 종료하는 명령어

f: 시스템 강제 종료

<기타 명령어>

작업 운영을 좀 더 편하게 하는 명령어

cal(calender)

시스템에 설정된 달력을 출력

y: 올해의 달력을 전체적으로 명시

date

현재 시스템 날짜나 시간을 표시하거나 변경할 때 사용

y: 해당 해의 달력을 calender 처럼 볼 수 있다.

clear

현재 작업하고 있던 터미널의 내용을 깨끗하게 지울 때 사용

tty

현재 사용하고 있는 단말기 장치의 경로명이나 파일명을 나타낸다.

동시에 여러 사람이 접속했을 때 어떤 루트 어떤 방법으로 통해 해당 터미널에 접속했는지도 확인할 수 있다.

time

하나의 프로그램이 실행이 되는데 얼마나 오래 걸리는지 수행 시간이 얼마나 걸리는지 프로그램 수행 시간을 측정하는데 사용되는 명령어

셸 스크립트 작성이나 스크립트 성능을 체크를 할 수 있다.

wall

시스템에 로그인한 사용자에게 터미널을 통해서 메시지를 전달할 수 있는 명령어

메신저 역할을 하는 명령어이다.

write

메시지를 전달하는 명령어이다.

mesg

수신 여부를 명시할 수 있다.

 

감사합니다.

728x90
반응형
LIST
728x90
반응형
SMALL

*이기적 영진닷컴 Youtube Link - https://www.youtube.com/watch?v=CdsrQqkE_KU&list=PL6i7rGeEmTvp_MYm0zuiFe7COrM3endfu&index=8

 

<디렉터리 및 파일에 관한 명령어>

pwd

현재 작업중인 디렉토리의 위치를 나타내는 명령어이다.

가장 많이 사용하는 명령어.

cd

chage directory 명령어로 디렉토리를 이동할 때 사용하는 명령어

경로 표시 방법 - 절대 경로, 상대 경로

절대 경로: 시작 위치하고는 상관 없이 모든 디렉토리를 루트에서 목적지 경로를 기록하는 것

상대 경로: 현재 작업중인 디렉토리를 기준으로 경로를 명시

일반적으로 cd를 쓸 때는 상대 경로를 써도 되지만 절대 경로를 사용하는 것이 일반적인 형태가 아닐까 싶다.

mkdir

make directory 새로운 디렉토리를 생성할 때 사용하는 명령어

mkdir [옵션] 디렉터리명

다양한 옵션을 줄 수 있다.

m: 생성할 디렉토리의 권한 설정

기본적으로 755라는 권한을 갖게 된다.

rmdir

remove directory 특정 디렉토리를 삭제할 때 사용하는 명령어

디렉토리 안에 파일이 존재할 경우 해당 디렉토리는 삭제가 불가

<파일 관련 명령어>

ls

pwd 못지 않게 많이 사용되는 명령어

현재 위치한 디렉토리의 파일 목록을 나타내는 명령어

다양한 옵션들을 사용할 수 있다.

a: 히든 파일 표시

l: 디렉토리 안에 있는 파일이나 또 다른 디렉토리 정보들을 상세하게 표시

cp

copy 파일 또는 디렉토리를 이동, 복사할 때 사용하는 명령어

b,f,i,r 옵션을 이용해서 복사시 다양한 선택 작업을 할 수 있다.

b: 기존 복사 대상 파일이 기존 위치에 존재하게 되면 백업 파일로 만들어 놓는 특징이 있다.

f: 복사 대상이 기존에 존재한다면 기존 파일을 엎어쓰기

rm

파일 또는 디렉토리를 삭제하는 명령어

rmdir은 디렉토리안에 파일이 존재할 경우 삭제를 못하는데

rm은 특히 -r을 주면 파일 디렉토리 안에 파일들이 존재하더라도 강제로 삭제할 수 있다.

rmdir 보다는 rm을 이용해서 특히 -r을 주면 좀 더 편하게 파일 삭제 작업을 할 수 있다.

mv

실제 한 곳에 있는 파일을 다른 곳으로 이동

파일명이 동일한 장소에서 mv를 사용하면 파일명이 변경된다

파일명을 변경할 때도 mv를 사용한다.

touch

파일 크기가 0byte인 빈 파일을 생성

시스템 테스트를 위해 사용

새로운 파일로 touch를 만들면 깡통파일을 만들기는 하지만

기존의 파일에 touch를 주면 기존의 test1 파일에 touch를 주면 생성한 파일 날짜 시간이 업데이트 된다.

그래서 명령어 touch는 두가지 기능이 있다.

- test 파일 생성

- 파일 업데이트 시간 변경

file

지정된 파일의 종류나 파일 속성값을 나타내주는 명령어

b: 파일의 속성을 확인

아스키 형태의 텍스트 문자다 파일이다 이렇게 파일 유형을 파악할 수 있다.

find

현재 디렉토리를 기준으로 파일 디렉토리까지 주어진 조건의 파일을 찾아서 해당 경로를 표시하는 명령어

find -name re test

re test라는 파일을 찾으라는 것인데 현재 위치부터 re test 파일을 찾으라는 것이다.

name: 파일명을 기준으로 검색

commit: 권한을 기반으로 검색

user

type

exec

파일을 찾는 동시 실행하는 옵션도 줄 수 있다.

find 명령어는 자세히 체크해볼 필요는 있다.

locate

간단하게 해당 파일의 위치를 찾는 명령어

다른 명령어들보다 간단하게 찾을 수 있다.

<텍스트 파일 관련 명령어>

파일의 세부적인 내용들을 확인할 때 사용하는 명령어들

cat

파일 내용을 출력하는 명령어이다.

n: 각 문장안에 번호를 표시해서 출력

명령어를 사용하지 않더라도 일반적인 파일 내용을 확인할 때 많이 사용됨

head

파일의 내용 중 위치를 어디서 부터 파일 내용을 검사할 것인지 검사할 수 있음

파일의 앞부분부터 지정한 만큼 출력

n:

숫자: 

출력을 원하는 줄수를 지정할 수 있다.

파일의 앞부분에서부터 내용을 출력한다.

head -2 하면

앞에 2라인만 확인한다고 명시할 수 있다.

c: 용량을 지정할 수 있다.

head -c 200 하면 200byte만큼의 파일을 출력할 수 있다.

tail

파일의 마지막 행을 기준으로 지정한 행까지의 파일 내용 일부를 출력하는 명령어이다.

n: 원하는 줄수 지정 가능

more

cat을 이용하면 대용량 파일은 읽기가 불편하다.

more를 이용하면 화면 단위로 끊어서 읽기 때문에 자세하게 파일 내용을 확인할 수 있는 장점이 있다.

출력 방향이 위에서 아래로 출력하기 때문에 지나간 내용은 확인할 수 없다.

less

화면 단위로 파일 내용을 확인

커서를 파일의 상하좌우로 이동 가능

grep

파일에서 특정한 패턴 또는 정규식으로 나타낸 단어를 찾는 명령어

형식: grep[옵션] 문자열 파일명

/etc/passwd 에서 문자가 admin이 들어간 것만 출력해 달라고 할 수 있다.

정규 표현식을 이용해서 파일에서 원하는 문자를 찾을 수 있다.

wc

word count

파일을 구성하고 있는 라인의 수나 단어수 알파벳 수를 알려주는 명령어

wc -r test

wc [옵션] 파일명

sort

명령어 결과나 문서 내용을 정렬해서 보는 명령

sort [옵션] 정렬할 파일명

f: 대소문자를 구분하지 않고 문서 내용을 정렬해서 확인할 수 있다.

알바펫 역순, 소문자끼리 정렬, 대문자끼리 정렬 등이 가능하다.

cut

파일에서 특정 필드를 추출해서 파일 내용을 구분할 때 사용한다.

cut [옵션] 파일명

원하는 내용만 추출해서 파일 내용을 보고자 할 때 유용하다.

split

하나의 파일을 여러개의 작은 파일로 분리해서 사용할 때 사용한다.

라인수로 분할할 수도 있고, 용량 단위로 분할할 수도 있다.

<파일 비교 명령어>

diff

difference

두 개의 파일을 행 단위로 비교해서 서로 다른 부분을 출력하는 명령어

i: 대소문자 구분하지 않고 서로 다른 부분을 찾을 수 있다.

차이점을 확인할 때 사용할 수 있다.

cmp

compare

두 개의 파일을 문자 단위로 비교해서 서로 다른 부분을 출력하는 명령어

comm

common

공통점을 이용한 파일 비교

옵션이 중요하다.

숫자 1은 두 개의 파일이 있다면 첫번 째 파일에만 존재하는 행을 제외하고 출력

숫자 2는 파일 2에만 존재하는 내용을 빼고 파일 1에있는 내용을 출력하는 것이다

숫자 3은 두 파일의 공통점은 제외하고 다른 부분만 출력한다.

<리다이렉션과 정규 표현식>

리다이렉션

방향 재지정

표준 입력 장치 - 키보드

표준 출력 장치 - 모니터

표준 에러 장치 - 모니터

표준 입력 키보드로 입력한 내용을 모니터로 나오는 것이 일반적인 형태

리다이렉션을 지정하면 표준 입력한 내용을 파일로 대체해서 저장을 하거나 이런 식으로 할 수 있다.

who 명령어는 현재 접속한 사용자의 정보를 출력한다. 리다이렉션 연산자를 이용해서 출력 결과를 로그인이라는 파일 안에 집어넣게 한다.

이렇게 출력 내용을 파일에 저장하는 형태로 변환하는 것을 리다이렉션이라고 이야기 한다.

cat login을 통해서 파일 결과값을 확인할 수 있다.

> : write or overwrite

>> : append

 

파이프

두 개 이상의 명령어를 묶어서 계속 출력 결과를 다른 명령어로 수행할 수 있게 된다.

ls /usr/bin | sort | grep zip

하나의 라인으로 다 연결해 놓고 출력을 해보면 

목록을 뽑고 그 결과 중에서 알파벳 순으로 정렬을 한 후에 zip이라는 문자가 들어간 것을 확인하게 하는 문자열이다.

 이러한 상호 연관관계로 해서 내용을 출력하는 연산자를 파이프 연산자라고 이야기 한다.

더 이상 처리할 명령어가 없으면 표준 입력 장치인 화면으로 결괏값을 출력한다.

이전에는 그 다음에 출력 내용이 다음 명령어의 입력값으로 사용된다.

<정규 표현식>

정규 표현식은 명령어  find나 grep 같은 일정한 패턴을 가진 문자를 찾는 것으로 많이 사용한다.

 

감사합니다.

728x90
반응형
LIST
728x90
반응형
SMALL

*이기적 영진닷컴 Youtube Link - https://www.youtube.com/watch?v=unF3lrTZs78&list=PL6i7rGeEmTvp_MYm0zuiFe7COrM3endfu&index=7

 

리눅스 기본 명령어들에 대해서 살펴보겠다.

크게 사용자 생성 및 계정 관리 명령어, 디렉터리 및 파일 관리 명령어 그리고 기타 명령어

3개의 파트로 나누어서 설명하겠다.

<리눅스 명령어>

which

- 지정된 명령어 위치를 찾아 주거나

- alias가 설정되어 있다면 alias의 값을 보여주는 명령어이다.

which httpd: httpd 파일이 저장된 위치를 확인할 수 있다. 

만일 명령어가 아니면 예를 들어 alias이면 

이 alias에 어떤 명령어가 단축돼서 이와 같은 기능을 실행하는지를 확인할 수 있다.

패스 환경변수로 설정되어 있을 때만 해당 명령어의 경로를 찾아준다.

지정된 패스안에 해당 명령어가 위치하지 않으면 경로를 찾아낼 수 없다.

alias

자주 사용하는 명령어를 특정 문자로 입력해 두고 명령어 대신 해당 문자로 간략하게 축약해서 사용할 때 사용하는 명령어이다.

예를 들어 ls 옵션 al 필터 모어 같은 긴 명령어를 만약 자주 사용하게 되면 긴 문자를 m이라는 문자로 간략화시키면 작업에 편의성을 도모할 수 있다.

unalias

만약 설정된 alias 기능을 해제하고 싶으면 unalias 명령어로 해제가 가능하다.

패스는 실행 파일들의 디렉토리를 지정해 놓는 환경변수이다.

현재 작업 디렉토리가 아닌 다른 디렉토리에서 특정 명령어로 수행하거나 다른 디렉토리 안에 있는 내용을 확인하려고 할 때 환경변수 패스에서 경로를 찾아서 실행하게 된다.

굳이 실행파일을 실행시킬 때 해당 디렉토리가 찾아가서 실행시키지 않아도 되는 번거로움을 해결하는 환경 변수라고 보면 된다.

현재 환경변수 패스를 확인하고자 하면 echo $PATH를 입력하면 설정되어 있는 패스를 확인할 수 있다.

기존에 설정되어 있는 패스에 새로운 경로를 추가할 때는 콜론으로 기존 경로와 새 경로를 구분해서 추가할 수 있다.

지정된 패스를 현재 패스를 찍고 콜론 한 다음 dv를 추가시켜놓으면 새롭게 dv 디렉토리도 패스 설정에 걸려서 실행 파일을 찾을 때 dv 디렉토리까지 실행파일을 찾게 된다.

환경변수 패스는 2가지를 확인해야 한다.

설정된 패스를 어떻게 확인하는지: echo $PATH

기존 패스에 새로운 패스를 설정하는 방법도 명확하게 알아야 한다. : 예시 export PATH=$PATH:/home/ubuntu/Document

 

<리눅스 도움말>

man, info, whatis, manpath, whereis, apropos 같은 다양한 명령어들이 있다.

man 

리눅스에서 가장 일반적으로 사용하는 명령어로 특정 명령어에 대한 매뉴얼을 제공을 해준다. 

총 9개의 섹션으로 구분이 되서 해당 섹션마다 해당 영역의 정보들을, 명령어들의 정보들을 확인할 수 있다.

info

man에 비해서 제공되는 명령어가 한정적이지만 다양한 리눅스 명령어에 대한 사용방법이나 옵션들을 확인할 수 있다.

whatis

명령어에 대한 세부적인 설명 보다는 간략하게 기능들을 나타낸다. 

명령어 기능을 파악했지만 더 자세히 알아보고 싶으면 man이나 info를 이용해서 좀 더 자세한 해당 명령어들의 기능을 파악할 수 있다.

데이터베이스에서 원하는 특정 문자열을 검색하는 것이라고 확인하면 될 것 같다.

manpath

man 페이지의 위치 경로를 검색해서 표시해주는 명령어이다.

man에 대한 매뉴얼 페이지를 경로로 표시한다.

whereis

찾고자 하는 명령어의 실행 파일의 절대 경로나 소스코드, 설정 파일 및 메뉴얼 페이지를 찾아서 출력해주는 명령어

whereis shutdown 명령어 shutdown의 소스 파일 위치나 메뉴얼 파일의 위치 정보를 확인할 수 있다.

apropos

man 페이지 설명에서 지정된 키워드를 포함하고 있는 명령어이다.

apropos system 명령어를 주게 되면 man 페이지 중에서 system 문자열이 포함된 명령어 목록들을 쭉 확인할 수 있다.

<사용자 생성 명령어>

useradd

계정을 생성하는 명령어

다양한 옵션 사용 가능

s: 기본 셸 지정

d: 계정자의 홈 디렉토리를 지

이러한 옵션을 사용하게 되면 명령어 adduser와 동일한 기능을 갖게 된다.

계정자의 홈 디렉토리는 /home/계정명

생성된 계정자 정보는 /etc/passwd, /etc/shadow, /etc/group에 저장된다.

g: 계정자가 속한 그룹외에 다른 그룹에 계정자를 추가할 때 /etc/group 과 연관하여 작업을 할 수 있다.

password

계정자의 패스워드를 입력하거나 변경할 때 사용한다.

기본적으로 계정자의 패스워드는 /etc/shadow 파일에 기록된다. 암호화되어 기록이 된다. 확인하기는 어렵다.

su

switch user의 줄임말로 현재 사용자 계정에서 다른 사용자 계정으로 로그인할 때 보통 사용하는 명령어이다.

su 다음에 하이픈을 쓰고 계정자명을 쓰게 되면 현재 작업했던 세션이 다 종료된 다음 진행이 되고 만약 하이픈을 쓰지 않고 그냥 계정명을 입력할 경우 기존의 세션을 그대로 유지한채 사용자로 전환이 되는 차이점이 있다.

<사용자 계정에 관련된 파일>

/etc/default/useradd

useradd 명령어를 사용할 때 다양한 옵션들을 지정해서 사용자 계정 설정을 할 수 있는데 

이 폴더에는 useradd를 사용해서 속성값들이 확인된다. 그룹 설정이나 홈 디렉토리 설정이나 패스워드 만료일 지정, 셸을 지정했던 내용들을, 사용자 계성 생성 때 설정했던 모든 정보들을 확인할 수 있다.

/etc/passwd

계정자의 정보를 갖고 있는 파일

리눅스에 로그인할 때 사용자의 정보를 확인할 때 사용한다.

패스워드가 저장되어 있을 것 같이 생각되지만 패스워드 외에 여러개의 필드로 구성되어 있어서 사용자의 userid 번호나, 그룹id, 홈 디렉토리 이런 다양한 정보들이 필드로 구분되서 저장되어 있다.

/etc/shadow

실제 계정자의 패스워드가 암호화 되어 있는 파일이다.

한 9개 정도의 필드로 구성되어 있다.

사용자명, 암호화된 비밀번호, 최근 비밀번호 변경일 등 해당 계정자의 패스워드 뿐만 아니라 해당 패스워드의 만료일이나 혹은 유예기간들을 모두 확인할 수 있다.

/etc/login.defs

사용자 계정 설정과 관련된 기본값들이 정의된 파일이다.

새로운 계정을 생성할 때는 어떠한 설정값들이 있는지 참조하면 

계정 생성시에 유용하게 사용할 수가 있다.

<사용자 계정 관리>

usermod

사용자의 정보를 변경하는 명령어

홈 디렉토리를 변경하거나 그룹을 변경하거나 유효기간을 변경하는 다양한 값들을 변경할 수 있다.

usermod 명령어와 옵션들만을 구분하면 여러 명령어를 쓰는 것 보다 좀 더 쉽게 다양한 정보들을 수정 변경할 수 있는 장점을 갖게 된다.

userdel

기존 계정 정보를 삭제할 때 사용하는 명령어

사용자의 홈 디렉토리를 변경하거나 그룹 변경, 유효 기간 등을 변경한다.

옵션 없이 userdel를 사용하면 /etc/passwd, /etc/shadow, /etc/group 에서 해당 계정 정보가 삭제가 된다. 조심해야 한다.

change

패스워드 만료 정보를 변경하는 명령어이다.

다양한 옵션들, l,m,M,E,W 등을 이용해서 사용자 계정 정보도 출력할 수 있고 설정 암호 취소 문자도 확인할 수 있으며 사용 가능일자도 확인할 수 있다.

예를 들어서 패스워드 사용일자로 이틀로 지정하고 싶으면 change -M 변경할 날짜 계정자명

패스워드 사용일자를 변경할 수 있다.

/etc/group

사용자 그룹에 대한 정보들이 저장

어떤 사용자가 어떤 그룹에 허용되는지를 확인할 수 있는 파일

한 명의 계정자는 여러 그룹에 포함될 수 있다.

해당 파일을 통해 사용자의 그룹 확인 뿐만 아니라 사용자를 그룹에 추가, 삭제, 변경등이 가능하다.

/etc/gshadow

group의 암호를 md5로 저장해놓은 파일이다.

그룹도 패스워드를 지정해서 관리할 수 있고 암호화를 한다.

md5를 통해서 그룹 패스워드를 지정할 수 있다.

그룹의 소유자, 구성원 설정할 수 있다.

groupadd

새 그룹을 생성할 때 사용하는 명령어

g: 그룹 아이디 직접 지정

groupdel

기존의 그룹을 삭제할 때 사용하는 명령어

그룹안에 소속되어있는 계정명이 있을 경우에는 이 명령어를 통해서 그룹은 삭제되지 않는다.

그룹을 포함하고 있는 구성원 삭제 후에 delete가 가능하다.

groupmod

그룹의 설정을 변경하는 명령어이다.

그룹id 변경, 그룹명 변경할 때 일반적으로 사용하는 명령어이다.

<사용자 조회 명령어>

users

시스템에 로그인한 사용자 정보를 출력하는 명령어

who

현재 시스템에 접속해 있는 사용자들을 조회하는 명령어

b,q,r 등의 옵션을 이용하면 시스템 부팅 시간, 로그인한 사용자 수 등도 출력이 가능

w

명령어 who와 동일하기는 한데

옵션없이도 현재 접속중이 사용자 정보를 확인할 수 있다.

부팅후 시스템 작동 시간, 서버 접속자의 총수 등 다양한 정보들을 확인할 수 있다.

jcpu: 프로세스들의 cpu 사용시간, 입력 장치를 이용해서 접속시 사용된 CPU 사용시간

pcpu: 프로세스명에서 사용하는 cpu의 총 시간, 접속자가 접속한 후에 사용한 프로세스들의 cpu의 총시간

tty는 콘솔로 접속한 환경

pts는 원격 터미널로 접속한 형태

id

일반적으로 uid, gid, group을 확인하는 명령어

g: gid

G: 그룹 정보

U: 사용자 uid

groups

사용자 계정에 속한 그룹 목록 확인

현재 로그인한 계정자가 속한 그룹명 목록 확인

 

감사합니다.

728x90
반응형
LIST
728x90
반응형
SMALL

*이기적 영진닷컴 Youtube Link - https://www.youtube.com/watch?v=2smaG9CeT5s&list=PL6i7rGeEmTvp_MYm0zuiFe7COrM3endfu&index=6

 

부트 매니저는 부트 스트랩 로더 또는 부트 로더라고 한다.

디스크나 플래시에 저장된 운영체제를 주기억장치에 적재해주는 프로그램 즉 이동 시켜주는 프로그램이다.

즉 모든 프로그램을 주기억장치에 옮겨 와야 그 주기억장치에서 cpu로 데이터를 읽어 가기 때문에 아주 중요한 기능을 수행한다.

부트 로더는 운영체제가 시동하기 전에는 화면이 올바르게 실행되기 위해서 모든 관련된 실행들을 마무리시켜주고 최종적으로 운영체제를 수동하기 위한 프로그램이기도 하다.

부트로더의 크기는 대략 512byte로 하드 디스크 첫번째 섹터인 mbr에 위치하게 된다.

일반적으로 mdr은 마스터 부트 레코드라고 해서 하드 디스크의 첫번째 섹터를 이야기 한다. 여기에는 부트로더 정보 뿐만 아니라 파티션 정보도 저장한다.

그리고 주 파티션 마다는 그 부트 섹터가 할당이 되는데 부트 섹터는 디스크의 그 다른 부분에 저장되는 부팅 프로그램을 담는 하드디스크를 이야기하는데 

주 파티션은 부팅 가능한 파티션이고 그러려면 부팅 관한 정보 등은 어딘가에 저장이 되어야 하는데 그것이 주 파티션의 부트섹터에 저장이 된다고 보면 된다.

한 컴퓨터에는 다수 개의 운영체제가 설치되서 이제 하나의 운영체제를 선택해서 부팅을 하게 된다. 이를 멀티 부팅이라고 이야기 한다.

그런데 x86 컴퓨터에서 사용되는 멀티 부팅을 지원해주는 부트 로더는 리로나 그럽이라고 하는 것이 있다.

리로는 리눅스 운영체제에 한정되는 반면 그럽은 리눅스 운영체제 외에도 다른 운영체제에서도 사용이 가능하다라는 장점이 있고 최근에는 리로보다는 그럽을 이용해서 운영체제 다중 운영체제를 관리를 하고 있다.

그럽이나 리로는 모두 시스템 전원이 공급되면 가장 먼저 온바이오에스에서 이제 시스템 제어권을 가지고 정착된 하드웨어에 대한 기본적인 점검과 이제 테스트를 하게 된다.

롱바이로스는 그 하드 디스크의 첫번째 부트 섹터인 MBR에 있는 부트로더에게 제어권을 넘겨서 이러한 작업들을 진행을 하게 된다.

 

런레벨은 리눅스 부팅시 시스템 환경을 결정하는 번호라고 보면 된다.

그 GUI로 시스템을 부팅할 것인가 아니면 CUI로 시스템을 부팅할 것인가 이런 런레벨에 따라 작업 서비스 환경이 달라지기 때문에 런레벨을 서비스 조정이 가능하다라고 정의할 수 있다.

런레벨은 0~6까지 총 7가지가 있다. 이와 같은 설정은 /etc/inittab이라는 파일에서 확인이 가능하다.

inittab을 확인하면 화면 하단부에 id:O:initdefault라고 하는 것을 확인할 수 있다.

id 뒤에 오는 그 번호가 런 레벨이다.

런 레벨은 3이나 5가 일반적으로 사용한다. 

3은 CUI 모드로 시스템을 부팅하게 된다. 동시에 여러 사람이 사용할 수 있는 다중 사용 모드 환경을 지원한다.

O는 그래핑 모드로 GUI 방식으로 시스템을 부팅하게 되고 3과 마찬가지로 다중 사용자 모드로 부팅이 가능하게 한다.

런레벨 특히 1같은 경우는 눈여겨볼 필요가 있는데 단일 사용자 모드로 루트만 로그인이 가능할 수 있는 모드이다. 네트워킹이나 파일 공유 시스템 같은 것은 제공해주지 않고 루트 패스워드를 분실하였거나 파일 시스템 점검 및 복구할 때 보통 런레벨1로 들어가게 된다.

레벨 0과 6은 일반적으로 많이 사용하지는 않는다.

만약에 0을 하면 시스템을 부팅하는 동시에 종료한다는 서비스고 6은 시스템을 부팅하는 동시에 시스템을 재시작한다라고 하는 것이기 때문에 일반적이지는 않지만 명령어 init0 또는 init6을 이용하면 런레벨 0이나 런레벨6과 같은 동일한 환경을 이용해 작업이 진행이 될 수 있다.

 

리눅스의 로그인과 로그아웃

X윈도우즈 상에서 GUI 상에서 로그인 로그아웃할 수 있고 또는 콘솔상에서 로그인 로그아웃을 진행할 수 있다. 

특히 콘솔상 CUI로 로그인 로그아웃이 진행될 경우는 startx라는 명령어를 이용해서 차후에 x윈도우즈를 불러올 수 있다.

로그인할때는 보통 패스워드를 입력하게 되는데 패스워드를 입력하게 되면 etc 패스워드나 etc 셰도우라고 하는 필드에서 패스워드의 그 동일 여부를 체크를 하게 된다. 이 과정을 거치게 되면 셸이라는 설정 파일을 실행하게 되는데

셸은 사용자에 맞는 검색 경로를 설정하거나 터미널 종료, 환경변수 혹은 로그인 메세지를 출력한다. 로그인 전이나 로그인 후에 사용자에게 어떠한 메시지를 출력할 것인지를 결정해주는 파일로는 이슈, 이슈넷, motb같은 파일들이 있다. 

명확하게 구분을 해 놓으면 좋다.

 

로그아웃은 logout, exit 또는 조합키인 [ctrl]+[D]를 사용해서 로그아웃을 할 수 있다. 만약 관리자가 일정 시간동안 작업을 수행하지 않는 모든 작업들은 강제로 로그아웃될 수 있다. 강제 로그아웃을 하기 위해서는 etc profile의 타임아웃 변수를 지정해서 해당 작업을 진행할 수 있다.

 

감사합니다.

728x90
반응형
LIST
728x90
반응형
SMALL

*이기적 영진닷컴 Youtube Link - https://www.youtube.com/watch?v=B0OUZ3Xb4OQ&list=PL6i7rGeEmTvp_MYm0zuiFe7COrM3endfu&index=5

 

파티션은 하나의 디스크를 여러 개의 논리적인 디스크로 분할하는 것을 말한다.

파티션을 다중으로 둘 경우 장점은 파일 시스템 점검 시간이 줄어들고 부팅 시간을 단축시킬 수 있고

하나의 파티션이 손상이 되더라도 다른 파티션에 영향을 주지 않기 때문에 높은 안정성을 준다.

리눅스에서는 주 파티션, 확장 파티션, 논리 파티션 그리고 스왑 파티션으로 구분할 수 있다.

주 파티션은 부팅이 가능한 기본 파티션. 최대 4개로 분할 가능. 하나의 디스크에 6개 이상의 파티션을 구분하고 싶으면 주 파티션은 3개 나머지는 확장 파티션에 여러개의 논리 파티션을 둠으로써 다수 개의 4개 이상의 파티션을 나눌 수 있다.

하나의 디스크에 4개 이상의 파티션을 주고 싶으면 기본적으로 확장 파티션을 주게 됩니다.

확장 파티션은 물리적 디스크에 생성할 수 있다. 컨테이너에 해당한다고 보면 된다. 논리 파티션을 담을 수 있는 그릇과 같은 역할을 한다.

확장 파티션 안에는 논리 파티션을 생성할 수 있는 공간이 된다.

논리 파티션은 확장 파티션 안에 생성되는 파티션으로 12개 이상 생성되지 않는다. 논리 파티션을 알 수 있는 방법은 번호가 5번 이상부터 붙어 있으면 논리파티션이라고 보면 된다.

스왑 파티션은 하드 디스크의 일부분을 메모리처럼 사용하는 영역이다. 설치과정에서 주 파티션, 논리 파티션에서 생성 가능. 램 용량이 부족할 경우 하드 디스크를 대신해서 램처럼 사용할 수 있게 하는 영역으로 보통 스왑 영역 크기는 램의 2배를 설정하도록 권고하고 있다.

 

분할된 파티션은 그 번호가 붙여지게 된다. 

일반적으로 hd a 3과 같이 파티션 나눠진 디스크에는 다음과 같은 번호가 맺혀지는데

hd 는 하드디스크의 유형이다. sd는 스카시 또는 us 방식의 디스크. hd는 아이디나 데이터 방식의 디스크를 이야기 한다.

a는 하드디스크 번호이다. 하드디스카가 하나가 전체가 될 수 있고, 두개가 전체가 될 수 있고 다수개도 정착될 수 있다.

만약에 첫번째 정착된 하드디스크는 a, 두번째 정착된 하드디스크는 b 그리고 세번째 정착된 하드디스크는 c이다. 하드디스크의 갯수라고 인색해도 무방하다.

3은 하나의 디스크에 분할된 파티션의 번호라고 보면 된다. 1~4번까지 붙여지면 주 파티션 혹은 확장 파티션 그리고 5번 부터는 논리적 파티션이라고 볼 수 있다. 

 

파일 시스템

파일 시스템은 일반적으로 파일 관리자라고 이야기 한다.

하드디스크에는 다양한 파일들이 저장되는데

어떻게 관리할지를 파일 시스템 유형에 따라 결정된다.

파티션에 파일 시스템이 없다면 파일 시스템 생성을 거쳐서 반드시 하드디스크를 운영하는 파일 관리자를 선정을 해야 한다.

리눅스는 리눅스 고유 파일 시스템 뿐만 아니라 다양한 파일 시스템을 지원한다. 

리눅스 전용 파일 시스템은 ext 계열이 있다.

저널링 파일 시스템은 jfs

네트워크 파일 시스템에는 smb나 nfs

타 운영체제인 펫이나 펫30 ants 같은 파일 시스템을 지원하고 있다.

리눅스의 주 특징이다. 타 운영체제에서 지원하는 파일 시스템도 지원함으로써 디스크 운영 방식이 폭이 넓다.

 

LVM(Logical Volume Manager)

여러 개의 하드디스크를 합쳐서 사용하는 기술.

적은 용량의 하드디스크 여러개가 있을 흩어져 있는 다수개의 용량의 하드디스크 거대한 하나의 용량처럼 논리적으로 묶어서 사용할 때 LVM이라는 파일 시스템을 사용해서 작업할 수 있다.

LVM을 사용하여 파티션의 크기를 늘리거나 줄일 수 있는 장점이 있다.

용량을 늘리는 것이 목적.

 

RAID

복수 계열 독립 디스크의 약자로

여러개의 논리적 디스크를 하나의 논리적 디스크로 인식해서 작동하게 하는 기술이다.

데이터를 중복 시켜 저장시킴으로써

하나의 디스크에서 문제가 일어나도

지속적으로 서비스를 가능하게 하기 위한 리던던트 결합 허용이 목적인 것이 RAID의 구성 목적이다.

시스템 이상이 일어났을 때 가용성을 보장해주는 것이 주 목적.

LVM과 비교하면 용량이냐 안정성이냐 차이점을 두고 인식하면 구분하면 될 것 같다.

레이드는 하드웨어 레이드 그리고 소프트웨어 레이드로 구성할 수 있다.

하드웨어 레이드는 하드웨어 업체에서 처음부터 레이드를 구성할 목적으로 하드디스크 여러개를 꽂을 수 있는 장비 자체를 만들어서 레이드를 구성할 수 있게 모듈을 만들어서 그 자체를 공급하기 때문에 장비 자체도 고가이고 그러나 안정적인 시스템

소프트웨어 레이드는 고가의 하드웨어 레이드를 대체하는 것으로 리눅스나 ms같은 운영체제에서 레이드를 구성하게 하는 것. 저렴하지만 안정적으로 데이터를 저장한다는 장점이 있다. 하드디스크 레이드보다는 안정성이 떨어진다.

레이드는 저장하는 방법에 따라 레벨을 붙이고 있다. 레벨 숫자가 커지면 커질수록 신뢰성이 높거나 전체적인 성능이 향상된다고 보면 된다.

RAID 0 RAID 1 RAID2 RAID3 RAID4 이렇게 숫자가 커지면 커질수록 전체적인 신뢰성이나 성능이 조금씩 더 향샹된다고 볼 수 있다. 전체적으로 다 설명을 할 수는 없고 RAID0과 1의 저장방식을 이야기 하겠다.

RAID0은 스트라이핑 저장 방식이다. 즉 스트라이핑 저장 방식이란 연속된 데이터를 여러 디스크에 나눠서 저장하는 방식이다. 1234라는 데이터가 흩어져서 저장하는 방식을 스트라이핑 방식이라고 한다. 이 방법은 고장 대비 능력이 없다. 하나의 디스크가 고장이 나면 다른 디스크의 내용도 복원할 수 없는 상황이 되기 때문에 레이드는 안정성이 주목적인데 하나의 디스크가 문제가 일어나면 복원을 할 수 없기 때문에 레이드 본연의 기능을 제공하지 못하기 때문에 RAID0이라고 이름 붙인다. 레이드가 아니다라고 하면서도 이러한 특성을 가지기 때문에 제로라는 명칭을 붙이고 있다.

RAID1은 레이드가 가지고 있는 안정성을 결합 허용을 보장해주고 있는 구성형태이다. 두개의 디스크에 동일한 데이터가 싱크하게 저장된다. 이러한 방식을 미러링 방식이라고 이야기 한다. 하나의 디스크에 데이터가 저장되면 다른 디스크에도 동일한 데이터가 백업되어 저장된다. 두배의 용량이 필요하기 때문에 공강 효율성을 떨어지긴 하지만 결합 허용이 제공되기 때문에 안정성은 높다라고 이야기 한다. 만약 중요한 데이터를 저장할 경우라면 RAID1을 사용하시면 될 것 같다.

RAID 3은 

RAID 4는

RAID 5는

RAID 6은

레이드는 여러 레벨들의 장점을 합쳐서 장점만 모은 RAID 구성이 있다. RAID0+1, RAID1+0이런 식의 명칭을 쓰기도 한다.

RAID0+1은 먼저 하드디스크 2개씩 레이드0을 구성한 후에 0으로 구성된 하드디스크를 다시 레이드 원으로 구성을 해서 즉 미러링 전에 스트라이핑을 진행해서 데이터를 저장하는 방식. 저장속도는 빠르지만 데이터 복구 시간은 느리다는 단점을 가진다.

RAID1+0은 RAID0+1의 반대 구성으로 하드 디스크 2개씩 레이드1을 구성한 후에 레이드1로 구성된 하드디스크를 다시 레이드0으로 구성하는 방식이다. 미러링 후에 스트라이핑을 진행하는 것으로 손실된 데이터만 빠른 복원이 가능하기 때문에 RAID0+1보다 보안상 더 유리하다.

 

이러한 레이드를 구성하거나 LVM을 쓰는 것은 대부분 하드 디스크의 파티션을 가하게 되는데 일반적으로 파티션을 진행하는 유틸리티가 있다. 즉 리눅스의 파티션을 생성하거나 수정, 삭제할 수 있는 유틸리티를 보통 f디스크라고 이야기 한다.

fdisk는 fdisk 명령어를 통해서 다양한 옵션들이 있는데 a라고 하는 것은 파티션을 나누기 위해서 다양한 명령어들이 있다.

fdisk sdb

sd형태의 하드디스크가 있는데 b라고 하면 두번째 히드디스크를 정착하고 거기에 파티션을 여러개 나누려고 할 경우 이렇게 엔터키를 치면 fdisk에서 사용하는 명령어를 쭉 나열을 할 수 있다.

n: 새로운 파티션 추가

a, l: 파티션 목록 확인 또는 부팅 파티션 지정

t: 파티션 종류 변경

w: 파티션 정보 저장

p: 파티션 정보 확인

q: 이러한 fdisk 모든 작업을 마무리 하려면 q를 입력하여 하드디스크의 파티션을 구분할 수 있다.

 

단계 2에서는 fdisk를 나눌 때 수학 파티션으로, 레이드 구성, LVM 구성을 파일 시스템에서 결정을 하게 되는데 잘 살펴보면 될 것 같다.

 

감사합니다.

728x90
반응형
LIST

+ Recent posts