리눅스 학습 기록 (C) : 디스크 및 파일 관리 시스템

이에 앞서, 우리가 처음 내선을 알고 있어야합니다, 그것은 확장 된 파일 시스템 (영어 : 확장 파일 시스템, 내선은 단축 또는 외부 1)은 1992 년 4 월에 발표 된 시스템 A 문서는, 그것은 리눅스 커널에 대해 수행 된 첫 번째입니다 파일 시스템.

Ⅰ.Linux 대부분의 기존 디스크 파일 시스템 Ext2를 사용하고

: EXT2 주로 정보
파일이 복수의 블록 점유 너무 크면 파일 데이터 스토리지의 실제 위치; 1.block는
2.inode : 기록 속성 파일을, 파일이 기록한다 아이 노드, 아이 노드를 차지 여기서, 블록 번호, 데이터 파일,
3.superblock : 아이 노드 / 블록, 잔류량의 양, 파일 시스템 포맷 외부인의 총량을 포함하는 기록 정보.

구체적인 내용 및 파일 속성은 다음 빠르고 쉽게 찾을 수, 별도로 이런 식으로 배치 것을 의미한다.

데이터 액세스 Ⅱ.Ext2 파일 시스템

인덱스 : 아이 노드 블록은 우리가 파일을 만들 경우, 파일은 블록 번호가 해당 파일 데이터 아이 노드에 저장됩니다하는 아이 노드를 차지합니다, 번호가 매겨집니다. 우리가 다음 거기에 특정 내용에 이동할 수 있습니다 작은 아이 노드를 읽을 첫째,이 파일을 읽으려면이 파일을 빠르게 찾을 수 편리 할 것 같은, 않습니다.

Ⅲ. 파일 조각 모음 이유와 목적

(예를 들면 파일의 작은 풋 프린트와 같지만 저장소 특히 몇 블록 수 간격)도 분리 된 기록 블록 파일은 파일이 판독 될 때 경우 성능이 저하된다. 당신은 개별 범위의 수를 줄일 수, 조각 모음하여 동일한 파일이 요약에 속하는 블록 읽기 속도를 향상시킬 수 있습니다.

6 개 주요 Ⅳ.Ext2 파일 시스템

1.boot 섹터 : 부트 섹터가 부트 로더가 설치 될 수
2.superblock을 : 기록 정보의 전체 사용량, 잔존 용량, 파일 시스템 포맷 외부인의 아이 노드 / 블록을 포함하고;
3.inode 비트 맵 : 아이 노드 제어 테이블은, 정보가 각각의 아이 노드가 이용 될 수 있는지 여부를 기록한다;
4.block 비트 맵 : 블록 테이블의 정보는 블록마다 기록되어 사용될 수있다
5.inode 테이블 : 아이 노드 모든 아이 노드 표, 및을 하나 개의 파일은 아이 노드를 차지하기 때문에 128 바이트는, 그래서 그 결정의 수는 파일의 수를 가질 수
테이블 6.block을이에, 블록 테이블 블록을 모두하고 1킬로바이트, 블록 2킬로바이트,이 파일의 4킬로바이트 세 가지 유형 파일의 내용을 넣어, 블록 디렉토리는 파일 이름과 디렉토리의 해당 아이 노드 bitmao을 넣어.

쿼리 파일 시스템 정보 : dumpe2fs

행동 Ⅴ. 당신은 파일 시스템을 추가 할 때

; 1. 사용자 및 X 권한 w 카탈로그에 있는지 여부, 당신은 아무것도를 만들 수 있습니다
새 파일 권한 / 속성을 2. 사용 가능한 inode 번호를 사용하는 아이 노드 비트 맵을 작성,
3 블록 비트 맵을 사용할 수있는 블록을 사용하여 대응하는 아이 노드 내의 상기 데이터 블록 번호를 업데이트하는 동안 번호, 실제 데이터를 기록,
4 아이 노드 동기화 업데이트의 inode 비트 맵 블록 맵에 단계의 블록 데이터 번호, 수퍼 중.

보기 디렉토리 및 디스크 용량 : 뒤, 안양

Ⅵ. 로그 (기술) 파일 시스템

때때로, 새로운 파일 시스템의 동작이 완전히 완료 할 수없는 경우에 갑자기 정전이, 그것은 여러 부분으로 아이 노드 블록 정보에 불일치가 발생할 때. 일관성이없는 상태에서이 데이터를 극복하기 위해서는, 지금은 다시 모든 것을 모든 적절한 행동까지, 쓰기 뭔가 준비하는 파일에 로그 레코드 블록을 기록하는 파일 시스템을 기록, 로그 (저널) 파일 시스템을 생성 기록을 완료하기 위해 로그인합니다.

Ⅶ. 연결 파일

두 가지 방법이있다
1.hard 링크 (물리적 연결) 아이 노드 접속, 새로운 파일 새로운 파일명을 생성하고, 그 파일은 동일한 inode 번호에 이름의 복수에 해당 할 수 있지만, 파일 시스템 동작을 교차 할 수 있고
(2) .symbolic 링크 (심볼릭 링크) : 윈도우와 유사한은 첨부 파일의 파일 이름으로 데이터 읽기를 수 있도록 별도의 파일을 생성하는 바로 가기,이 방법은 아이 노드 블록을 보냈다됩니다.

일일 갑자기 사람들이이 숨겨진 파일을 발견하면, 매우 숨겨진 파일 A가 아래에 예금 작은 영화의 일부를 넣어이 경우, 그래서 것, 그리고 당신은 진정한 연결 B의 건물을 촉진하기 위해 다른 열 당신은 (해당 아이 노드 및 블록 여전히 때문에) 다음은 B 또는 작은 영화를 열 수 있습니다 삭제. 하지만 심볼릭 링크를 생성한다면 C 인 C가 A 지점이기 때문에, 다음이 당신이,이 작은 영화를 볼 삭제되지 않고, 파일 이름 만에 아이 노드의 대응이 작은 영화, A는 삭제 그래서 해당 아이 노드 및 블록은 모두 삭제되었습니다. 이러한 이야기, 그것은 조금 더 명확 할 수있다.

생산 연결 파일 : LN (-s 플러스 실제 연결을 사용하지 않고 심볼릭 링크)

VIII. 새로운 작업을 할 때 하드 디스크

; 1. 디스크 파티션, 사용할 수있는 새로운 파티션을 생성하는
시스템 사용 가능한 파일 시스템을 생성하기 위해 포맷 된 새 파티션을 만들 수 2,
3. 테스트 어떤 새로운 파일 시스템을
, 4. 마운트 포인트를 작성 그것을 마운트합니다.

디스크 파티션 : FDISK (당신이 추가, 삭제할 수 있습니다 쓰기)
디스크 포맷 : mkfs를, mke2fs를 (사용되지 않음)
디스크 테스트 : fsck를, 배드 블럭
디스크 마운트 및 언 로딩 : 마운트, 언 마운트를
디스크 파라미터 변경 (같은 이름의 변화로?) mknod를, e2label, tune2fs, hdparm을

출시 다섯 개 원래 기사 · 원 찬양 한 · 전망 (102)

추천

출처blog.csdn.net/weixin_41425032/article/details/104159655