Trình quản lý lưu trữ dòng lệnh / extracter


15

Tôi tiếp tục quên tất cả các lệnh giải nén tương ứng cho mọi định dạng nén.

Vì vậy, tôi đã suy nghĩ về việc viết một tập lệnh chỉ ánh xạ các phần mở rộng tập tin vào lệnh giải nén thích hợp. Nhưng tôi đoán một cái gì đó như thế này đã tồn tại, tôi không thể tìm thấy nó.

Tôi sẽ hài lòng với một cái gì đó giống như con lăn tệp, nhưng con lăn tệp là một công cụ GUI.

Câu trả lời:


11

Một vài gợi ý:

unp

unp (có sẵn từ trung tâm phần mềm) là một mô-đun perl nhỏ sẽ giải nén nhiều loại tài liệu lưu trữ vào thư mục hiện tại. Sử dụng unp -scho các định dạng lưu trữ mà nó hỗ trợ

Theo mặc định, nó giải nén tài liệu lưu trữ vào thư mục hiện tại.

con lăn tập tin

con lăn tập tin có thể được chạy từ dòng lệnh. Sử dụng file-roller -h <archive name>để giải nén kho lưu trữ.


11

Từ đây , để đặt .bashrc của bạn:

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
} 

Thêm một ví dụ về cách sử dụng nó?
MiniGod

4
giải nén file.zip
frabjous

4

Điều chưa được đề cập là con dao quân đội của các tiện ích dòng lệnh : atool; nó có sẵn trong kho: nhấp vào atool Cài đặt atool hoặc chạy sudo apt-get install atool.

atoolthực sự là một tập lệnh bao gồm các chức năng khác nhau như aunpack, apack, als, acat, adiff và arepack. Có lẽ việc sử dụng phổ biến nhất của chương trình là trích xuất tài liệu lưu trữ bằng lệnh aunpack. Có khá nhiều tùy chọn thú vị và hữu ích, nhưng cách cơ bản để trích xuất hầu hết các tài liệu lưu trữ chỉ là chạy, ví dụ,

aunpack myarchive.tar

Sự hỗ trợ cho tar, 7z, zip, jar, rar, ar, lha và nhiều định dạng lưu trữ khác và các biến thể của chúng được ghi lại bằng cách nhập vào man atoolthiết bị đầu cuối hoặc bằng cách xem trang web Ubuntu trực tuyến .

Vì vậy, điều hữu ích là nếu bạn có một kho lưu trữ tar, zip và gz trong cùng một thư mục, tất cả những gì bạn cần làm để giải nén tất cả là chạy

aunpack -e *

và tất cả các tài liệu lưu trữ được hỗ trợ sẽ được giải nén với cấu trúc thư mục của chúng được giữ lại. Nếu tên của thư mục kết quả đã tồn tại, nó sẽ không bị ghi đè, nhưng sẽ được đặt một tên duy nhất như unpack-5645.

Hoặc nếu bạn muốn chọn chỉ một loại lưu trữ và giải nén tất cả, thay vào đó hãy sử dụng

aunpack -e *.zip

Nếu bạn cần các tệp được giải nén trực tiếp trong một thư mục cụ thể, chỉ có cấu trúc thư mục thư mục con được giữ lại (nếu nó thoát), ví dụ, nhập

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

Nếu một tệp có cùng tên đã tồn tại, bạn sẽ được nhắc thực hiện một hành động đổi tên hoặc ghi đè trừ khi bạn đã chỉ định tùy chọn bắt buộc (-f ) trong lệnh.

Như trang ghi chú, aunpack trích xuất đầu tiên

tập tin vào một thư mục (tạm thời) duy nhất, và sau đó di chuyển lại nội dung của nó nếu có thể. Điều này cũng ngăn chặn các tập tin cục bộ bị ghi đè do nhầm lẫn.


Với các công cụ khác, các hành động khác là có thể, như được đề cập bởi trang man :

  • apack tạo tài liệu lưu trữ từ các tập tin hoặc thư mục chỉ định hoặc stdin
  • als liệt kê các tập tin trong kho lưu trữ chỉ định
  • acat cho phép một người trích xuất các tệp lưu trữ vào thiết bị xuất chuẩn
  • adiff cho phép bạn so sánh hai tài liệu lưu trữ được chỉ định
  • arepack cho phép chuyển đổi một định dạng lưu trữ sang định dạng khác bằng cách đặt nội dung của kho lưu trữ ban đầu vào một thư mục tạm thời và sau đó đóng gói lại định dạng mới.

Có nhiều tùy chọn hữu ích hơn cho tất cả các tiện ích, nhưng có lẽ ứng dụng được sử dụng nhiều nhất sẽ là aunpack, vì điều đó giúp dễ dàng trích xuất nhiều tài liệu lưu trữ khác nhau. Thật tuyệt khi có thể chỉ phát hành một lệnh và có thể trích xuất nhiều định dạng lưu trữ khác nhau mà không phải sử dụng các lệnh khác nhau cho tar, zip, v.v.

Đối với một bài viết gần đây mô tả cách tích hợp các chức năng atool vào các hành động tùy chỉnh của trình quản lý tệp của bạn, chẳng hạn như Thunar, hãy xem tạp chí trực tuyến này .


3

Có một công cụ được gọi là dtrx- thực hiện khai thác đúng.

Cài đặt nó từ kho Ubuntu và chạy dtrx somefile.someext. Công cụ sẽ tương tác truy vấn người dùng về lưu trữ lồng nhau (tệp zip của tệp zip).

dtrx là một phiên bản tinh vi của chiết xuất frabjous .


0

Những loại định dạng nào bạn cần phải đối phó với? Một cách là viết một kịch bản shell, kiểm tra các phần mở rộng của đối số của nó. Hoặc, nếu tất cả những gì bạn xử lý là các biến thể trên .tar. *, Chỉ cần thực hiện tar -xfsẽ xử lý hầu hết các tự động đó. (Do đó, tôi chỉ nhớ điều đó và unzipđủ cho tất cả mọi thứ tôi thường gặp.)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.