메타 데이터가 어떤 크기를 차지하지 않습니까?


51

텍스트 파일 에 4096 자를 넣고 저장합니다. 모든 문자가 1 바이트이므로 텍스트 파일의 크기는 4K 바이트 여야합니다. 아래에서 볼 수 있듯이 괜찮습니다.

여기에 이미지 설명을 입력하십시오

플래시 메모리를 컴퓨터에 연결합니다. 플래시 메모리의 여유 공간은 1,717,518,336바이트입니다 .

여기에 이미지 설명을 입력하십시오

플래시 메모리에 파일 사본을 만들었습니다. 그리고 다시 여유 공간을 살펴보십시오. 그것은이 1,717,514,240바이트에게 여유 공간 :

여기에 이미지 설명을 입력하십시오

차이점이 무엇인지 보자.

1,717,518,336-1,717,514,240 =4096 바이트


내 질문 :

Q1 :

위의 마지막 그림에서 볼 수 있듯이 파일이 플래시에서 차지하는 유일한 공간은 내용을위한 공간입니다 [문자]. 따라서 메타 데이터 파일은 어디에 있습니까?

파일을 다른 컴퓨터로 옮길 때 파일 이름, 파일 소유자, 생성 날짜 및 수정 날짜 등을 이해하는 방법은 무엇입니까?

그것은 어떤 크기를 차지하지 않습니까? !!

Q2 :

플래시 메모리에서 메타 데이터 파일을 볼 수 있습니까?

여기에 이미지 설명을 입력하십시오

시간과 배려에 감사하십시오.


10
메타 데이터는 파일 시스템 자체에 포함됩니다. 이는 Windows에서보고 한 파일 크기의 일부가 아닙니다. 또한 FAT32와 NTFS 메타 데이터는 다를 수 있습니다.
Ramhound

@Ramhound 텍스트 파일을 플래시 메모리로 옮길 때 메타 데이터 파일도 플래시 메모리로 옮깁니다. 내가 어떻게 볼 수 있습니까?
TheGoodUser


1
OS 내부를 이해하는 것 외에도 (디스크 자체적으로) 디스크 복구 / 복구 프로그램을 작성하지 않는 한 이러한 정보를 보거나 수정할 이유가 없을 것입니다. 정상적인 사용을 위해서는 파일 시스템 자체와 그 정보를 사용하는 모든 항목의 무결성을 쉽게 손상시킬 수 있으므로이 수준에서 정보를 변경하지 않을 것입니다.
Joe

3
짧은 대답 : 공간을 차지하지만 파일 크기의 일부로 계산되지 않습니다.
user20574

답변:


50

예, 메타 데이터는 공간을 차지합니다. NTFS에서는 구체적으로 1024 바이트를 차지합니다. 그러나 정보는 파일이 아니라 마스터 파일 테이블 MFT에 저장됩니다. 특히 MFT 레코드 # 4에서 $AttrDef.

자세한 내용은 이 Technet 기사 를 참조하십시오. 표 3.5에는 정의 된 모든 MFT 레코드가 있습니다.

볼륨이 NTFS로 포맷되면 MFT (Master File Table) 파일 및 기타 메타 데이터가 생성됩니다. 메타 데이터는 NTFS가 파일 시스템 구조를 구현하는 데 사용하는 파일입니다. NTFS는 메타 데이터 파일을 위해 MFT의 처음 16 개 레코드를 예약합니다.

NTFS는 각 파일에 대한 파일 레코드와 NTFS 볼륨에 작성된 각 디렉토리에 대한 디렉토리 레코드를 작성합니다. MFT에는 MFT 자체에 대한 별도의 파일 레코드가 포함되어 있습니다. 이 파일 및 디렉토리 레코드는 MFT에 저장됩니다. 파일의 속성은 MFT의 할당 된 공간에 기록됩니다. 파일 속성 외에도 각 파일 레코드에는 MFT에서 파일 레코드의 위치에 대한 정보가 포함됩니다.

다른 파일 시스템은 메타 데이터를 다르게 처리 할 수 ​​있으며 처리합니다.

편집 : 의견 섹션에서 OP가 NTFS가 아닌 FAT32 파일 시스템의 메타 데이터를 요청했기 때문에이 답변에 요점이 누락 된 것으로 지적되었습니다. 방법을 알면 "올바른 답변"속성을 제거합니다. 따라서 FAT32와 관련하여 질문에 답변하는 추가 정보를 제공합니다.

