.7z
tài liệu lưu trữ là tài liệu lưu trữ thường được nén với một số loại thuật toán, trong khi .tar
tài liệu lưu trữ chỉ là tài liệu lưu trữ.
Chúng khác nhau về phạm vi của chúng và trong hầu hết các trường hợp, một chuyển đổi sẽ yêu cầu giải nén tùy chọn luôn theo sau là trích xuất kho lưu trữ nguồn. Ngay cả khi một .7z
kho lưu trữ sẽ không sử dụng bất kỳ nén nào, nó vẫn sẽ yêu cầu trích xuất.
Điều đó đang được nói, Nếu bạn có ý định [giải nén] / giải nén / tìm kiếm kho lưu trữ nguồn cùng một lúc, câu trả lời là bạn không thể, ít nhất là không sử dụng các công cụ mặc định của Ubuntu vì tar
bạn không thể đọcstdin
và vì vậy bạn không thể đọc 7z
và tar
. Dù sao, rất dễ dàng để tự động hóa mọi thứ trong một lệnh:
mkdir tmp && 7z x <path_to_source_archive> -otmp && tar cf archive.tar tmp && rm -rf tmp
* <path_to_archive> = đường dẫn đến .7z
kho lưu trữ nguồn
Ngoài ra thời gian cần thiết cho các tập tin nén nguồn để được ghi vào đĩa và cho các file trích xuất để được đọc để [giải nén] / trích xuất / rearchive các kho lưu trữ nguồn theo hai bước là một nút cổ chai cho toàn bộ nhiệm vụ chủ yếu (altough không chỉ) do tốc độ I / O thấp của một ổ đĩa tiềm năng, do đó, một giải pháp một phần sẽ là lưu trữ các tệp tạm thời vào một đĩa ram để gần như vô hiệu hóa nút cổ chai chung:
- Tạo điểm gắn kết cho hệ thống tập tin của ramdisk:
sudo mkdir /mnt/tmpfs
- Gắn hệ thống tệp của ramdisk:
sudo mount -t tmpfs -o size=<tmpfs_size> tmpfs /mnt/ramdisk
* <tmpfs_size> = kích thước của hệ thống tệp theo byte * 10 3 (1, 1K, 1M, 1G, ...)
- Chạy
mkdir /mnt/tmpfs/tmp && 7z x <path_to_source_archive> -o/mnt/tmpfs/tmp && tar cf archive.tar /mnt/tmpfs/tmp && rm -rf /mnt/tmpfs/tmp
* <path_to_archive> = đường dẫn đến .7z
kho lưu trữ nguồn
- Ngắt kết nối hệ thống tập tin của ramdisk:
sudo umount
- Xóa điểm gắn kết cho hệ thống tệp của ramdisk:
sudo rmdir /mnt/tmpfs
.7z
tệp trên máy tính khác?