>운영 및 유지보수 >리눅스 운영 및 유지 관리 >Linux gzip 압축 명령을 사용하는 방법

Linux gzip 압축 명령을 사용하는 방법

WBOY
WBOY앞으로
2023-06-02 12:17:003584검색

Linux에서 gzip 명령은 파일을 압축하고 압축을 푸는 데 사용됩니다. 이 명령으로 압축된 새 파일은 일반적으로 ".gz"로 표시되는 확장자를 가지며 구문은 "gzip [옵션] 소스 파일"입니다. 압축 작업 중에는 구문에서 일반 파일을 소스 파일이라고 하고, 압축 해제 작업에서는 압축 파일을 소스 파일이라고 합니다. 디렉토리가 지정되더라도 gzip 명령은 전체 디렉토리가 아닌 디렉토리에 있는 모든 파일만 압축할 수 있습니다.

gzip은 Linux 시스템에서 파일을 압축 및 압축 해제하는 데 자주 사용되는 명령입니다. 이 명령으로 압축된 새 파일의 확장자는 일반적으로 ".gz"로 표시됩니다.

gzip 명령은 디렉터리가 아닌 압축 파일에서만 작동한다는 점에 유의하세요. 디렉터리를 지정하더라도 해당 디렉터리에 있는 모든 파일만 압축됩니다.

gzip 명령의 기본 형식은 다음과 같습니다.

[root@localhost ~]# gzip [选项] 源文件

명령의 소스 파일은 압축 작업을 수행할 때 일반 파일을 참조하고, 압축 해제 작업을 수행할 때는 압축 파일을 참조합니다. 이 명령의 일반적으로 사용되는 옵션과 의미는 표 1에 나와 있습니다.

【예제 1】기본 압축gzip 압축 명령은 매우 간단합니다. 압축 후 압축 패키지 이름을 지정할 필요도 없이 소스 파일 이름만 지정하면 됩니다. 시도해 봅시다:
[root@localhost ~]# gzip install.log
#压缩instal.log 文件
[root@localhost ~]# ls
anaconda-ks.cfg install.log.gz install.log.syslog
#压缩文件生成,但是源文件也消失了
【예 2】소스 파일 압축 유지
표 1 gzip 명령의 일반적인 옵션 및 의미
옵션 의미
-c 압축된 데이터를 표준 출력으로 출력하고 소스 파일을 보관합니다.
-d 압축 파일의 압축을 풉니다.
-r 지정된 디렉터리와 하위 디렉터리의 모든 파일을 반복적으로 압축합니다.
-v 압축 및 압축 해제된 각 파일에 대해 해당 파일 이름과 압축 비율이 표시됩니다.
-l 각 압축 파일에 대해 다음 필드가 표시됩니다.
  • 압축된 파일의 크기

  • 압축 비율; 압축 파일은 이름.

  • - 숫자

    는 압축 수준을 지정하는 데 사용됩니다. -1은 압축 수준이 가장 낮고 압축 비율이 가장 낮으면 -9가 가장 높은 압축 비율을 갖습니다. 기본 압축 비율은 -6입니다.

gzip 명령을 사용하여 파일을 압축하면 소스 파일이 삭제되고 압축 파일이 생성됩니다. 이때 강박장애를 겪는 분들이 계시는데, 저자에게 '파일을 압축할 때 소스파일이 사라지는 것을 방지할 수 있나요? 네, 가능합니다. 하지만 매우 어색합니다.

<pre class="brush:js;toolbar:false">[root@localhost ~]# gzip -c anaconda-ks.cfg &gt;anaconda-ks.cfg.gz #使用-c选项,但是不让压缩数据输出到屏幕上,而是重定向到压缩文件中,这样可以缩文件的同时不删除源文件 [root@localhost ~]# ls anaconda-ks.cfg anaconda-ks.cfg.gz install.log.gz install.log.syslog #可以看到压缩文件和源文件都存在</pre><p>【예 3】 압축 디렉터리 </p>

우리는 gzip 명령이 디렉터리를 압축할 수 있다는 것을 당연하게 여길 수 있습니다. 시도해 봅시다:

<pre class="brush:js;toolbar:false">[root@localhost ~]# mkdir test [root@localhost ~]# touch test/test1 [root@localhost ~]# touch test/test2 [root@localhost ~]# touch test/test3 #建立测试目录,并在里面建立几个测试文件 [root@localhost ~]# gzip -r test/ #压缩目录,并没有报错 [root@localhost ~]# ls anaconda-ks.cfg anaconda-ks.cfg.gz install.log.gz install.log.syslog test #但是查看发现test目录依然存在,并没有变为压缩文件 [root@localhost ~]# ls test/ testl .gz test2.gz test3.gz #原来gzip命令不会打包目录,而是把目录下所有的子文件分别压缩</pre><p>Linux에서는 패키징과 압축이 별도로 처리됩니다. gzip 명령은 패키지가 아닌 압축만 가능하므로 패키징 디렉터리는 없고 디렉터리에 있는 파일만 압축되는 상황이 발생하게 됩니다. </p>

사례 데모:

<p>압축 파일</p>

 [root@localhost ~]# ls //显示当前目录文件
 a.c b.h d.cpp
 [root@localhost ~]# gzip * //压缩目录下的所有文件
 [root@localhost ~]# ls //显示当前目录文件
 a.c.gz    b.h.gz    d.cpp.gz
 [root@localhost ~]#

예 1에서 계속해서 자세한 정보 나열

gzip -dv * //解压文件,并列出详细信息

예제 1에 이어 압축 파일 정보 표시<p><pre class="brush:js;toolbar:false">gzip -l *</pre></p>

위 내용은 Linux gzip 압축 명령을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제