FAT32는 파일 또는 폴더의 상위 폴더에있는 항목의 각 파일 및 폴더에 대한 가시성 또는 수정 시간과 같은 간단한 메타 데이터를 저장하여 FS의 루트 폴더에서 트리를 만듭니다. NTFS와 관련하여 지적한 바와 같이 이것은 파일이 아니라 폴더 데이터 구조 내에 저장 됩니다 . 항목은 원래 32 바이트였으며 다음 속성이 포함되었습니다.

Name (8.3) xxxxxxxx.yyy. (88 bits)

Attribute byte (8 bits of information, described later in this section).

One reserved byte.

Create time (24 bits).

Create date (16 bits).

Last access date (16 bits).

Two reserved bytes.

Last modified time (16 bits).

Last modified date (16 bits).

Starting cluster number in the file allocation table (16 bits).

File size (32 bits).

이 목록은 이 Microsoft Technet 기사 에서 가져 왔으며 FAT16과 관련이 있습니다. FAT32의 클러스터 크기는 32 비트 일 수 있고 파일 이름은 8.3보다 길 수 있으므로 테이블이 완전히 정확하지는 않습니다. 긴 파일 이름과 더 큰 디스크를 수용하기 위해 FAT32는 위키 백과에서 읽을 수있는 몇 가지 행동 수정 여기 하지만 기본적인 아이디어는 보유하고 있습니다.


2
Sysinternal suite의 NTFSinfo를 사용하여 메타 데이터를보고 확장을 찾을 수 있습니다. 여기에서 다운로드 할 수 있습니다. technet.microsoft.com/en-us/sysinternals/default 여러 메타 데이터 편집기가 있지만 사용하지 않았기 때문에 권장하지 않습니다.
bjanssen

9
NTFS에서 @ TheGoodUser-Sp 메타 데이터는 최소한 기존의 의미에서 "파일"로 저장 되지 않으므로 원하는 인상을받습니다. 가 아닌 우리가 모든 단지에 대해 이야기하지 않는 곳의 \ Windows 폴더에 자리 잡고 뭔가; 파일 메타 데이터는 파일 시스템 자체의 중요한 부분입니다.
Rob Moir

2
이 경우 플래시 드라이브는 FAT-32로 포맷됩니다. 그래서 metada이 파일 할당 테이블 (FAT)에 저장됩니다 en.wikipedia.org/wiki/File_Allocation_Table
jnovacho

2
NTFS 및 FAT에 대한 할당 테이블은 미리 할당되어 있습니다. 형식마다 다르지만 일반적으로 여러 섹터에는 조각화를 줄이기 위해 메타 데이터를 저장하는 데 사용되는 빈 사전 할당 블록이 사용됩니다.
Kaslai

2
메타 데이터가 고정 크기라고 생각하는 이유는 무엇입니까? 액세스 제어 목록은 확실히 상당히 복잡 할 수 있습니다. 액세스 및 수정 시간과 같은 다른 모든 메타 데이터와 함께 항상 1024 바이트에 어떻게 들어갈 수 있는지 알 수 없습니다.
Ben Voigt

26

그것은 어떤 크기를 차지하지 않습니까? !!

예,하지만 사전 할당 된 큰 블록의 작은 항목입니다. 이 블록은 디스크의 "사용 된"부분에서 계산됩니다. 해당 블록 안에 항목을 추가해도 블록을 확장 할 필요는 없습니다.

파일 시스템에 따라 결국 많은 파일 이름이 추가 된 후 블록이 채워지고 확장됩니다.

플래시 메모리에서 메타 데이터 파일을 볼 수 있습니까?

쉽게

Ruslan과 Blorgbeard는 논평했다. HxD 와 같은 16 진 뷰어를 설치 하면 원시 파일 시스템 데이터를보고 매우 신중하게 편집 할 수 있습니다. 그러나 어떤 바이트가 어떤 파일 시스템 구조에 속하는 지에 대한 해석을 직접 수행해야합니다. 이를 위해서는 플래시 디스크에서 사용되는 특정 파일 시스템에 대한 좋은 문서가 필요합니다. FAT32는 NTFS의 여러 변형 중 어느 것보다 이해하기 쉽습니다. 예를 들어 FAT32 파일 시스템 이해를 참조하십시오 .


