명령 행 아카이브 관리자 / 추출기


15

모든 압축 형식에 해당하는 추출 명령을 모두 잊어 버렸습니다.

그래서 파일 확장자를 적절한 추출 명령에 매핑하는 스크립트를 작성하려고 생각했습니다. 그러나 나는 이와 같은 것이 이미 존재한다고 생각합니다.

파일 롤러와 같은 것에 만족하지만 파일 롤러는 GUI 도구입니다.

답변:


11

몇 가지 제안 :

p

unp (소프트웨어 센터에서 사용 가능)는 다양한 아카이브를 현재 폴더로 압축 해제하는 작은 펄 모듈입니다. unp -s지원되는 아카이브 형식에 사용

기본적으로 아카이브를 현재 폴더로 압축 해제합니다.

파일 롤러

파일 롤러 자체는 명령 줄에서 실행할 수 있습니다. file-roller -h <archive name>아카이브를 압축 해제하는 데 사용하십시오 .


11

에서 여기 , 당신의 .bashrc에 넣어 :

extract () {
   if [ -f $1 ] ; then
      case $1 in
         *.tar.bz2)   tar xjf $1      ;;
         *.tar.gz)   tar xzf $1      ;;
         *.bz2)      bunzip2 $1      ;;
         *.rar)      rar x $1      ;;
         *.gz)      gunzip $1      ;;
         *.tar)      tar xf $1      ;;
         *.tbz2)      tar xjf $1      ;;
         *.tgz)      tar xzf $1      ;;
         *.zip)      unzip $1      ;;
         *.Z)      uncompress $1   ;;
         *)         echo "'$1' cannot be extracted via extract()" ;;
      esac
   else
      echo "'$1' is not a valid file"
   fi
} 

사용 방법의 예를 추가 하시겠습니까?
MiniGod December

4
file.zip 추출
frabjous

4

아직 언급되지 않은 것은 명령 행 유틸리티 의 swiss-army-knife 입니다. atool; 저장소에서 사용 가능합니다. atool 도구 설치 또는 run을 클릭하십시오 sudo apt-get install atool.

atool실제로 aunpack, apack, als, acat, adiff 및 arepack과 같은 다양한 기능으로 구성된 스크립트 입니다. 이 프로그램의 가장 일반적인 용도는 aunpack 명령을 사용하여 아카이브를 추출하는 것입니다. 몇 가지 흥미롭고 유용한 옵션이 있지만 대부분의 아카이브를 추출하는 기본 방법은 다음과 같습니다.

aunpack myarchive.tar

tar, 7z, zip, jar, rar, ar, lha 및 더 많은 아카이브 형식 및 변형 man atool에 대한 지원은 터미널 에 입력 하거나 Ubuntu 맨 페이지를 온라인 으로 볼 수 있습니다 .

따라서 동일한 폴더에 tar, zip 및 gz 아카이브가있는 경우 압축을 풀기 위해 수행해야 할 작업은 모두 실행하는 것입니다.

aunpack -e *

지원되는 모든 아카이브는 폴더 구조가 유지 된 상태로 압축이 풀립니다. 결과 폴더의 이름이 이미 있으면 덮어 쓰지 않지만 unpack-5645와 같은 고유 한 이름이 지정됩니다.

또는 한 가지 유형의 아카이브 만 선택하여 모두 압축을 풀려면 대신

aunpack -e *.zip

하위 폴더 디렉토리 구조 만 유지하면서 (특정 디렉토리에 직접 압축을 푼 파일이 필요한 경우) 다음과 같이 입력하십시오.

aunpack -e Scripts11.zip -X /home/mike/Videos

동일한 이름의 파일이 이미 존재하는 -f경우 명령에서 강제 옵션 ( )을 지정하지 않은 경우 이름을 바꾸거나 덮어 쓸 작업을 묻는 메시지가 표시됩니다 .

맨 페이지에서 언급했듯이 aunpack은 먼저 추출합니다.

파일을 고유 한 (임시) 디렉토리에 저장 한 다음 가능하면 해당 내용을 다시 mov [es]하십시오. 또한 실수로 로컬 파일을 덮어 쓰는 것을 방지합니다.


다른 도구를 사용하면 매뉴얼 페이지에서 언급 한 것처럼 다른 작업이 가능 합니다 .

  • apack 은 파일 또는 폴더에서 아카이브를 만듭니다.
  • als 는 지정 아카이브 내의 파일을 나열합니다.
  • acat을 사용하면 아카이브 파일을 stdout으로 추출 할 수 있습니다
  • adiff를 사용하면 지정된 두 개의 아카이브를 비교할 수 있습니다
  • arepack을 사용하면 원본 보관함의 내용을 임시 폴더에 넣은 다음 새 보관함을 다시 포장하여 한 보관 형식을 다른 보관 형식으로 변환 할 수 있습니다.

모든 유틸리티에 대해 더 유용한 옵션이 많이 있지만 아마도 가장 많이 사용 된 옵션이 압축 해제되어 여러 다른 아카이브를 쉽게 추출 할 수 있습니다. tar, zip 등에 대한 다양한 명령을 사용하지 않고도 하나의 명령 만 실행하고 여러 다른 아카이브 형식을 추출 할 수있는 것이 좋습니다.

Thunar와 같은 파일 관리자의 사용자 정의 조치에 도구 기능을 통합하는 방법을 설명하는 최신 기사는 이 온라인 잡지를 참조하십시오 .


3

dtrx올바른 추출을 수행 하는 도구가 있습니다 .

우분투 저장소에서 설치하고 실행하십시오 dtrx somefile.someext. 이 도구는 사용자에게 중첩 된 아카이브 (zip 파일의 zip)에 대해 대화식으로 쿼리합니다.

dtrx는 frabjous 's extract의 정교한 버전입니다 .


0

어떤 형식을 다루어야합니까? 한 가지 방법은 쉘 스크립트를 작성하여 인수의 확장을 확인하는 것입니다. 또는 .tar. *의 변형 만 다룰 경우 tar -xf대부분 자동으로 처리 하면 됩니다. (따라서 unzip나는 보통 일반적으로 접하는 모든 것에 대해 어느 것이 충분 하고 기억합니다 .)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.