- 로 시작되는 파일을 지우고 싶습니다. 그리고, 디렉토리별로 묶고싶은데 잘 안됩니다.

sia79의 이미지

tar 명령을 사용하다가 잘못된 옵션을 쓴 줄도 모르고...

ls를 보니 --exclude 와 -X 파일이 생겨버렸습니다.

그래서 이 파일을 삭제하려고 했는데, 인식할수 없는 옵션이라고 나오네요.

방법을 가르쳐주십시요.

tar로 묶을때 원하는 파일이 있는 경로만 그대로 가지고 올수 있는 방법이 있나요?

예를들어...

/home/a/1/xx.txt
/home/a/2/yy.txt
/home/a/3/zz.txt

/home/b/1/xx.txt
/home/b/2/yy.txt
/home/b/3/zz.txt

/home/c/1/xx.txt
/home/c/2/yy.txt
/home/c/3/zz.txt

...

있을 때 각 디렉토리의 3디렉토리에 존재하는 zz파일을 경로그대로 가지고 묶어서.
풀고나면

/home/a/3/zz.txt
/home/b/3/zz.txt
/home/c/3/zz.txt

이렇게 되도록 하고싶습니다.

익명입니다의 이미지

지우는 것은 rm -- --exclude 이렇게 하면 됩니다.

sia79의 이미지

옵션쓸때나 필요한 건줄 알았는데;;; 그냥 -- 만쓰는 것은 처음 봤군요.

감사합니다.

eseo의 이미지

-- 뒤에 오는 것은 옵션이 아닌 키 값으로 처리합니다.

매뉴얼 페이지엔 다음과 같이 나오네요.

 --  Forces  a break from option processing, so the next word is taken as key even if it begins with ’-’.

---
배려하는 마음을 갖자.

---
배려하는 마음을 갖자.

fox9의 이미지

아니면 이런 방법도 있습니다.

rm ./--exclude

sia79의 이미지

감사합니다. ^^

jg의 이미지

묶는 방법은 여러가지가 있습니다만.
저의 경우는 목록을 파일로 만든 다음에 필요한 것만 추려내는 편입니다.
즉, 위와 같은 경우에는

# 파일목록 생성
find /home -name "zzz.txt" > /tmp/list
# 편집기로 목록 편집
vi /tmp/list
# 압축 (bash)
OIFS=$IFS
export IFS=$'\n'
tar czvf name.tgz $(< /tmp/list)
export IFS=$OIFS

IFS를 바꾸는 이유는 가끔 공백이나 특수한 문자가 들어간 파일 때문입니다.

$Myoungjin_JEON=@@=qw^rekcaH lreP rehtonA tsuJ^;$|++;{$i=$like=pop@@;unshift@@,$i;$~=18-length$i;print"\r[","~"x abs,(scalar reverse$i),"~"x($~-abs),"]"and select$good,$day,$mate,1/$~for 0..$~,-$~+1..-1;redo}

Arcy의 이미지

Quote:

있을 때 각 디렉토리의 3디렉토리에 존재하는 zz파일을 경로그대로 가지고 묶어서.
풀고나면

/home/a/3/zz.txt
/home/b/3/zz.txt
/home/c/3/zz.txt

이렇게 되도록 하고싶습니다.

tar czvf out.tgz /home/*/3/zz.txt

뭐 /home/*/public_html 같이 할 때도 유용합니다.