LZ4는 압축/압축 해제 속도가 매우 빠른 것이 특징인 압축 형식입니다(압축 속도가 gzip만큼 좋지 않음). 현재 환경에서는 CPU 리소스가 부족하므로 이 형식을 고려해 볼 수 있습니다. lz4는 바이트 정렬 LZ77 시리즈 압축 방식을 기반으로 하는 매우 빠른 무손실 압축 알고리즘입니다. lz4는 코어당 400MB/s의 압축 속도를 제공하며, 이는 멀티 코어 CPU에 따라 선형적으로 확장됩니다. 코어당 최대 수 GB/s의 속도를 갖춘 매우 빠른 디코더를 갖추고 있으며 종종 멀티 코어 시스템의 RAM 속도 제한에 도달합니다. lz4는 위에서 언급한 lz77 이데올로기 이론을 따르고 슬라이딩 윈도우, 해시 테이블, 데이터 인코딩 및 기타 작업을 통해 데이터 압축을 달성합니다. 압축 프로세스에서는 일치하는 항목을 찾기 위한 스캐닝 창으로 최소 4바이트를 사용하고, 스캐닝을 위해 매번 1바이트씩 이동하며, 중복 항목이 발견되면 압축합니다. Centos7에는 lz4 형식 파일을 압축 및 압축 해제할 수 있는 lz4 명령이 기본적으로 설치되어 있습니다.
lz4 명령어 설치 버전은 1.7.5
[root@s76 ~]# lz4 -V
*** LZ4 명령어 인터페이스 64비트입니다. v1.7.5, 작성자: Yann Collet ***
일상적으로 사용하는 lz4 명령 구문 형식을 잊어버린 경우 lz4 --help 또는 man을 통해 lz4 명령의 도움말 정보를 얻을 수 있습니다. lz4 명령.
[root@s76 ~]# lz4 --help
[root@s76 ~]# man lz4
centos7에는 lz4 명령이 기본적으로 설치되어 있습니다. yum 설치 방법을 사용하여 명령을 설치하십시오.
[root@s76 ~]# yum install -y lz4 lz4-devel
[root@s76 ~]# lz4 anaconda-ks.cfg test.lz4
압축 2927바이트 1825바이트로 ==> 62.35%
여러 파일을 압축하려면 -m 매개변수를 사용하세요. 압축된 파일 이름은 소스 파일에 lz4 접미사를 더한 것입니다. lz4 명령은 단일 파일만 압축할 수 있습니다. 여러 파일을 하나의 파일로 압축해야 하는 경우 lz4 및 tar 명령을 함께 사용해야 합니다.
[root@s76 ~]# lz4 -m anaconda-ks.cfg original-ks.cfg
[root@s76 ~]# ll
total 16
-rw-------. 1 루트 루트 2927 2월 8일 15:19 anaconda-ks.cfg
-rw------.1 루트 루트 1825 2월 8일 15:19 anaconda-ks.cfg.lz4
-rw------. 루트 2045 2월 8일 15:19 원본-ks.cfg
-rw------.1 루트 루트 1216 2월 8일 15:19 원본-ks.cfg.lz4
[root@s76 ~]# tar -cvf anaconda-ks.cfg original-ks.cfg |lz4 - 2.tar.lz4
16바이트를 35바이트로 압축 ==> 218.75%
lz4는 필요한 경우에만 파일을 압축할 수 있습니다. 압축 디렉토리 tar 명령과 결합해야 합니다.
[root@s76 ~]# tar cvf - test | lz4 - 1.tar.lz4
test/
test/1.tar
20480바이트를 325바이트로 압축 ==> 7. 압축 후 원본 파일 삭제
[root@s76 ~]# lz4 --rm hi.txt hi.txt.lz45바이트를 24바이트로 압축 ==> 480.00%
[root@s76 ~] # ll-rw------.1 루트 루트 10240 Feb 12 20:40 anaconda- ks .cfghi.txt.lz4 : 5바이트 디코딩-rw-r–r–. 1 루트 루트 2월 12일 21:01 hi.txt.lz4
디코딩 파일 hi. txt
-rw------.1 루트 루트 2045 2월 8일 15:19 원본-ks. cfg
drwxr-xr-x.2 루트 루트 19 Feb 12 20:38 test
8. lz4 파일 압축 해제
[root@s76 ~]# lz4 -d hi.txt.lz4
-rw-r–r–. 1 루트 루트 325 2월 12일 20:57 1.tar.lz4hi.txt를 디코딩합니다. lz4 : 디코딩된 5바이트-rw- -- ----. 1개 루트 루트 10240 2월 12일 20:40 anaconda-ks.cfg
hi.txt
-rw-r–r–. 1개 루트 루트 5 2월 12일 21:01 hi.txt
-rw-r–r– . 1 루트 루트 2월 12일 21:01 hi.txt.lz4
-rw------. 1 루트 루트 2045 2월 8일 15:19 원본-ks.cfg
drwxr-xr-x. 19 2월 12일 20:38 test
9. 압축파일
[root@s76 ~]# lz4 --rm -d hi.txt.lz4
-rw-r–r–. 1 루트 루트 325 Feb 12 20:57 1.tar.lz411 파일을 압축하여 덮어씁니다-rw------ . 1개의 루트 루트 10240 2월 12일 20:40 anaconda-ks.cfg
5바이트를 24바이트로 압축 ==> 480.00%
-rw-r–r–. 1개의 루트 루트 2월 12일 21:01 hi.txt
-rw------. 2045 2월 8일 15:19 원본-ks.cfg
drwxr-xr-x.2 루트 루트 19 2월 12일 20:38 test
10. 높은 압축률 압축
[root@s76 ~]# lz4 -9 hi.txt hi.txt.lz4
24바이트를 43바이트로 압축 ==>[root@s76 ~]# lz4 -f hi.txt.lz4 hi. txthi.txt가 이미 존재합니다. 덮어쓰시겠습니까(y/N) y
[root@s76 ~]# lz4 hi.txt.lz4 hi.txt
[root@s76 ~]# cat hi.txt
hi,wuhs
[root@s76 ~]# lz4 -dc hi.txt.lz4
hi,wuhs
22G 파일을 압축해제하는데 5분 18초가 걸리며, 압축해제 크기는 45G입니다.
#lz4 [arg] [input] [output]
parameter 설명 | |
---|---|
빠른 압축(기본값) | |
고압축 | |
압축해제(기본값 .lz4 확장자) | |
포스 압축 | |
프롬프트 없이 출력 덮어쓰기 | |
소스 파일 유지(기본값) | |
압축 해제/압축 성공 후 소스 파일 삭제 | |
도움말/긴 도움말 표시 및 종료 | |
버전 번호 표시 및 종료 | |
자세한 모드 | |
경고 취소 ;두 번 지정하여 오류도 취소하세요 | |
콘솔인 경우에도 표준 출력에 강제로 쓰기 | |
압축 파일 무결성 테스트 | |
다중 입력 파일(자동 출력을 나타냄) 파일 이름) | |
디렉터리에서 재귀적으로 작동합니다(-m으로도 설정됨) | |
이전 형식 압축 사용(Linux 커널 압축) |
위 내용은 Linux 명령 lz4 명령을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!