기본적으로 폴더 구조의 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의 일부입니다.