2017-03-28 18 views
0

아래 디렉토리에 파일이 있습니다.리눅스에서 여러 파일을 하나로 압축하고 압축하여 소스 파일을 제거하는 방법은 무엇입니까?

file001 
file002 
. 
. 
file009 

나는 하나로 압축하고 원본/소스 파일 (file001 .. file009)를 제거 할 필요가 그래서 디스크 공간을 확보 할 수 있습니다. 이

tar -cvf file00.tar file00* 

그런 다음 하나의 명령을 사용하여 명령 이전에 내가 보관 및 압축했다

xz file00.tar 

이하로 사용하여 아카이브 된 파일을 압축 명령 아래 사용하여 하나에 모든 파일을 아카이브 :

내가 무슨 짓을

tar -cJvf file00.tar.xz file00* 

,733,210는 400메가바이트 이하로 압축 된 10 기가 바이트 파일을 좋은 일을하고있다하지만 이러한 방법 몇 가지 문제가 있습니다

  1. 올드/소스 파일
  2. XZ 엄청난 시간이 걸립니다 제거되지 않습니다

내 질문 : 거기에 내가 보관할 수있는 하나의 명령으로 또한 소스 파일을 제거 할거야 여러 파일을 압축하는 방법은 무엇입니까? xz처럼 효율적이지만 더 빨리 작동하는 다른 압축 도구가 있습니까?

다른 사이트에서 xz 프로세스를 향상시키기 위해 여러 개의 코어/스레드를 사용할 수 있지만 직접 시도하지는 않았습니다.

미리 감사드립니다. 당신은 xz 도구 (또는 XZ의 pxz 병렬 변형))의 병렬 변종 인 pixz을 시도 할 수

+0

'xz '도구의 병렬 변형 인''pixz' (https://github.com/vasi/pixz)를 시도 할 수 있습니다 (xz의'pxz' 병렬 변종도 있습니다) :'tar -Ipixz -cf foo.tpxz foo /'(비표준 압축기를 선택하려면 tar의'-I compressor '옵션이 있습니다). – osgx

+0

zstdmt를 시도 할 수 있습니다. 압축률이 높은 4 개의 코어의 경우 다음과 같이 표시됩니다.'tar -cvf - file00 * | zstdmt -19 -T4> file00.tar.zst' – Cyan

답변

3

:

tar -Ipixz -cf foo.tpxz foo/` 

이 표준이 아닌 압축기를 선택하는 타르의 -I compressor 옵션이며,이 전에해야 f 옵션으로 f 옵션에는 문자열 인수가 필요합니다.

그리고 삭제

는 GNU 타르 https://www.gnu.org/software/tar/manual/html_node/remove-files.html

섹션을 참조하십시오

파일

제거 (이 섹션 ??은 "--extract에서 사용하는 4.4 옵션"에 이유) 너무 간결하다의 옵션이 있습니다 . 추가 할 것이 더 있습니까? 예를 들면, 어쩌면?

--remove-files

아카이브에 추가 한 후 파일을 제거합니다.pixz의 설치 후 (두 옵션을 결합 그래서

tar --remove-files -cvfj archive.tar.bz2 archive/ 

;이 여전히 : 다시 -f 옵션 이전에 사용

나는 그것을 테스트하지 못했지만,이 https://serverfault.com/questions/283355/correct-way-of-using-the-remove-files-option-with-tar (및 https://superuser.com/questions/96860)에 상장되었습니다) 고전 xz 도구를 열 수 있습니다, 너무 archive.tar.xz로 이름을 바꿀 수 있습니다 :

tar -Ipixz --remove-files -cJvf file00.tpxz file00* 

또는을 함께 6,352,733,210 :

tar -Ixz --remove-files -cJvf file00.tar.xz file00* 

PS는 : pigz (GZIP 형식), 및 pbzip2 lbzip2 (bzip2의 형식, 및 XZ GZIP보다 컴팩트 느린) 기타 병렬 압축기있다. lz4/lz5 또는 페이스 북의 zstd과 같은 빠른 압축기도 있습니다. 그리고 압축을 위해 여러 스레드를 사용할 수 있고 장거리 데이터 반복을 찾을 수있는 lrzip이 있습니다. 그런 다음 lzma (by default, xz와 같은 방법) 또는 고전 gz 또는 더 빠른 LZO 또는 매우 느리고 효과적인 ZPAQ를 사용하여 압축 할 수 있습니다.