Linux: Làm thế nào để chia một tệp lớn thành các tệp nhỏ hơn?


10

Tôi có một tệp khổng lồ (> 20 hợp đồng biểu diễn) đang ngồi trên máy nguồn của mình và tôi cần chuyển nó vào máy mục tiêu của mình. Đối với mục đích của câu hỏi này, hãy giả sử rằng tôi không có kết nối mạng giữa hai máy.

Tôi cần chia tệp này thành một loạt các tệp nhỏ hơn, ghi các tệp nhỏ hơn vào DVD, sau đó lắp ráp lại mọi thứ trên máy đích.

Cả hai máy nguồn và đích đều là các hộp Linux. Có cách nào để thực hiện điều này bằng cách sử dụng tar? Tôi có cảm giác rằng tôi cần sử dụng --multi-volumetham số. Những lựa chọn của tôi là gì?

Tôi cần có khả năng chỉ định kích thước của các tệp âm lượng, để đảm bảo rằng mỗi tệp sẽ vừa với một đĩa DVD.

Cảm ơn!

Câu trả lời:


14

Sử dụng lệnh split.

split -b 22 m newfile.txt new sẽ chia tệp "newfile.txt" thành ba tệp riêng biệt được gọi là newaa, newab và newac mỗi tệp có kích thước 22 MB.


3
Hãy cẩn thận khi tạo tiền tố "mới" mà bạn chia sẻ với tệp gốc "newfile.txt". Bây giờ khi bạn cố gắng làm cat new* > newfile.txtnó sẽ nổ tung!
Robert Martin

@RobertMartin Bắt tốt!
duffbeer703

6

Các câu trả lời khác đã được đề cập splitđể kết hợp chúng thành một tệp chính mà bạn vừa sử dụng cat.


3

Điều này có thể được thực hiện dễ dàng bằng cách sử dụng split , vốn đã có sẵn trong cơ sở phân phối của bạn vì nó là một phần của lõi gnu .


0

chia -b 4000000000 file_name

Nó sẽ tạo ra mỗi tệp 4 GB

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.