
기본적으로 폴더 구조의 tar 이미지를 만들고 싶지만 실제 파일 내용은 저장하지 않습니다. 따라서 파일의 압축을 풀 때 원본 폴더, 파일 이름, 타임스탬프 등을 얻고 싶지만 원본 파일 내용 대신 길이가 0인 모든 파일을 얻고 싶습니다.
여기서의 의도는 수 기가바이트 크기의 tar 파일을 생성하지 않고 거대한 폴더(기가바이트 크기)의 폴더 구조를 캡처하는 것입니다.
미리 감사드립니다.
답변1
당신의 cp
경우충분히 강력하다, 다음과 같이 할 수 있습니다.
cp -a --attributes-only olddir newdir
newdir
(아직) 존재하지 않고 --attributes-only
의미하는 곳
원본 파일의 지정된 속성만 대상에 복사합니다. […]
데이터는 복사되지 않습니다. 일반 파일의 newdir
크기는 0입니다. 모든 속성(예: 소유권)을 복제하려면 루트여야 하므로 sudo cp …
. 대신에 -a
더 구체적인 옵션을 사용하여 실제로 필요한 속성만 복제할 수 있습니다.
newdir
어쨌든 빈 파일을 포함하는 tar
파일을 만든 후에는 olddir
.
답변2
star
18년부터 이것을 지원합니다.... 시도해 보세요:
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
모든 파일을 데이터가 없는 원래 크기의 파일(스파스 파일)로 추출합니다.
star
schilytools의 일부입니다.