파일 이름은 저장하지만 파일 내용은 저장하지 않는 tar 파일 만들기

파일 이름은 저장하지만 파일 내용은 저장하지 않는 tar 파일 만들기

기본적으로 폴더 구조의 tar 이미지를 만들고 싶지만 실제 파일 내용은 저장하지 않습니다. 따라서 파일의 압축을 풀 때 원본 폴더, 파일 이름, 타임스탬프 등을 얻고 싶지만 원본 파일 내용 대신 길이가 0인 모든 파일을 얻고 싶습니다.

여기서의 의도는 수 기가바이트 크기의 tar 파일을 생성하지 않고 거대한 폴더(기가바이트 크기)의 폴더 구조를 캡처하는 것입니다.

미리 감사드립니다.

답변1

당신의 cp경우충분히 강력하다, 다음과 같이 할 수 있습니다.

cp -a --attributes-only olddir newdir

newdir(아직) 존재하지 않고 --attributes-only의미하는 곳

원본 파일의 지정된 속성만 대상에 복사합니다. […]

데이터는 복사되지 않습니다. 일반 파일의 newdir크기는 0입니다. 모든 속성(예: 소유권)을 복제하려면 루트여야 하므로 sudo cp …. 대신에 -a더 구체적인 옵션을 사용하여 실제로 필요한 속성만 복제할 수 있습니다.

newdir어쨌든 빈 파일을 포함하는 tar파일을 만든 후에는 olddir.

답변2

star18년부터 이것을 지원합니다.... 시도해 보세요:

star -c -dump -meta ... | star -tv

이것은 모든 항목을 'm'eta 유형 파일로 나열합니다...

star -c -dump -meta ... | star -C todir -xmeta

모든 파일을 0바이트 크기의 파일로 추출합니다.

star -c -dump -meta ... | star -C todir -xmeta -force-hole

모든 파일을 데이터가 없는 원래 크기의 파일(스파스 파일)로 추출합니다.

starschilytools의 일부입니다.

관련 정보