2013-03-27 4 views
0

디렉토리에있는 파일 만 tar하는 방법. 나는 홈 디렉토리에 tar -cvf /tmp/test.tar /tmp/mylog.doc을 시도했지만, 그 내용을 tmp 디렉토리에 포함 시켜서 압축을 풀었을 때도 마찬가지입니다. tar 파일에 파일 mylog.doc 만 있으면됩니다. 비슷한 검색어가 표시됩니다. Tarring only the files of a directory 그러나 그것에서 많은 도움을 얻을 수 없었다.디렉토리의 파일 만 tar로 지정하십시오.

답변

2

-C 명령 줄 매개 변수를 사용하여 작업 할 디렉토리를 나타냅니다. 그런 다음이 디렉토리와 관련된 포함 파일 이름을 사용할 수 있습니다.

tar -cvf /tmp/test.tar -C /tmp mylog.doc 

이 내용은 tar 파일 자체에는 적용되지 않습니다.

+0

작동하지 않았습니다. 'tar : 비어있는 아카이브를 만드는 것을 겁내기를 거절 함''자세한 정보는 tar --help 또는 tar -usage 사용하기' –

+0

'tar'는 단순히'/ tmp' 디렉토리에서'mylog.doc' 파일을 찾을 수 없다고 말합니다. . 파일이 실제로 있습니까? –

+0

예 파일이 있는지 확인했습니다. –

0
cd sourcedir ; tar cvf archive.tar ./file_to_tar 

사용하기 때문에 "/ 경로// 파일"또는 "./path/to/file"추가 할 것 "경로 /로는 /"또한 결과 tar 파일에서 (하지 않는 한 특정 (아마 비 그렇지 않으면 tar을 알려주는 옵션)

참고 : 일부 오래된 제품에서도 추출시 "/"를 제거 할 수 없습니다. 그 '이렇게 된하지의 시스템에

:

tar cvf /tmp/hosts-backup.tar /etc/hosts 
cd /secure/location 
tar xvf /tmp/hosts-backup.tar 

덮어 쓰게됩니다/etc/hosts 파일 대신 아래에 "./etc/hosts"파일을 출력 (outputting)의 파일/보안/위치 ! (이제 대부분의 '최근'타르가 이제는 : 그들은 모두 조용히 "/"대신 절대 경로 대신 상대방의 99.9 %를 말함)을 무시합니다.

나는 최근에 이것을 불에 태웠다. : 로그를 추출하려고했는데 그 로그가 원래 위치를 덮어 쓰게되어 더 최근의 로그 파일을 덮어 썼습니다. 시스템에서 tar를 처음 사용하기 전에 항상 이것을 확인하십시오. (몇 가지 해결 방법이 있지만 간단하지는 않습니다 : chroot 및 "sar"와 같은 다른 명령)

관련 문제