Có chương trình nào để cung cấp giao diện nhất quán trên nhiều loại lưu trữ không?


13

Hiện tại, nếu tôi tải xuống một tệp nén, nó có thể là bất kỳ tệp lưu trữ .tar.gz, tar.bz2 arhive, lưu trữ .zip hoặc lưu trữ .gz. Và mỗi lần tôi làm như vậy, tôi phải nhớ các tùy chọn dòng lệnh cho chương trình đó là gì.

Có chương trình CLI nào mà tôi có thể đi không:

giải nén một số tệp. ??

và để nó tìm ra định dạng của kho lưu trữ trong? (tên quá dài được sử dụng để tránh xung đột với bất kỳ chương trình thực tế nào)


Tôi không thể tìm hoặc tạo bất kỳ thẻ nào archive, compressionv.v. Người khác có thể thêm thẻ chính xác không?
Macha

@Tshepang: Đã sửa.
Macha

Câu trả lời:


11

Bạn có thể sử dụng p7zip . Nó tự động xác định loại lưu trữ và giải nén nó.

p7zip là phiên bản dòng lệnh của 7-Zip cho Unix / Linux, được tạo bởi một nhà phát triển độc lập.

7z e <file_name>


5

Tôi đã tìm thấy đoạn trích nhỏ này một thời gian trước và đã sử dụng nó kể từ đó. Tôi chỉ có nó trong tập tin .bashrc của tôi

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
}

1
Điều này hiệu quả hơn câu trả lời được chấp nhận, vì 7z e foo.tar.gzchỉ để lại cho bạn một foo.tartệp.
Wilfred Hughes

2

Trong Debian / Ubuntu có unpgói, đây là tập lệnh Perl hoạt động như một lối vào cho nhiều tiện ích lưu trữ.


2

Từ một câu hỏi khác : atool , cũng xử lý các loại lưu trữ khác nhau và mạnh hơn unpvì nó cũng xử lý danh sách nội dung, tìm sự khác biệt giữa các tài liệu lưu trữ, v.v.


1

GNU tar (và sao) có ít nhất một số khả năng tự động phát hiện nén:

tar xf foo.tar.gz
tar xf foo.tar.bz

chỉ làm việc


Nó phụ thuộc vào phiên bản tar mà định dạng mà nó có thể tự động phát hiện nhưng khác với nó hoạt động tốt ... IIRC starthực sự là một cách tiêu chuẩn hơn, trong đó tar của GNU là một phần mở rộng không chuẩn.
xenoterracide

Phiên bản mới nhất của GNU tar có thể giải nén tất cả các tài liệu lưu trữ nén, được tạo bằng bất kỳ công tắc bộ lọc nén nào (z, j, J, --lzma), nó sẽ tự động phát hiện nén.
Polemon


1

Tôi nghĩ rằng arkcác công cụ KDE lưu trữ có thể chạy mà không có một giao diện đồ họa. Từ arktrang

ark --batch archive.tar.bz2

Sẽ trích xuất archive.tar.bz2 vào thư mục hiện tại mà không hiển thị bất kỳ GUI nào.

Arks hỗ trợ các định dạng lưu trữ khác nhau tùy thuộc vào ứng dụng bạn đã cài đặt (ví dụ như rar nó phụ thuộc vào unrar), nhưng tôi không biết bất kỳ định dạng nào nó không thể xử lý.



0

Unarchiver hỗ trợ trích xuất khoảng 50 định dạng khác nhau với giao diện nhất quán.

Theo mặc định, một thư mục được tạo nếu có nhiều hơn một tệp hoặc thư mục cấp cao nhất.

Xem nó man-page .

Phiên bản dòng lệnh hỗ trợ Linux và có sẵn ở đây .

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.