00 서론
0. 용어 정리
- archive file: 하나 또는 여러개의 파일을 압축한 파일. 파일을 압축하여 저장 공간 절약하며 데이터의 휴대성을 높임
01 tar이란
1. tar의 정의
$ tar [options] [archive-file] [file or dir to be archived]
- 'Tape Archive'의 약자
- Linux 명령어
- archive 파일 관련 작업 기능 제공
2. tar 옵션
옵션 | 설명 |
-c | archive file 생성 (create) |
-x | archive file 추출 ( extract) |
-f | archive file의 이름을 지정 (specify filename) |
-v | 터미널에 tar operation의 verbose info 출력 (print verbose info) *verbose: 장황하게 말이 많은 연설자/장황한 문체 → 상세 정보 |
-t | archive file 안에 있는 파일들 목록 출력 (list) |
-u | 파일 보관(archive) 후 존재하는 archive file에 추가 |
-r | .tar file 안에 있는 파일/디렉토리 업데이트 (update file/dir inside .tar file) |
-z | gzip 압축으로 tar file 생성 (gzip) |
-j | bzip2 압축으로 archive file 생성 (bzip2) |
-W | archive file을 verify |
3. tar 사용하기
1) archive file 생성
- 압축 suffix (-z, -j 등) 사용하여 gzip (-z), bzip2 (-j), xz와 같은 압축 방법으로 지정된 파일/폴더를 담은 archive file 생성 가능
-
<문법> $ tar -cvf <생성될 archive file 이름> <archive할 파일/폴더1> <archive할 파일/폴더2> ...
- <archive할 파일/폴더>는 띄어쓰기를 사용하여 무한으로 넣기 가능
-
<예시> $ tar -czvf sales.tar.gz sales1.pdf sales2.pdf sales3.pdf $ tar -cjvf sales.tar.bz2 sales1.pdf sales2.pdf sales3.pdf $ tar -cvf home.tar /home/james
- 첫번째 명령줄 설명:
- 3개의 파일 (sales1.pdf, sales2.pdf, sales3.pdf)을 압축하여 sales.tar.gz라는 archive file 생성
- 두번째 명령줄 설명:
- 첫번째와 같이 3개의 파일을 압축하지만 -z 대신 -j 옵션으로 sales.tar.bz2라는 archive file 생성
- 세번째 명령줄 설명:
- /home/james 폴더를 압축하여 home.tar이라는 tar archive file 생성
- 첫번째 명령줄 설명:
2) archive file 안 파일/폴더 출력
- -t 옵션 사용하여 archive file을 추출하지(풀지) 않고도 안의 내용들 확인 가능
-
<문법> $ tar -tf <확인할 archive file>
-
<예시> $ tar -tf sales.tar.gz sales1.pdf sales2.pdf sales3.pdf
3) archive file 안 모든 파일/폴더 추출 1 - 현재 경로에
- -x 옵션 사용하여 현재 작업하고 있는 폴더/디렉토리에 archive file 추출 가능
-
<문법> $ tar -xvf <추출할 archive file>
-
<예시> $ tar -xvf documents.tar.gz file1.txt file2.txt file3.txt $ ls -l total 4 -rw-rw-r-- 1 james james 136 Mar 29 08:50 documents.tar.gz -rw-rw-r-- 1 james james 0 Mar 29 08:48 file1.txt -rw-rw-r-- 1 james james 0 Mar 29 08:48 file2.txt -rw-rw-r-- 1 james james 0 Mar 29 08:48 file3.txt
4) archive file 안 모든 파일/폴더 추출 2 - 지정된 경로에
- -C 옵션 사용하여 대상 경로에 archive file 추출 가능
-
<문법> $ tar -xvf <추출할 archive file> -C <추출될 경로>
-
<예시> $ tar -xvf documents.tar.gz -C /tmp/files file1.txt file2.txt file3.txt $ ls -l /tmp/files total 0 -rw-rw-r-- 1 james james 0 Mar 29 08:48 file1.txt -rw-rw-r-- 1 james james 0 Mar 29 08:48 file2.txt -rw-rw-r-- 1 james james 0 Mar 29 08:48 file3.txt
5) archive file 안 특정한 파일 추출 3
- 명령줄에 추출할 archive file 뒤에 추출하고 싶은 파일/폴더를 입력하여 특정한 파일/폴더 추출 가능
- 사전에 archive file 안에 어떤 파일/폴더들이 있는지 알고 있어야 함 (-t 옵션 사용하여 내용 확인 가능)
-
<문법> $ tar -xvf <추출할 archive file> <특정한 파일/폴더1> <특정한 파일/폴더2> ...
- <특정한 파일/폴더>은 <추출할 archive file> 안에 있는 파일/폴더로, 띄어쓰기를 사용하여 무한으로 쓰기 가능
-
<예시> $ tar -xvf documents.tar.gz file1.txt file2.txt file1.txt file2.txt $ ls -l total 4 -rw-rw-r-- 1 james james 136 Mar 29 09:30 documents.tar.gz -rw-rw-r-- 1 james james 0 Mar 29 08:48 file1.txt -rw-rw-r-- 1 james james 0 Mar 29 08:48 file2.txt
6) .tar achive file에 파일 추가
- -r 옵션 사용하여 .tar archive file에 파일/폴더 추가 가능
- 주의: 다른 종류의 archive file (예: tar.Z)은 안 되는 것 같음
-
<문법> $ tar -rvf <archive file> <파일/폴더1> <파일/폴더2> ...
- <파일/폴더>는 띄어쓰기를 사용하여 무한으로 추가 가능
-
<예시> $ tar -tf archives.tar file1.txt file2.txt $ tar -rvf archives.tar file3.txt file3.txt $ tar -tf archives.tar file1.txt file2.txt file3.txt
7) .tar archive file에서 파일 제거
- -delete 옵션 사용하여 .tar archive file에 들어있는 파일/폴더 삭제 가능
-
<문법> $ tar --delete -f <.tar archive file> <파일/폴더1> <파일/폴더2> ...
-
<예시> $ tar -tf archives.tar file1.txt file2.txt file3.txt $ tar --delete -f archives.tar file3.txt $ tar -tf archives.tar file1.txt file2.txt
참조
'OS 운영체제 > LINUX' 카테고리의 다른 글
find (파일 검색 명령어) (0) | 2024.04.05 |
---|---|
swap (가상 저장 공간) (0) | 2024.04.04 |
scp (서버간 파일 복사 명령어) (0) | 2024.03.20 |
Linux 디렉토리 구조 (0) | 2024.03.20 |
Environment Variables (0) | 2024.03.18 |