찾다
php教程PHP开发일반적인 Linux 명령---tar | zip(압축 풀기)

파일 크기를 줄이면 두 가지 분명한 이점이 있습니다. 하나는 저장 공간을 줄일 수 있다는 것이고, 다른 하나는 네트워크를 통해 파일을 전송할 때 전송 시간을 줄일 수 있다는 것입니다. gzip은 Linux 시스템에서 파일을 압축하고 압축을 풀기 위해 일반적으로 사용되는 명령으로 편리하고 사용하기 쉽습니다. Gzip은 디스크 공간을 절약하기 위해 크고 거의 사용되지 않는 파일을 압축하는 데 사용할 수 있을 뿐만 아니라 tar 명령과 함께 사용하여 Linux 운영 체제에서 널리 사용되는 압축 파일 형식을 형성할 수도 있습니다. 통계에 따르면 gzip 명령의 텍스트 파일 압축률은 60%~70%입니다.

1.zip

zip -r myfile.zip ./*
현재 디렉터리의 모든 파일과 폴더를 myfile.zip 파일로 압축합니다. r은 하위 디렉터리의 모든 파일을 재귀적으로 압축한다는 의미입니다.

zip -d myfile.zip smart.txt

압축 파일에서 smart.txt 파일을 삭제합니다


zip -m myfile.zip ./rpm_info.txt

압축 파일의 myfile.zip에 rpm_info.txt 파일을 추가하세요.

zip -r filename.zip filesdir

이 예에서 filename.zip은 생성한 파일을 나타내고, filesdir은 새 zip 파일을 저장할 디렉터리를 나타냅니다. -r 옵션은 filesdir 디렉토리에 포함된 모든 파일을 반복적으로 포함하도록 지정합니다.

zip -r filename.zip file1 file2 file3 /usr/work/school

위 명령은 file1, file2, file3 및 /usr/work/school을 넣습니다. 디렉토리의 내용(존재한다고 가정)은 압축되어 filename.zip에 저장됩니다.

2. unzip

unzip -o -d /home/sunny myfile.zip

myfile.zip 파일을 /에 추출합니다. home/sunny/

-o: 메시지를 표시하지 않고 파일을 덮어씁니다.
-d:-d /home/sunny는 파일을 /home/sunny 디렉터리에 압축 해제하도록 지정합니다.

unzip abc?.zip

현재 디렉터리에 abc1.zip, abc2.zip 및 abc3.zip이 있는데 함께 압축을 풀고 싶습니다.

? *가 임의 개수의 문자를 나타내는 데 사용되는 경우.

unzip -v Large.zip

큰 압축 파일인 Large.zip이 있는데 압축을 풀고 싶지는 않고 파일 내용만 보고 싶을 뿐입니다. it

unzip -t Large.zip

압축파일이 제대로 다운로드 되었는지 확인

unzip -j music .zip

-v 옵션을 사용해보니 music.zip 압축 파일에 여러 디렉터리와 하위 디렉터리가 있는 것을 발견했는데, 그 하위 디렉터리가 실제로는 노래 mp3 파일들입니다. 계층별로 디렉터리 생성

3. tar

우리는 Windows에서 가장 일반적인 압축 파일이 두 개뿐이라는 것을 알고 있습니다. 하나는 ,zip이고 다른 하나는 .rap입니다. 하지만 Linux는 다릅니다. .gz, .tar.gz, tgz, bz2, .Z, .tar 등과 같은 압축 파일 이름이 많이 있습니다. 또한 Windows의 .zip 및 .rar도 Linux에서 사용할 수 있습니다. tar 자체에는 압축 기능이 없습니다. 압축 함수를 호출하여 구현됩니다.

필요한 매개변수는 다음과 같습니다.

-A 기존 압축에 새 압축 파일을 추가합니다.

-B 블록 크기를 설정합니다.

-c 새 압축 파일 만들기

-d 파일 간의 차이점 기록

-r 이미 압축된 파일에 파일 추가

-u 변경 내용 추가 및 기존 파일 일부 파일을 기존 압축 파일로

-x 압축 파일에서 파일 추출

-t 압축 파일 내용 표시

-z gzip 압축 해제 파일 지원

-j bzip2 압축 해제 파일 지원

-Z 압축 압축 해제 파일 지원

-v 동작 과정을 표시

-l 파일 시스템 경계 설정

-k 원본 파일을 덮어쓰지 않고 유지

-m 파일을 덮어쓰지 않고 유지

-W 압축 파일의 정확성 확인

예 1: 모든 파일을 tar 패키지로 압축

명령:

출력:
tar -cvf log.tar log2012.log

tar -zcvf log.tar.gz log2012.log

tar -jcvf log.tar.bz2 log2012.log

지침:
[root@localhost test]# ls -al log2012.log

---xrw-r-- 1 root root 302108 11-13 06:03 log2012.log

[root@localhost test]# tar -cvf log.tar log2012.log 

log2012.log

[root@localhost test]# tar -zcvf log.tar.gz log2012.log

log2012.log

[root@localhost test]# tar -jcvf log.tar.bz2 log2012.log 

log2012.log

[root@localhost test]# ls -al *.tar*

-rw-r--r-- 1 root root 307200 11-29 17:54 log.tar

-rw-r--r-- 1 root root   1413 11-29 17:55 log.tar.bz2

-rw-r--r-- 1 root root   1413 11-29 17:54 log.tar.gz

tar -cvf log.tar log2012.log는 압축되지 않고 패키지화되어 있습니다!

tar -zcvf log.tar.gz log2012.log 패키징 후 gzip으로 압축

tar -jcvf log.tar.bz2 log2012.log 패키징 후 bzip2로 압축

매개변수 f 다음의 파일 이름은 직접 선택하며, 식별용으로 .tar를 사용하는 데 익숙합니다. z 매개변수가 추가되면 .tar.gz 또는 .tgz는 gzip 압축 tar 패키지를 나타내고, j 매개변수가 추가되면 .tar.bz2가 tar 패키지 이름으로 사용됩니다.

예시 2: 위 tar 패키지에 어떤 파일이 있는지 확인

명령:

tar -ztvf log.tar.gz

输出:

[root@localhost test]# tar -ztvf log.tar.gz

---xrw-r-- root/root    302108 2012-11-13 06:03:25 log2012.log

说明:

由于我们使用 gzip 压缩的log.tar.gz,所以要查阅log.tar.gz包内的文件时,就得要加上 z 这个参数了。

 

实例3:将tar 包解压缩

命令:

tar -zxvf /opt/soft/test/log.tar.gz

输出:

[root@localhost test3]# ll

总计 0[root@localhost test3]# tar -zxvf /opt/soft/test/log.tar.gz

log2012.log

[root@localhost test3]# ls

log2012.log

[root@localhost test3]#

说明:

在预设的情况下,我们可以将压缩档在任何地方解开的

 

实例4:只将 /tar 内的 部分文件解压出来

命令:

tar -zxvf /opt/soft/test/log30.tar.gz log2013.log

输出:

[root@localhost test]# tar -zcvf log30.tar.gz log2012.log log2013.log 

log2012.log

log2013.log

[root@localhost test]# ls -al log30.tar.gz 

-rw-r--r-- 1 root root 1512 11-30 08:19 log30.tar.gz

[root@localhost test]# tar -zxvf log30.tar.gz log2013.log

log2013.log

[root@localhost test]# ll

-rw-r--r-- 1 root root   1512 11-30 08:19 log30.tar.gz

[root@localhost test]# cd test3

[root@localhost test3]# tar -zxvf /opt/soft/test/log30.tar.gz log2013.log

log2013.log

[root@localhost test3]# ll

总计 4

-rw-r--r-- 1 root root 61 11-13 06:03 log2013.log

[root@localhost test3]#

说明:

我可以透过 tar -ztvf 来查阅 tar 包内的文件名称,如果单只要一个文件,就可以透过这个方式来解压部分文件!

实例5:文件备份下来,并且保存其权限

命令:

tar -zcvpf log31.tar.gz log2014.log log2015.log log2016.log 

输出:

[root@localhost test]# ll

总计 0

-rw-r--r-- 1 root root      0 11-13 06:03 log2014.log

-rw-r--r-- 1 root root      0 11-13 06:06 log2015.log

-rw-r--r-- 1 root root      0 11-16 14:41 log2016.log

[root@localhost test]# tar -zcvpf log31.tar.gz log2014.log log2015.log log2016.log 

log2014.log

log2015.log

log2016.log

[root@localhost test]# cd test6

[root@localhost test6]# ll

[root@localhost test6]# tar -zxvpf /opt/soft/test/log31.tar.gz 

log2014.log

log2015.log

log2016.log

[root@localhost test6]# ll

总计 0

-rw-r--r-- 1 root root 0 11-13 06:03 log2014.log

-rw-r--r-- 1 root root 0 11-13 06:06 log2015.log

-rw-r--r-- 1 root root 0 11-16 14:41 log2016.log

[root@localhost test6]#

说明:

这个 -p 的属性是很重要的,尤其是当您要保留原本文件的属性时

 

实例6:在 文件夹当中,比某个日期新的文件才备份

命令:

tar -N "2012/11/13" -zcvf log17.tar.gz test

输出:

[root@localhost soft]# tar -N "2012/11/13" -zcvf log17.tar.gz test

tar: Treating date `2012/11/13' as 2012-11-13 00:00:00 + 0 nanoseconds

test/test/log31.tar.gz

test/log2014.log

test/linklog.log

test/log2015.log

test/log2013.log

test/log2012.log

test/log2017.log

test/log2016.log

test/log30.tar.gz

test/log.tar

test/log.tar.bz2

test/log.tar.gz

说明:

实例7:备份文件夹内容是排除部分文件

命令:

tar --exclude scf/service -zcvf scf.tar.gz scf/*

输出:

[root@localhost test]# tree scf

scf

|-- bin

|-- doc

|-- lib

`-- service

     `-- deploy

          |-- info

          `-- product

7 directories, 0 files

[root@localhost test]# tar --exclude scf/service -zcvf scf.tar.gz scf/* 

scf/bin/

scf/doc/

scf/lib/

[root@localhost test]#



更多Linux常用指令---tar | zip (解压缩)相关文章请关注PHP中文网!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.