tar 명령을 사용하여 압축하지 않고 파일을 그룹화하려면 어떻게해야합니까?


60

120,000 개 이상의 파일이있는 매우 큰 폴더가 있습니다. 같은 컴퓨터의 다른 위치 (같은 파티션)로 옮겨야합니다.

tar명령 을 사용하여 단일 단위로 그룹화 한 다음 mv최종 위치로 묶고 싶습니다 .

어떤 명령을 tar함께 실행해야하며 압축하지 않아야합니다 (가장 빠른 결과가 필요합니다).


1
mv (1) 파일뿐만 아니라 tar를 사용하는 이유는 무엇입니까? 또는 원본을 잃고 싶지 않은 경우 cp (1)을 사용 하시겠습니까?
vonbrand

@vonbrand는 하나의 연속 파일을 네트워크를 통해 rsync하고 싶을 수도 있습니다. 120k 더 작은 파일을 재 동기화하는 것보다 훨씬 빠릅니다. 그것은 최고 속도와 최저 속도의 일정한 최고 속도의 차이입니다
mwm

답변:


85

tar 기본적으로 압축하지 않고 압축 옵션을 추가하지 마십시오.

tar cvf myfolder.tar myfolder

유용한 정보를 추가하므로 Hennes의 의견을 답변에 포함 시킵니다 .

TAR (테이프 아카이브)은 원래 테이프에 아카이브를 작성하는 데 사용되는 유닉스 프로그램입니다. 모든 장치는 유닉스에서 파일로 취급되므로 테이프에 쓰지 않고 대신 파일에 쓰는 것이 쉽습니다. 이것은 일반적으로 -f 플래그로 수행됩니다. 명령 타르 CVF의 myfolder.tar MyFolder에 타르 수단 의 C reate, V ERBOSE의 F 는 ILE filename_to_create의 what_to_tar한다. 여기에는 압축이 없습니다. 압축 프로그램을 사용하여 압축하고 .Z 확장자 (예 : file.tar.Z)를 얻은 Tar 아카이브 (파일)입니다. 나중에 이것은 z 플래그와 함께 gtar에 포함되었습니다.


타르에 모든 하위 폴더와 파일을 재귀 적으로 추가합니까?
sergserg

2
@ Serg 예, 그렇습니다.
terdon

1
감사. 나는 보통 짧은 형식과 긴 형식으로 대답하려고합니다. "그렇다 / 아니요"에서와 같이 짧은 것에는 효과가 없으며, 왜 더 긴 대답인지에 대한 설명입니다. 미래에 자주 도움이되는 배경 지식
Hennes

@Serg 항상 매뉴얼이나 지침이 너무 좋기 때문에 내용을 즉시 읽을 수 있도록하는 것은 아니지만 때로는 최선의 방법은 어쨌든 명령을 시도하는 것입니다. 그리고 그것이 무엇인지 알거나 좋은 아이디어가 있다면 매뉴얼은 그것을 당신에게 확인할 수 있습니다! 작은 예제 파일 집합에서 tar를 쉽게 테스트 할 수 있습니다. 매뉴얼의 머리 나 꼬리를 만들지 않고도 사용 방법에 대한 예제가 있습니다.
barlop

가장 빠른 결과를 원하면 출력을 끄려면 "v"플래그를 생략해야합니다. 필자의 경우 AWS t2.medium 인스턴스에서 실행할 때 명령 시간이 16 초에서 6 초로 줄었습니다.
David Backeus

6

@terdon 답변이 옳습니다.

그러나 나는 작은 실수를했다 tar cvf myfolder.tar.gz myfolder. tar.gz압축되지 않은 경우에도 동일한 경로의 파일에 대해 동일한 끝 이름을 원 했습니다.

따라서 .gz, .ztar하려고하는 파일 이름 끝에 무언가를 넣으면 tar 앱이 압축을 사용하려는 것으로 이해하고 넣은 내용에 따라 적용됩니다 (gz = gzip).

따라서 이와 같은 확장 tar.gz을 사용하려면 플래그를 사용해야합니다--no-auto-compress

--no-auto-compress    do not use archive suffix to determine the compression 
program
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.