답변:
다음 쉘 스크립트를 사용할 수 있습니다 (이름을 지정하고에 extract
넣었습니다 ~/bin
).
#! / bin / bash [$ # -lt 1]이면; echo "사용법 :`basename $ 0` FILES" 1 번 출구 fi # I은 다음과 같은 기능을 발견 https://unix.stackexchange.com/a/168/37944 # 내가 조금 개선. 이 아이디어에 대한 sydo 에게 감사드립니다 . 추출 () { $ @의 arg; 하다 만약 [-f $ arg]; 그때 사례 $ arg in * .tar.bz2) tar xjf $ arg ;; * .tar.gz) tar xzf $ arg ;; * .bz2) bunzip2 $ arg ;; * .gz) gunzip $ arg ;; * .tar) tar xf $ arg ;; * .tbz2) tar xjf $ arg ;; * .tgz) tar xzf $ arg ;; * .zip) 압축 해제 $ arg ;; * .Z) 압축 해제 $ arg ;; * .rar) rar x $ arg ;; # 'rar'를 설치해야합니다 * .jar) jar -xvf $ arg ;; # 'jdk'를 설치해야합니다 *) echo " '$ arg'는 extract ()를 통해 추출 할 수 없습니다";; esac 그밖에 echo " '$ arg'는 유효한 파일이 아닙니다" fi 끝난 } $ @ 추출
스크립트를 실행 가능하게 만드는 것을 잊지 마십시오 :
chmod +x ~/bin/extract
용법:
file_1 file_2 추출 ... file_n
basename $arg
도움이 될 수 있습니다.
atool
있는 당신은 / 추출 여러 형식을 팩 수 : 나는이 질문에 대한 준 대답을 참조 명령 줄 아카이브 매니저 - extracter을 . 이 질문도 그 질문과 중복되므로 병합해야 할 것입니다.