서버 관리에서 많은 소스파일들을 배포할 때 가장 유용한 명령어가 tar입니다.
배포해야 될 소스파일이 한두 개가 아니고 수십, 수백 개일 때
여기서 또 디렉터리 위치까지 다를 때 어떻게 하나하나 다 배포하나요?
바로 tar입니다.
tape archiver의 줄임말입니다.
tar는 여러 파일을 하나의 tar 파일로 묶는 명령어입니다.
묶을 때 원본 디렉터리와 파일 그대로 묶입니다.
파일이나 디렉토리 날짜, 소유권을 그대로 할 수 있습니다.
gzip의 압축 기능도 있어 큰 용량도 부담 없이 합칠 수 있습니다.
그리고 tar 풀 때 이미 사용 중인 폴더이고
폴더 안에 파일들이 있어도
이름이 다르면 기존 디렉터리나 파일들은 전혀 건드리지 않으니 맘 놓고 푸시면 됩니다.
옵션
c : tar 파일로 묶기
x : 묶인 tar 파일 해체하기
v : 처리과장 화면에 표시하기
f : tar 파일 이름 지정하기
z : gzip으로 압축하기
p : 소유권 권한 그대로 유지
C : 지정된 디렉터리에 압축 풀기
r : 이미 생성된 tar 파일에 추가로 더 넣기
t : tar 안에 내용 보기
기본 옵션으로 v와 f를 지정해서 사용합니다.
당연히 안 써도 되는데요.
v로 잘 합체되고 있는지 궁금하기도 하고
f로 내가 원하는 tar 파일명을 지정하잖아요.ㅋ
vf는 늘 쓴다라고 생각하시면 맘 편합니다.
기본 사용법
tar cvf 파일. tar 대상 파일들 또는 디렉터리
아래와 같이 디렉터리와 파일이 있다고 가정할게요.
ls -al -rw-rw---- 1 user1 group1 0 날짜 hello.txt drwxrwx--- 1 user1 group1 1 날짜 fold1 |
1) 폴더 전체 tar 묶기 : c
tar cvf test1.tar fold1 ls -al -rw-rw---- 1 user1 group1 날짜 hello.txt drwxrwx--- 1 user1 group1 날짜 fold1 -rw-rw---- 1 user1 group1 날짜 test1.tar |
2) tar 파일 내용 보기 : t
tar tvf test1.tar drwxr-xr-x user1/group1 0 날짜 fold1 -rw-rw---- user1/group1 1 날짜 fold1/aaa.txt -rw-rw---- user1/group1 1 날짜 fold1/bbb.txt |
3) 기존 tar에 파일이나 디렉터리 추가하기 : r
tar rvf test1.tar ccc.txt tar tvf test1.tar drwxr-xr-x user1/group1 0 날짜 fold1 -rw-rw---- user1/group1 1 날짜 fold1/aaa.txt -rw-rw---- user1/group1 1 날짜 fold1/bbb.txt -rw-rw---- user1/group1 1 날짜 ccc.txt |
4) find 나 ls로 찾은 파일들 묶기 : $()
tar cvf test2.tar $(find . -name "*.txt") tar tvf test2.tar -rw-rw---- user1/group1 1 날짜 fold1/aaa.txt -rw-rw---- user1/group1 1 날짜 fold1/bbb.txt -rw-rw---- user1/group1 1 날짜 ccc.txt |
5) 묶음과 동시에 압축하기 : z
tar zcvf test1.tar.gz * ls -al -rw-rw---- 1 user1 group1 날짜 hello.txt drwxrwx--- 1 user1 group1 날짜 fold1 -rw-rw---- 1 user1 group1 날짜 test1.tar.gz |
6) tar 풀기 : x
tar xvf test1.tar ./fold1 ./fold1/aaa.txt ./fold1/bbb.txt |
7) 압축된 tar 풀기 : z
tar zxvf test1.tar.gz ./fold1 ./fold1/aaa.txt ./fold1/bbb.txt |
8) 선택한 디렉터리에 tar 풀기 : -C
tar xvf test1.tar -C fold2 fold1 fold1/aaa.txt fold1/bbb.txt cd fold2 ls -al drwxrwx--- 1 user1 group1 날짜 fold1 |
감사합니다.
'IT > LINUX' 카테고리의 다른 글
리눅스 tmpfs 란 무엇인가 (6) | 2020.11.24 |
---|---|
리눅스 df 명령어 . 파일시스템 사용량 확인 (4) | 2020.11.18 |
리눅스 su sudo 명령어 (0) | 2020.09.29 |
리눅스 표준입력 표준출력 표준에러 (0) | 2020.09.18 |
리눅스 블랙홀 사용하기 /dev/null (0) | 2020.09.17 |
댓글