2012-09-17 4 views
1

그래서 저는 16 진수 편집기를 열고 몇 가지 작업을하는 것처럼 파일을 가지고 놀고있었습니다. 그리고 나는 한 가지를 발견했습니다 ... 파일에 저장된 데이터에 액세스 할 수 있지만 파일 속성, 타임 스탬프 및 다른 것들과 같은 메타 데이터는 어디에 저장됩니까?메타 데이터는 어디에 있습니까?

확실히 파일 내에 저장되지 않지만 어디에 있습니까? HardDrive 파일 시스템의 어딘가에 저장되어 있습니까? 나는 또한 NTFS 파일 시스템에 dos 명령 cacls (또는 icacls)를 사용할 수 있지만 FAT32와 같은 파일 시스템을 지원하지 않는 NTFS 파일 시스템도 권한을 저장할 수 있다는 것을 알아 냈습니다. 하드 드라이브에 있다면 linux (나는 맞습니까?)를 사용하여 메타 데이터 (숨겨진 파일 속성, 아카이브 등)를 변경할 수 있습니까?

제발 누군가가이 주제에 대한 올바른 정보를 찾을 수있는 곳을 설명하거나 말해 줄 수 있습니까?

+0

이 질문은 C++과 어떤 관련이 있습니까? – asgs

+0

내가 C++에서 이것을 수행하고 있기 때문에 –

+0

당신은 그 질문에서 C++에 관해 언급하지 않았다. 지금까지 C++에서 해왔 던 것을 솔루션에 접근하기 위해 더 많이 알려주십시오. 그렇지 않으면 주제가 약간 벗어난 것처럼 보입니다. – asgs

답변

2

메타 데이터는 파일 데이터와 별도로 저장됩니다. 일반적으로 inode 구조체에 있지만 파일 시스템에 따라 다릅니다. 리눅스에서는 함수 chmod (2), chown (2) 등을 통해 제공되는 API를 통해 메타 데이터로 작업합니다. 괄호 안의 숫자는 섹션 번호이며, 사람 명령 인 man -s2 chown에 대해 읽었습니다. 명령 줄에서 리눅스는 비슷한 이름의 명령을 가지고 있습니다 (chmod, chown, touch 등).

0

예, 파일 시스템 자체는 디스크에 메타 데이터를 저장하기위한 추가 공간을 할당합니다. 모든 운영 체제는 파일의 메타 데이터 (타임 스탬프, 속성, 이름 등)를 변경할 수있는 API를 제공합니다.

및 파티션이나 하드 디스크 (예 : "\. \ C :")에 적절한 장치 파일을 열어 읽고 쓸 수 있습니다. 파일 시스템의 세부 사항을 알면 디스크의 특정 파일에 대한 메타 데이터 위치를 파악할 수 있습니다.

관련 문제