아카이브
- 아카이브는 '보관소', '저장소' 라는 뜻으로,
리눅스에서는 '파일을 묶어서 하나로 만든 것'이라는 의미로 사용
파일 아카이브 |
- tar(tape archive)은 원래 여러 파일이나 디렉터리를 묶어서 마그네틱 테이프와 같은 이동식 저장장치에 보관하기 위해 사용하는 명령 - 여러 파일이나 디렉터리를 하나의 아카이브 파일로 생성하거나, 기존 아카이브에서 파일을 추출하는데 사용 |
tar |
- 기능 : 파일과 디렉터리를 묶어 하나의 아카이브 파일을 생성 - 형식 : tar 명령[옵션] [아카이브 파일] 파일 이름 - 명령 : * 'c' : 새로운 tar 파일을 생성 * 't' : tar 파일의 내용을 출력 * 'x' : tar 파일에서 원본 파일을 추출 * 'r' : 새로운 파일을 추가 * 'u' : 수정된 파일을 업데이트 - 옵션 : * 'f' : 아카이브 파일이나 테이프 장치를 지정. 파일 이름을 -로 지정하면 tar 파일 대시 표준입력에서 읽어들임 * 'v' : 처리하고 있는 파일의 정보를 출력 * 'h' : 심벌릭 링크의 원본 파일을 포함함. * 'p' : 파일 복구 시 원래의 접근 권한을 유지 * 'j' : bzip2로 압축하거나 해제함 * 'z' : gzip으로 압축하너가 해제함 - 사용 예 : tar cvf unix.tar Unix, tar xvf unix.tar |
1) 아카이브 생성하기 : cvf - tar 명령을 이용하여 여러 파일이나 디렉터리를 묶어 아카이브 파일을 생성 - 아카이브를 생성하려면 c(create) 기능을 사용 - 'v 옵션'은 처리 중인 파일의 이름을 화면에 출력. 없어도 괜찮지만 올바로 처리되는지 확인하려면 사용한느 것이 좋음 - 'f 옵션'에는 생성될 아카이브의 이름을 지정. f 다음에 오는 이름을 아카이브 이름으로 간주 - 파일 이름에는 특별한 제약이 없지만 확장자를 .tar로 지정하면 나중에 파일 관리를 쉽게 할 수 있음 - f 가 지정되어 있으면 tar 은 첫 번째 이름을 아카이브 이름으로, 두번째부터 마지막 이름을 묶을 파일 이름으로 간주 ==================================================================== sjw-lenovo@sjwlenovo-Lenovo-U310:~/linux_ex$ tar cvf ch7.tar ch7 2) 아카이브 내용 보기 : tvf - 아카이브의 내용을 확인할 때는 t(table of contents) 기능을 사용 - 'v 옵션' 은 파일의 상세 정보를 보기 위해 지정하는 것(이 옵션을 지정하지 않으면 tar 파일에 저장된 파일의 이름만 출력) ==================================================================== sjw-lenovo@sjwlenovo-Lenovo-U310:~/linux_ex$ tar tvf ch7.tar ==================================================================== - 아카이브에 포함된 파일의 상세 정보 확인 가능('ls -l' 과 비슷) * '-' : 파일 종류(b, c, d, l, s, p 등) * 'rw-r--r--' : 접근 권한 * 'sjw-lenovo/sjw-lenovo' : 파일 소유자와 파일의 소속 그룹 * '숫자' : 파일 크기 * '날짜' : 파일을 마지막으로 수정한 일시 * '이름' : 파일명 3) 아카이브 풀기 : xvf - 아카이브를 풀 때는 x(extract) 기능을 사용 ==================================================================== sjw-lenovo@sjwlenovo-Lenovo-U310:~/linux_ex$ ls - 아카이브를 풀기전 tvf 를 이용하여 아카이브의 파일 경로를 확인한 후 적당한 위치에 수행하는 것이 좋음 4) 아카이브 업데이트하기 : uvf - 아카이브를 만든 다음 일부 파일 내용이 바뀌었다면 u(update) 기능을 사용하여 수정된 파일을 추가할 수 있음 - 'u' 기능은 지정한 파일이 아카이브에 없거나, 아카이브에 있지만 수정된 파일일 경우 아카이브의 마지막에 추가 - 기존 파일에 변경 사항이 없을 경우, 'u' 기능을 지정하여 아카이브를 수정해도 바뀌는 것이 없음 - 간단하게 touch 명령을 사용하여 수정 시간을 변경한 뒤 'u' 기능을 사용하면 아카이브에 추가됨 - 아카이브에서 파일을 추출할 때 앞부터 순서대로 추출되므로 나중에 추가된 파일이 최종적으로 추출 ==================================================================== sjw-lenovo@sjwlenovo-Lenovo-U310:~/linux_ex/ch9$ tar uvf ch7.tar ch7 ==================================================================== 5) 아카이브에 파일 추가하기 : rvf - 이미 생성된 아카이브에 파일을 추가하는 기능은 r(replace) - 아카이브에 파일이 이미 있는지 확인하고 추가하는 'u' 기능과 달리 'r' 기능은 지정한 파일을 무조건 아카이브의 마지막에 추가 ==================================================================== sjw-lenovo@sjwlenovo-Lenovo-U310:~/linux_ex/ch9$ sudo cp /etc/hosts . 6) 파일 압축과 아카이브 - 아카이브를 생성하면서 동시에 압축 가능 - 보통 tar로 아카이브를 만든 다음 gzip 같은 압축 명령으로 압축 - 동시에 처리할 수 있도록 옵션이 추가됨 - gzip 로 압축할 때는 'z' 옵션을 사용. 아카이브의 이름에 .gz를 붙여서 gzip로 압축했음을 표시하는 것이 좋음 ==================================================================== sjw-lenovo@sjwlenovo-Lenovo-U310:~/linux_ex/ch9$ tar cvzf ch7.tar.gz ch7 ==================================================================== - bzip2로 압축할 때는 'j' 옵션을 사용. 아카이브의 일므에 .bz2를 붙여서 bzip2로 압축했음을 표시 ==================================================================== sjw-lenovo@sjwlenovo-Lenovo-U310:~/linux_ex/ch9$ ls ==================================================================== - 압축한 아카이브 파일의 내용은 tvf 로 확인이 가능하고, xvf로 추출 가능 |