Bạn có lo lắng khi chuyển hoặc tải lên các tệp lớn qua mạng, thì đừng lo lắng nữa, vì bạn có thể di chuyển các tệp của mình theo từng phần để xử lý tốc độ mạng chậm bằng cách chia chúng thành các khối có kích thước nhất định.
Trong hướng dẫn này, chúng ta sẽ tìm hiểu ngắn gọn cách tạo tệp nén và chia chúng thành các khối có kích thước được chọn. Chúng ta sẽ sử dụng tar
, một trong những tiện ích nén phổ biến nhất trên Linux, và cũng tận dụng tiện ích split
để giúp chúng ta chia nhỏ các tệp nén thành các phần nhỏ.
Trước khi chúng ta đi xa hơn, chúng ta hãy ghi lại cách sử dụng các tiện ích này, cú pháp chung của lệnh tar
và split
như sau:
# tar options archive-name files
# split options file "prefix”
Bây giờ chúng ta hãy xem vài ví dụ để minh họa khái niệm chính của bài viết này.
Ví dụ 1: Đầu tiên, chúng ta có thể tạo một tệp nén như sau:
$ tar -cvjf home.tar.bz2 /home/aaronkilik/Documents/*
Để xác nhận rằng tệp nén của chúng ta đã được tạo và kiểm tra kích thước của nó, chúng ta có thể sử dụng lệnh ls
:
$ ls -lh home.tar.bz2
Sau đó, bằng cách sử dụng tiện ích split
, chúng ta có thể chia tệp nén home.tar.bz2
thành các khối nhỏ mỗi khối có kích thước 10MB
như sau:
$ split -b 10M home.tar.bz2 "home.tar.bz2.part"
$ ls -lh home.tar.bz2.parta*
Như bạn có thể thấy từ kết quả của các lệnh trên, tệp nén tar đã được chia thành bốn phần.
Lưu ý: Trong lệnh split trên, tùy chọn -b
được sử dụng để chỉ định kích thước của mỗi khối và "home.tar.bz2.part"
là tiền tố trong tên của mỗi tệp khối được tạo sau khi chia.
Ví dụ 2: Tương tự như trường hợp trên, ở đây, chúng ta có thể tạo một tệp nén của một tệp hình ảnh ISO của Linux Mint.
$ tar -cvzf linux-mint-18.tar.gz linuxmint-18-cinnamon-64bit.iso
Sau đó, làm theo các bước giống như ví dụ 1 ở trên để chia tệp nén thành các phần nhỏ có kích thước 200MB
.
$ ls -lh linux-mint-18.tar.gz
$ split -b 200M linux-mint-18.tar.gz "ISO-archive.part"
$ ls -lh ISO-archive.parta*
Ví dụ 3: Trong trường hợp này, chúng ta có thể sử dụng một ống để kết nối đầu ra của lệnh tar với split
như sau:
$ tar -cvzf - wget/* | split -b 150M - "downloads-part"
Xác nhận các tệp:
$ ls -lh downloads-parta*
Trong ví dụ cuối cùng này, chúng ta không cần chỉ định tên tệp nén như bạn đã nhận thấy, chỉ cần sử dụng dấu -.
Cách kết hợp các tệp Tar sau khi chia
Sau khi thành công trong việc chia các tệp tar hoặc bất kỳ tệp lớn nào khác trên Linux, bạn có thể kết hợp các tệp bằng cách sử dụng lệnh cat. Sử dụng cat là phương pháp hiệu quả và đáng tin cậy nhất để thực hiện thao tác kết hợp.
Để kết hợp lại tất cả các khối hoặc tệp tar, chúng ta gõ lệnh dưới đây:
# cat home.tar.bz2.parta* >backup.tar.gz.joined
Chúng ta có thể thấy rằng sau khi chạy lệnh cat, nó kết hợp tất cả các khối nhỏ chúng ta đã tạo trước đó thành tệp nén ban đầu cùng kích thước.
Kết luận
Ý tưởng chung là đơn giản, như chúng tôi đã chỉ ra ở trên, bạn chỉ cần biết và hiểu cách sử dụng các tùy chọn khác nhau của tar và split.
Bạn có thể tham khảo các trang hướng dẫn chi tiết để tìm hiểu thêm về các tùy chọn khác và thực hiện một số thao tác phức tạp khác, hoặc bạn có thể đọc bài viết sau để tìm hiểu thêm về lệnh tar.