IT/네이버지식인

[지식인]리눅스 tar 옵션 질문

송시 2022. 7. 15. 22:45
728x90

초창기 나에게 tar 는 참말로 헤깔리는 녀석이였다.

 

2가지 였는데

 

1. 묶어지는 이름의 위치

2. 묶는 디렉토리가 풀리는 위치

 

1은 묶는 파일명이 앞에 붙는거야 뒤에 붙는거야 였다.

 

tar cvf etcfile.tar /etc/ 인지 tar cvf /etc/ etcfile.tar 인지 종종 헤깔렸다. 

결론은 tar cvf etcfile.tar /etc/ 와 같이 옵션의 바로 뒤에 붙이면 된다는 걸 이제 몸이 기억한다.

 

또 다른 하나는 이 tar 파일이 어디에 풀어졌는지 모를때 이다.

 

분명 난 현재 위치에 tar 가 풀릴거라 예상했는데 현재 위치에 풀려야할 파일이 없었다.

 

그건 tar 를 묶을때 사용한 경로가 절대/상대 경로냐에 따라 달라지는 것이였다.

 

아래는 절대/상대 경로에 대한 고뇌의 질문이다.

 

==========

 

제가 crontab에 사용할 쉘 스크립트 코딩을 하고있는데요 

특정 단어가 들어가있는 로그를 grep 해서 다른파일에 넣는것까지는 잘되는데 
mv한 후 tar로 압출할때 압축파일 경로를 따로 지정해줘야하니
tar -cvf /usr/local/test_data/0710_log/test.tar /usr/local/test_data/0710_log/log.* 로 압축을 하게 되고
0710_log 파일에 정상적으로 test.tar는 생성이 되지만 압출을 풀면 뒷 경로 전체 폴더가 생성이 됩니다 
usr,local,test_data,0710_log 폴더가 다 생성됨... 무슨 방법이 없을까요 ㅠ
그리고 하나더 셸스크립트가 맞나요 쉘스크립트가 맞나요??
 
답변

전체 스크립트를 알수 없지만

해당 구문이 스크립트 내에 있는 것이라는 조건하에 다음과 같이 가능합니다.

cd /usr/local/test_data/0710_log/

tar -cvf test.tar log.*

 

 

https://kin.naver.com/qna/detail.naver?d1id=1&dirId=10302&docId=423848151&page=1#answer1

728x90