파일시스템의 관리
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 |