3
@TheGood 구글이 없다면, 아마도 리눅스를 부팅 dd하고 원시 플래시 파일 시스템을 다른 디스크의 파일에 복사하는 것으로 시작한 다음 hex-viewer를 사용하여 특정 파일 시스템에 대한 훌륭한 참조 작업과 함께 그것을 검사하십시오. (독점적이고 공개되지 않은 경우). 로 메타 데이터를 변경하고 touch반복하고 dd이진 diff를 사용할 수 있습니다.
RedGrittyBrick

1
Google을 박탈하지 않은 것이 좋습니다.
크 툴후

5
@Cthulhu : 오래된 사람들은 네크로 노미 콘이 필요 없습니다. fhtagn.
RedGrittyBrick

2
하드 드라이브에서 직접 16 진 뷰어를 사용하기 위해 OS를 변경할 필요가 없습니다. 괜찮은 16 진 뷰어를 사용하십시오. (이것도 hiew할 수있는 것처럼 보이지만 , 오래 전에 창문에 있었기 때문에 확실하지 않습니다).
Ruslan

1
HxD 는 Windows에서 확실히 할 것입니다. 기타 메뉴, 디스크 열기.
Blorgbeard

7

메타 데이터는 파일로 저장되지 않으며 (일반적인 파일 관리 도구로는보고되지 않음) 파일 시스템의 데이터는 디스크에 저장됩니다.

파일 시스템의 특성 / 버전에 따라 각 항목은 메타 데이터 정보를 나타내는 데 약간의 디스크 공간이 필요합니다.

또한 마스터 파일 테이블에 할당 된 공간과 함께 일부 파일 시스템은 파일 변경에 대한 저널 (추가 공간 확보)을 유지하며 일부 파일 시스템은 특수 목적 메타 데이터가 포함 된 추가 필드로 확장 될 수도 있습니다.

기술적으로 메타 데이터는 디스크 공간을 차지하지만 메타 데이터 공간이 아닌 파일 공간에 대해 파일 시스템을 쿼리하는 호출 시스템의 API를 작동하는 대부분의 파일 관리 유틸리티에서는이를 고려 하지 않습니다 .

그리고 파일 시스템 자체가 저수준 디스크 루틴에 의해 제공되는 기본 물리 디스크 공간의 추상화에서 작동하므로이 추상화는 빙산의 일각에 불과하므로 실제로 디스크의 내부 논리만으로도 더 높은 레벨에 사용 가능한 실제 메모리 위치 수를 알 수 있습니다 신뢰할 수 없거나 예약되었거나 체크섬에 사용 된 것으로 표시되는 수


3

메타 데이터는 파일 시스템에 따라 다릅니다. 교환 가능한 매체에서 일반적으로 사용되는 가장 기본적인 파일 시스템은 DOS 파일 시스템 (FAT)을 기반으로합니다. DOS에는 사용자 및 권한이 없습니다. 또는 더 정확하게는 해당 정보 중 일부가 파일 이름의 8 번째 데이터 비트로 전달됩니다. 기본 DOS FS에서 사용되는 유일한 리소스 오버 헤드는 파일의 블록 또는 파일이있는 디렉토리를 설명하는 것입니다.이 블록은 이미 "."처리를 위해 이미 커밋되어있을 것입니다. 빈 파일을 추가해도 다른 비트의 스토리지는 추가되지 않지만 기존의 소비 및 할당 된 비트 가 변경 됩니다.

저널링 및 사용자와 함께 고급 파일 시스템을 사용하면 메타 데이터, 저널 항목 및 법의학 체인을 통해 이전 파일 버전 등을 복구 할 수 있습니다. 그러면 작은 파일이 사용 된 스토리지에서 폭발 할 수 있습니다.

따라서 FS 유형을 확인하십시오. FAT 인 경우 미디어에 메타 데이터로 기록 된 사용자가 없을 수 있습니다. 따라서 ... 공간이 사용되지 않습니다. :)

FAT FS 의 좋은 는 오픈 소스 구현입니다. 사용 가능한 작업 목록에 "사용자 가져 오기 / 설정"및 "사용자 별 액세스 확인"이 포함되어 있지 않음을 알 수 있습니다. 신원 없음 = 해당 신원을 저장하지 않습니다.


2

