Fundamentals

본문 바로가기
사이트 내 전체검색


RedHat Linux >> Fundamentals of the GNU/Linux
[목차]
제3장 리눅스 명령어

    19. 파일 압축하고 풀기 Ⅰ - gzip


dos나 윈도우 95/98을 사용할 때 필수적으로 많이 사용하는 것 중 하나가 파일 압축이었습니다. pc 통신에서 자료를 얻게 되면 대부분의 프로그램이 압축되어 잇는 경우가 많습니다. 리눅스도 마찬가지입니다. ftp 서버나 pc 통신 자료실에서 관련 자료를 얻게 되면 이 프로그램은 대부분이 압축되어 있습니다. 이번에는 파일 압축에 대해 알아보겠습니다.

리눅스에서 파일을 압축할 때는 'gzip'이라는 명령어를 많이 사용합니다. 가장 대표적인 명령어죠. 이 명령어로 어떻게 파일을 압축하는지 알아봅시다.

[root@leelab /]# tar cvf root.tar root/

root/.mc/

root/.mc/hotlist

root/.mc/ini

root/.mc/history

[root@leelab /]#

[root@leelab /]# ls

bin/ etc/ lost+found/ proc/ sbin/ usr/

boot/ home/ misc/ root/ test.txt var/

dev/ lib/ mnt/ root.tar tmp/

[root@leelab /]#

압축을 하지 않고 아카이브를 하는군요. 아카이브한 다음에 그 아카이브된 파일을 압축하기 위해서입니다.

[root@leelab /]# gzip -9 root.tar

[root@leelab /]# ls

bin/ etc/ lost+found/ proc/ sbin/ usr/

boot/ home/ misc/ root/ test.txt var/

dev/ lib/ mnt/ root.tar.gz tmp/

[root@leelab /]#

옵션으로 9를 사용했습니다. 이것은 압축률을 최대한으로 하겠다는 것을 의미합니다. 그리고 마지막 아규먼트로 압축할 파일 이름을 지정했습니다. 그러면 결과를 보기 바랍니다. 그전에 존재했던 root.tar 파일이 보이지 않는군요. 대신 root.tar.gz라는 파일이 있죠? 이 파일이 바로 압축된 파일입니다. 아마 pc 통신에서 리눅스 관련 자료를 받아본 분은 이런 형식으로 확장자를 갖는 파일을 본 적이 있을 것입니다. 바로 'tar'로 아카이브한 다음에 'gzip' 프로그램으로 압축한 것입니다. 이번에는 압축을 풀어봅시다.

[root@leelab /]# gunzip root.tar.gz

[root@leelab /]# ls

bin/ etc/ lost+found/ proc/ sbin/ usr/

boot/ home/ misc/ root/ test.txt var/

dev/ lib/ mnt/ root.tar tmp/

[root@leelab /]# tar xvf root.tar

root/.mc/hotlist

root/.mc/ini

.

.

root/.mc/history

[root@leelab /]#

압축을 풀 때는 'gunzip'이라는 명령어를 사용합니다. 이 명령어를 사용해서 압축을 풀면 root.tar 파일이 다시 생성됩니다. 아카이브된 파일을 풀면 됩니다. 사실 'gunzip'이라는 명령어를 사용하지 않고 'gzip'명령어로도 압축을 풀 수 있습니다. 옵션 하나만 사용하면 되거든요.

[root@leelab /]# gzip -9 root.tar

[root@leelab /]# ls

bin/ etc/ lost+found/ proc/ sbin/ usr/

boot/ home/ misc/ root/ test.txt var/

dev/ lib/ mnt/ root.tar.gz tmp/

[root@leelab /]# gzip -d root.tar.gz

[root@leelab /]# ls

bin/ etc/ lost+found/ proc/ sbin/ usr/

boot/ home/ misc/ root/ test.txt var/

dev/ lib/ mnt/ root.tar tmp/

[root@leelab /]#

'd'라는 옵션을 사용하면 압축을 풀게 됩니다.

여기서 한 가지만 생각해 봅시다. pc 통신에 자료를 올리려면 파일을 압축하겠죠? 먼저 아카이브를 한 다음에 'gzip'명령어로 파일을 압축하면 됩니다. 그런데 상당히 번거롭군요. 두 번의 과정이 필요하니까요. 이번에 한번으로 줄여봅시다. 파일을 아카이브 하면서 바로 압축하면 됩니다.

[root@leelab /]# tar cvzf root.tgz root/

root/test.txt

root/.mc/

root/.mc/hotlist

.

.

root/.mc/ini

root/.mc/history

[root@leelab /]# ls

bin/ etc/ lost+found/ proc/ sbin/ usr/

boot/ home/ misc/ root/ test.txt var/

dev/ lib/ mnt/ root.tgz tmp/

[root@leelab /]#

아카이브할 때 'tar'라는 명령어를 이용한다는 것을 알 수 있습니다. 그런데 옵션에 보니 하나가 추가되었군요. 바로 'z'입니다. 이 옵션이 파일을 압축하면서 아카이브 한다는 의미가 되는 것입니다.k 나중에 만들어진 파일을 보면 확장자가 tgz로 되어 있는데 이 파일은 아마 pc 통신 리눅스 관련 자료실에 가면 많이 보게 될 것입니다.

다음의 파일을 풀어보죠. 아카이브된 파일을 풀 때와 크게 차이가 없죠? 역시 옵션에 'z'가 추가되었을 뿐입니다.

[root@leelab /]# ls

bin/ etc/ lost+found/ proc/ sbin/ usr/

boot/ home/ misc/ root/ test.txt var/

dev/ lib/ mnt/ root.tgz tmp/

[root@leelab /]# tar xvzf root.tgz

root/.mc/hotlist

root/.mc/ini

.

.

root/.mc/history

[root@leelab /]#

[목차]

개인정보취급방침 서비스이용약관 모바일 버전으로 보기 상단으로

TEL. 063-469-4551 FAX. 063-469-4560 전북 군산시 대학로 558
군산대학교 컴퓨터정보공학과

Copyright © www.leelab.co.kr. All rights reserved.