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 /]#
|
[목차] |