때때로 디렉토리가 ZIP 파일에 명시적으로 나열되는 이유는 무엇입니까?

때때로 디렉토리가 ZIP 파일에 명시적으로 나열되는 이유는 무엇입니까?

ZIP 파일을 추출하는 애플리케이션을 구축하는 동안 ZIP 파일에 디렉토리 항목이 명시적으로 포함되는 경우도 있고 그렇지 않은 경우도 있다는 사실을 발견했습니다. 예를 들어, 다음과 같은 구조가 주어지면

folder1/
└── file1

다음을 통해 내용을 나열할 때 다음과 같이 다른 출력을 제공하는 파일을 찾았습니다 unzip -lv file.zip.

 Length   Method    Size  Cmpr    Date    Time   CRC-32   Name
--------  ------  ------- ---- ---------- ----- --------  ----
       5  Stored        5   0% 2023-04-20 13:54 3bb935c6  folder1/file1
--------          -------  ---                            -------
       5                5   0%                            1 file
 Length   Method    Size  Cmpr    Date    Time   CRC-32   Name
--------  ------  ------- ---- ---------- ----- --------  ----
       0  Stored        0   0% 2023-04-20 13:54 00000000  folder1/
       5  Stored        5   0% 2023-04-20 13:54 3bb935c6  folder1/file1
--------          -------  ---                            -------
       5                5   0%                            2 files

두 번째 폴더에 명시적으로 지정된 폴더를 기록해 두세요.

여기서의 기준은 무엇입니까? 프로그램은 일반적으로 이 문제를 처리하는 방법에 대해 가정을 합니까? 둘 중 하나에 장점이 있나요?

답변1

기준이는 지정되지 않았지만 일반적으로 디렉터리 메타데이터도 저장할 수 있도록 디렉터리를 별도의 항목으로 저장하는 것입니다.

ZIP 파일 이후아니요개별 디렉토리 항목은 유효하며 프로그램은 어떤 방식으로든 이에 대해 가정을 해서는 안 됩니다.

(Info-Zip을 사용하는 경우 zip-D플래그는 저장소 디렉터리 항목을 건너뜁니다.)

관련 정보