내 후속 조치로관련 질문,메타데이터 없이 파일을 생성할 수 있나요?아니면 삭제할 수 있어요모든 메타데이터주어진 파일?
이것은 전적으로 "철학적 질문"입니다. 이것이 가능하다면 이전 질문을 고려하면 제한된 공간의 디스크에 "무제한" 수의 파일을 생성하는 것이 가능할 것입니다. 이것은 확실히 시도해 볼 가치가 있는 실험이다.
예를 들어, 3년 된 시스템에 100개의 빈 파일을 생성합니다.
lucho@lucho-HP:~test/$ time seq -f "%04.0f" 100 | xargs -I "{}" touch test"{}".txt
real 0m0.231s
user 0m0.000s
sys 0m0.032s
그래서 1초에 약 400개의 파일을 생성할 수 있습니다. 그래서 8시간 안에(예를 들어 자는 동안) 1,100만 개의 파일을 생성할 수 있습니다. 많지는 않지만 요점을 알 수 있습니다.
답변1
이것정보 이론 답변이전 질문도 다음 질문에 답합니다. 파일을 생성하는 경우 가장 작은 표현으로 축소하고 검색할 수 있기를 원합니다.무엇이에 대해 생성은 일부 디스크 공간을 소비하므로 결국에는 부족해집니다(그러나 할당은 작동합니다). 따라서 제한된 디스크 공간 내에서 파일을 무제한으로 생성할 수는 없습니다.
귀하가 요청한 질문에 답하기 위해 파일 시스템이 파일 메타데이터를 제거하는 것을 허용하지 않는다는 것을 알고 있지만 원하는 메타데이터를 무시하기 위해 자체 파일 시스템을 작성하는 것을 막을 수 있는 방법은 없습니다. 적어도 파일 이름과 일부 이름은 필요하다고 생각합니다. 디스크의 파일 내용 추적 방법(파일 시스템이 빈 파일만 저장할 수 있는 경우 후자가 아닐 수도 있음)
답변2
하나의 문서~ 해야 하다사용하는 디스크의 첫 번째 블록에 대한 위치가 하나 이상 있습니다. 연결된 파일 시스템에 따라 차지하는 디스크 공간에 관계없이 생성할 수 있는 파일 수가 제한됩니다. 대부분의 파일 시스템에는 포함할 수 있는 파일 수에 제한이 있습니다(즉, "디렉토리"의 항목 수가 제한되어 있습니다).
POSIX 사양에서는 파일 시스템의 각 파일을 설명하기 위해 파일 시스템에 inode가 있어야 합니다.~ 해야 하다가지다:
- 파일 크기
- 파일이 포함된 장치의 식별자
- 파일 소유자의 UID
- 파일의 GID
- 파일 권한 집합
- 추가 시스템 및 사용자 플래그(예: ACL)
- 타임스탬프(예: ctime, mtime, atime)
- inode에 대한 하드 링크 수
- 파일 내용이 저장되는 디스크 블록에 대한 포인터
이 데이터는 공간을 소비하므로 실제 파일이 아무리 작더라도 저장할 수 있는 파일 수가 제한됩니다.