본문 바로가기
Certificate/리눅스마스터

리눅스마스터_03

by 꽈리바게트 2021. 6. 30.

파일시스템의 관리

1. 파일시스템

운영제체가 파일을 시스템의 디스크상에 구성하는 방식

1) Super Block

2) Group Descriptor Table

3) Block bitmap

4) inode : 이름, 소유주, 권한, 시간 등에 대한 정보를 담고 있는 것

1-1. 리눅스 전용 디스크 기반 파일시스템

1) ext

2) ext2 #255긴파일이름

3) ext3 #ACL(Access Control L #저널링 #2001년

4) ext4

1-2. 저널링 파일시스템 #복구

1) JFS #IBM <<JFS+IBM=JB 재범>>

2) XFS

3) ReiserFS

1-3. 네트워크 파일시스템

1) SMB #삼바

2) CIFS

3) NFS

1-4. 기타지원 파일시스템

1) FAT

2) VFAT

3) FAT32

4) NTFS

5) ISO 9660

6) UDF #iso9660지정가능

7) HPFS

2. 관련 명령어

#mount#umount

장치와 디렉터리 연결과 해체

# mount

-t 파일시스템 vfat FAT32 마운트
-o 추가 설정 ro 읽기 모드
rw 읽기, 쓰기 모드
noatime 파일이 변경되기 전까지 access time이 변경되지 않음

#umount

-a 파일 /etc/mtab에 명시된 파일 시스템 호출/마운트 해제

3. 명령어

#eject

이동식 보조 기억장치 같은 미디어 해제 후 장치 제거

# fdisk

파티션 생선/삭제/타입 결정

# mkfs

리눅스 파일시스템 생성

-c 파일시스템을 생성하기 전에 배드블록을 검사

-t 파일시스템: 생성할 파일시스템 타입 지정

예) mkfs.ext3 / mke2fs -t ext3 / mke2fs -j / mkfs -c -t ext3

# mke2fs

ext2/ext3/ext4 파일시스템 생성

-j 파티션을 저널링 파일 시스템 ext3으로 생성

# fsck

무결성 점검 / 대화식 복구

/lost+found: 오류 수정과 복구

-s fsck동작을 시리얼화

# e2fsck

# du (Disk Usage)

디렉터리별 디스크 사용량 확인

파일이나 디렉터리의 크기 확인

# df

시스템에 마운트된 하드 디스크의 용량을, 파티션 단위로 사용량을 확인

-h 용량 단위(KB, GB, MB)로 표시

-T 파일 시스템 유형과 파티션 정보 출력

4. 파일 /etc/fstab

리눅스에서 사용하는 파일 시스템 정보를 정적으로(고정적으로) 저장하고 있는 파일

proc /proc proc defaults 0 0
1 2 3 4 5 6
4 옵션 파일시스템 속성 설정
defaults auto, exec, suid, ro, rw 등을 모두 가지는 속성
user 일반 사용자들의 마운트 권한 부여
noatime access time 갱신
5 dump 관련 설정 dump 명령으로 백업 시 덤프 레벨을 결정, 즉 사용 주기 결정
6 파일 점검옵션 부팅 시 파일시스템을 점검하는 fsck 순서부여
0: 부팅 시 파일시스템 점검하지 않음
1: 루트 파일 시스템을 점검
2: 루트 파일시스템 이외의 파일시스템을 점검

셸(Shell)

1. 개념

- 명령어 해석기: 사용자가 입력한 명령어를 해석하여 커널에 전달

2. 종류

$ 본 셸(Bourne shell)
본셸 /bin/sh #1979년 #벨연구소 #유닉스기본셸
콘셸(korn shell) /bin/ksh #1986년 #AT&T
#명령어 완성 #히스토리
배쉬셸(bash shell) /bin/bash #1989년 #브레인폭스
#본셸+GNU #Linux #맥OS x #POSIX호환
지셸(z shell) /bin/zsh #1990년
#강력한history #탭이나 화살표키
% C셸
C셸 /bin/csh #1981년 #버클리대학
#C언어 #히스토리,별명
tc셸 /bin/tcsh #1982년 #명령행편집기능

3. 셸 확인 및 변경

3-1. 로그인 셸 확인

/etc/shells 사용할 수 있는 셸 확인
/etc/passwd 계정마다 할당된 셸 확인
echo $SHELL 현재 로그인한 사용자가 사용하고 있는 셸 확인

3-2. 셸 변경

# chsh

일반 사용자 환경에서 셸 변경 시 사용

# usermod

ll관리자 환경에서 지정된 계정의 정보를 변경할 때 사용

환경 설정

환경변수 = 전역변수 셸 변수 = 지역변수
전체 셸에서 사용 가능한 전역 변수 현재 로그인 셸에서만 사용 가능한 지역 변수
서브 셸에 기능 상속 가능 서브 셸에 기능 상속 불가능
환경 변수 확인 명령 : env 셸 변수 확인 명령: set

1. 주요 환경 변수

$PWD 실행할 명령어 경로 표시

$TERM 로그인한 터미널 정보 표시

$LANG 언어 확인

$USER 사용자 이름 출력

1-1. 프롬프트 설정 형식

셸의 프롬프트 형식을 사용자 임의대로 변경 할 수 있다.

2. 환경 설정 파일

셸 시작 시 자동으로 실행되는 고유의 시작파일

전역 설정 파일 /etc/profile 모든 사용자의 셸 환경을 제어하는 전역적인 시스템 설정 파일
/etc/bashrc alias, bash수행 시 실행되는 함수
지역 설정 파일 ~/.bash_profile 셸 환경 제어하는 지역적인 시스템 설정 파일
~/.bash_history 입력한 내용 기록
~/.bashrc alias, bash수행 시 실행되는 함수
~/.bash_logout 로그아웃 직전에 실행

2-1. 프롬프트 설정 형식

\W 현재 작업 디렉터리의 전체 경로 중 마지막 디렉터리만 표시

\w 현재 작업 디렉터리를 절대 경로로 표시

\u 현재 사용자 이름 표시

\t 24시로 현재 시간 표시

3. bash shell 주요 기능

#History 기능

!! 마지막 실행 명령문 실행
!n n번째 명령어 실행
!string 가장 최근에 string으로 시작하는 명령문 실행
!?string? 가장 최근에 string을 포함하고 있는 단어 나타냄

History 관련 환경 변수

HISTSIZE 스택의 크기 지정, 지정 시 단위는 명령어 개수
HISTFILE 히스토리 파일의 위치를 나타내는 환경변수
HISTFILESIZE 물리적인 히스토리 파일 크기 지정
HISTTIMEFORMAT 출력되는 시간 형식

'Certificate > 리눅스마스터' 카테고리의 다른 글

리눅스마스터_02  (0) 2021.06.30
리눅스마스터_01  (0) 2021.06.30