위의 마지막 그림에서 볼 수 있듯이 파일이 플래시에서 차지하는 유일한 공간은 내용을위한 공간입니다 [문자]. 따라서 메타 데이터 파일은 어디에 있습니까?

"메타 데이터 파일"은 파일이 포함 된 디렉토리입니다. 기본적으로 디렉토리는 디렉토리의 내용을 설명하는 메타 데이터 모음입니다.

파일을 다른 컴퓨터로 옮길 때 파일 이름, 파일 소유자, 생성 날짜 및 수정 날짜 등을 이해하는 방법은 무엇입니까?

그것은 어떤 크기를 차지하지 않습니까? !!

예, 디렉토리에 있습니다. 대부분의 파일 시스템에서 동일한 파일이 두 개의 다른 디렉토리에 연결된 경우 두 개의 다른 이름을 가질 수 있습니다.

플래시 메모리에서 메타 데이터 파일을 볼 수 있습니까?

파일 시스템이이를 지원하는 경우 디렉토리의 크기를 확인하여 볼 ​​수 있습니다.


2

메타 데이터는 어디에 보관됩니까?

메타 데이터에 관해 이야기 할 때 두 가지 유형의 메타 데이터가 있습니다.

첫 번째 유형에는 생성 날짜, 마지막 수정 날짜, 마지막 액세스 날짜가 포함됩니다. 파일 시스템 (예 : NTFS / FAT / Ext3 등)에 따라 다른 "메타 데이터"(예 : Windows 소유자 및 NTFS에 대한 권한)가 있습니다.

첫 번째 유형은 모든 파일 (예 : .txt 파일)에 적용됩니다.

모든 파일 시스템은 사용자가 직접 액세스 할 수없는 마스터 파일 테이블 (NTF의 경우 NTFS, 다른 파일 시스템의 경우 다른 이름)에 이러한 메타 데이터를 포함하도록 공간을 미리 할당합니다. MFT는 드라이브 용량의 일부로 계산되지 않으므로 "추가"저장 공간이 필요하지 않습니다.

"메타 데이터"의 두 번째 유형은 파일 유형 또는 응용 프로그램에 의해 정의됩니다. 예를 들어, Office 문서는 "저자", "제목"및 기타 메타 데이터를 유지합니다. JPEG 이미지는 "촬영 한 날짜 사진", "카메라 모델", "셔터 속도"를 포함한 EXIF ​​데이터 세트를 유지합니다. MP3 사운드에는 "앨범", "트랙 번호", "비트 전송률"이 포함되어 있습니다 ...

두 번째 유형의 DOES는 "메타 데이터"가 파일의 일부를 구성하기 때문에 추가 공간을 차지합니다.


다른 드라이브에서 다른 크기

텍스트 파일이 C:\있으면 4K를 차지합니다. 플래시 드라이브에 넣으면 크기가 1K가됩니다 H:\. 다른 파티션에 대해 "블록 크기"가 다르기 때문입니다.

파일은 블록 단위로 공간이 할당됩니다. 따라서 블록 크기가 4K 인 파일 시스템에서 1 바이트는 4K로 할당되고 4,097 바이트 (4K + 1 바이트)는 8K로 할당됩니다.

분명히 당신 C:은 4K 블록 크기 H:로 포맷되고 1K 블록 크기로 포맷되어 차이가 발생합니다.


빈 텍스트 파일을 플래시 메모리에 복사하면 메타 데이터도 플래시 메모리로 이동합니다. 이제 리눅스에서 메타 데이터 파일을 볼 수있는 방법이 있습니까? 예를 들어 이진으로.
TheGoodUser

메타 데이터 복사 여부는 수행 방법에 따라 다릅니다. 예를 들어 robocopy타임 스탬프, 속성, 소유자 정보, 액세스 제어 목록 (ACL) 등을 복사할지 여부를 선택할 수 있습니다. 또한 플래시 메모리의 파일 시스템이이를 지원하는지 여부에 따라 다릅니다 (예 : FAT32는 소유자 정보 및 ACL을 유지하지 않습니다) 어쨌든 폐기). 메타 데이터는 파일 형식이 아니므로 원시 데이터를 볼 수 없습니다. 저수준의 것들을보고 싶다면 ddLinux에서 필요할 수 있지만 해석하는 방법은 또 다른 이야기입니다.
Kenneth L
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.