여기서 압축 수준을 설정하는 방법은 무엇입니까?
nice -n 19 tar -czf $out $in
답변1
nice
압축 수준에서는 아무 작업도 수행하지 않습니다. 커널의 프로세스 스케줄링에만 영향을 미칩니다. 아래의 모든 명령은 다른 "좋은" 수준에서 실행하기 위해 접두어가 붙을 수 있습니다. nice
이는 압축 수준에 영향을 주지 않고 작업을 수행하는 데 걸리는 시간에만 영향을 미칩니다(시스템 부하가 심한 경우).
GNU를 사용하는 경우 tar
다음 옵션을 사용하여 압축기를 설정할 수 있습니다.-I
--use-compress-program
$ tar -I "gzip --best" -c -f archive.tar.gz dir
또는
$ tar --use-compress-program="gzip --best" -c -f archive.tar.gz dir
-z
압축기가 명시적으로 설정된 경우에는 이 옵션을 사용하면 안 됩니다.
GNU 매뉴얼에는 압축된 아카이브의 압축을 풀기 위해 이러한 옵션을 사용하는 경우 tar
사용되는 프로그램이 압축 해제 옵션을 지원해야 한다고 명시되어 있으며 실제로 그렇습니다.-d
gzip
내가 아는 한, BSD에서는 tar
유사한 방식으로 압축 수준을 지정하는 것이 불가능합니다.
이를 달성하는 또 다른 방법은 압축되지 않은 아카이브를 만든 다음 원하는 대로 압축하는 것입니다.
$ tar -c -f archive.tar dir
$ gzip --best archive.tar
또는
$ tar -c dir | gzip --best -o archive.tar.gz
하지만다른이를 수행하는 방법은 환경 변수를 GZIP
전달하려는 플래그로 설정하는 것입니다 gzip
.
$ export GZIP='--best'
$ tar -c -z -f archive.tar.gz dir
마지막 몇 가지 대안 은 -I
.--use-compress-program
tar