Fundamentals

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


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

    18. 파일 묶기 - tar


dos나 윈도우 98에서는 제공하지 않는 아카이브라는 것을 리눅스에서는 제공합니다. 아카이브는 파일과 디렉토리를 하나의 파일로 묶어주는 것을 의미합니다. 통신에 접속해서 리눅스 관련 동호회의 자료실에 가면 확장자가 tar인 파일을 가끔 볼 수 있을 것입니다. 이 파일이 바로 'tar'명령어를 이용해서 아카이브한 파일입니다.

먼저 'tar'란 명령어로 파일과 디렉토리를 아카이브해 봅시다. 예를 들어 루트의 홈디렉토리를 아카이브해 보죠.

[root@leelab /etc]# cd

[root@leelab /root]# cd ..

[root@leelab /]#

보면 알겠지만 홈디렉토리로 이동했다가 다시 그 상위 디렉토리로 이동했습니다. 홈디렉토리인 root를 아카이브하기 위해서입니다. root를 아카이브하면 그 안에 포함된 파일과 서브 디렉토리도 같이 아카이브되거든요.

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

root/

.

.

root/test.txt

root/.mc/

root/.mc/hotlist

root/.mc/ini

root/.mc/history

[root@leelab /]#

두 번째 아규먼트에 보면 'cvf'가 쓰인 것을 알 수 있습니다. 이것이 바로 아카이브한다는 의미입니다. 바로 옵션이죠. 세 번째 아규먼트로 사용된 root.tar는 아카이브될 파일 이름입니다. 확장자를 tar로 했습니다. 그리고 마지막 아규먼트로 아카이브할 디렉토리를 지정한 것입니다. 즉 root 밑에 있는 파일과 서브 디렉토리는 전부 root.tar로 아카이브되는 것입니다.

그러면 정말로 아카이브된 파일이 생성되었는지 확인해 봅시다.

[root@leelab /]# ls

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

boot/ home/ misc/ root/ tmp/

dev/ lib/ mnt/ root.tar usr/

[root@leelab /]#

root.tar란 파일이 생성되었죠? 그러면 이 파일을 루트 디렉토리로 옮겨봅시다.

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

[root@leelab /]# ls

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

boot/ home/ misc/ root/ tmp/

dev/ lib/ mnt/ root.tar usr/

[root@leelab /]#

일단 파일이 생성되었으니 아카이브가 제대로 된 것 같군요. 그러면 정말로 제대로 된 것인지 확인해 봅시다. 아카이브된 파일의 내용을 볼 수 있는 옵션으로 'tvf'를 사용했습니다.

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

drwxr-xr-x root/root 0 2000-01-07 01:38 root/gnustep/library/icons/

drwxr-xr-x root/root 0 2000-01-07 01:38 root/gnustep/.appinfo/

-rw-r--r-- root/root 807 2000-01-07 06:30 root/xrootenv.0

-rw------- root/root 0 2000-01-14 04:30 root/.mc/hotlist

-rw-r--r-- root/root 2773 2000-01-14 04:34 root/.mc/ini

-rw-r--r-- root/root 94 2000-01-14 04:34 root/.mc/history

[root@leelab /]#

이번에는 아카이브된 파일에 새로운 파일을 추가해 봅시다.

[root@leelab /]# tar rvf root.tar test.txt

test.txt

[root@leelab /]#

루트에 있는 test.txt라는 파일을 위에서 아카이브한 파일에 추가하는 과정을 보여주고 있습니다. 옵션으로 'rvf'를 사용했습니다. 그리고 두 번째 아규먼트에 아카이브 파일명, 마지막 아규먼트에 추가할 파일명을 지정하면 됩니다.

진짜로 추가되었는지 확인해 봅시다. 제일 밑에 보니 추가되었음을 확인할 수 있습니다.

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

drwx------ root/root 0 2000-01-07 03:00 root/.netscape/cache/

drwx------ root/root 0 2000-01-07 03:00 root/.netscape/archive/

-rw-r--r-- root/root 2773 2000-01-14 04:34 root/.mc/ini

-rw-r--r-- root/root 94 2000-01-14 04:34 root/.mc/history

-rw-r--r-- root/root 36 2000-01-14 06:28 test.txt

[root@leelab /]#

이번에는 'tar' 명령어로 아카이브된 파일을 풀어 봅시다. 통신에서 'tar'로 아카이브된 파일을 얻게 되면 다음과 같은 방법으로 풀면 됩니다. 아카이브된 파일을 풀 때는 옵션으로 'xvf'를 사용합니다.

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

root/.netscape/abook.nab

root/.netscape/plugin-list

root/.netscape/preferences.js

root/.netscape/bookmarks.html

root/.mc/ini

root/.mc/history

test.txt

[root@leelab /]# ls -p

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

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

dev/ lib/ mnt/ root.tar tmp/

[root@leelab /]#

[목차]

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

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

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