나는 다음과 같은 문제가있는 유일한 사람이 아니라고 확신합니다. * nix에서 파일을 압축 해제해야 할 때마다 모든 스위치를 기억할 수 없으며 인터넷 검색을 끝내야합니다. 이 작업을 수행.
압축 치트 시트가 좋습니까? 아니면 타르에있는 모든 불쾌한 스위치에 대한 니모닉은 어떻습니까?
이 기사를 위키로 만들어서 여기에 멋진 치트 시트를 만들 수 있습니다.
아, 그리고 매뉴얼 페이지 : 그들이 도움이되지 않는 한 가지가 있습니까? 파일을 압축 해제하는 방법을 알아내는 것입니다.
답변
또는 포괄적 인 도움으로 옵션을 완성 할 고급 완성 기능 (zsh 또는 bash의 새로운 버전과 같은)을 갖춘 쉘을 사용하는 것은 어떻습니까? :))
tar에 관하여 : “qwerty”키보드를보십시오. 서로 옆에 문자 “zxcvf”가 있습니다. “tar czvf file.tar.gz 파일”또는 “tar xzvf file.tar.gz”가 필요합니다.
답변
타르 옵션 요약
난해한 스위치를 추가하기 위해 이것을 편집하는 것을 환영하지만 기본 사항은 다음과 같습니다.
- x- 파일 추출
- c- 아카이브 생성
- t- 파일 목록
- v- 상세 (처리 할 때 파일 나열)
- j -bz2 압축 사용
- z -gz 압축 사용
- f- 디스크에서 파일 읽기 또는 쓰기
예
tar.gz 파일을 압축 해제하십시오 : tar zxf tarball.tar.gz
tar.bz2 파일을 압축 해제하십시오. tar jxf tarball.tar.bz2
tar.gz 파일을 작성하십시오. tar zcvf tarvall.tar.gz mydir / *
답변
“unp”라는 작은 Perl 스크립트가 있습니다.
unp filename.tar.gz
… 그리고 모든 것을 추출합니다. 올바른 바이너리가 있는 한 압축 파일 과 함께 작동 합니다. 그리고 당신은 구문이나 그 쓰레기를 잊어 버립니다. Linux 배포판의 저장소를 확인하십시오. 적어도 아치, 데비안 및 우분투에 있어야합니다.
답변
실제로 자주 사용하는 경우 (x) 데이터 추출과 압축 (c) 데이터의 차이를 만듭니다.
추출하려면 :
tar xzf data.tgz
압축하려면
tar czf data.tgz
또한 .bashrc 두 함수를 추가 할 수도 있습니다.
function extract () {
if ($# -ne 1); then
echo "Usage: $0 `<compressed archive>"`
exit 1
fi
tar xzf $1
}
function compress () {
if ($# -ne 2); then
echo "Usage: $0 `<compressed archive> <files|directories>"`
exit 1
fi
tar czf $1 $2
}
또 다른 멋진 추출 기능이 있으며 압축 파일의 확장자를 감지하고 작업을 수행합니다.
extract () {
if [ -f $1 ] ; then
case $1 in
*.tar.bz2) tar xvjf $1 ;;
*.tar.gz) tar xvzf $1 ;;
*.bz2) bunzip2 $1 ;;
*.rar) unrar x $1 ;;
*.gz) gunzip $1 ;;
*.tar) tar xvf $1 ;;
*.tbz2) tar xvjf $1 ;;
*.tgz) tar xvzf $1 ;;
*.zip) unzip $1 ;;
*.Z) uncompress $1 ;;
*.7z) 7z x $1 ;;
*) echo "don't know how to extract '$1'..." ;;
esac
else
echo "'$1' is not a valid file!"
fi
}
답변
입력 만하면 tar --help
치트 시트가 있습니다.
답변
tar 옵션을 기억하기 어려운 경우 파이프를 사용해보십시오.
zcat file.tar.gz | tar xvf -
bzcat file.tar.bz2 | tar xvf -
교체 tar xv
로 tar tv
바로 타르의 내용을 볼 수 있습니다.
개인적으로 다음 니모닉을 사용합니다.
- t, x 또는 c는 각각 “표 작성”, “추출”또는 “만들기”입니다.
- v 모든 파일을 나열합니다.
- tar.gz, tar.bz2 또는 일반 .tar 각각에 대해 z, j 또는 아무것도 없습니다.
- 파일 이름, stdin / stdout 또는 테이프 장치 사용의 기본값을 제공합니다.
“j”와 “bzip2″는 서로 관련이없는 것처럼 보이지만이 예외를 쉽게 기억할 수 있습니다.
또한, 인터넷 검색이 “man tar”를 대체 한 것이 재밌습니다.
답변
남자는 당신의 친구입니다.
man tar