Liên hệProfile
Danh mục

Mục Lục

    Hướng dẫn sử lệnh split trong Linux chi tiết kèm ví dụ thực tế

    Nguyễn Hưng

    Ngày đăng:

    04/02/2026

    Cập nhật lần cuối:

    04/02/2026

    Lượt xem:
    Chia sẻ
    Đánh giá
    5/5 - (1 bình chọn)

    Nguyễn Hưng

    Lượt xem:
    Ngày đăng:

    04/02/2026

    Cập nhật lần cuối:

    04/02/2026

    Mục lục

    Lệnh split Linux được dùng để chia các file dung lượng lớn thành nhiều phần nhỏ hơn, giúp việc lưu trữ và xử lý dữ liệu trở nên nhẹ nhàng và linh hoạt. Bài viết này sẽ giới thiệu khái niệm, cú pháp cơ bản, các tùy chọn quan trọng và ví dụ thực tế để bạn áp dụng lệnh split hiệu quả trong công việc hằng ngày trên hệ thống Linux. 

    Những điểm chính

    • Khái niệm và cú pháp cơ bản: Biết được lệnh split trong Linux là lệnh cho phép chia nhỏ các file lớn thành các phần nhỏ hơn, giúp dễ dàng lưu trữ, truyền tải hoặc phân tích mà không làm thay đổi file gốc.
    • Các tùy chọn phổ biến: Làm chủ các tùy chọn quan trọng để chia file theo số dòng (-l), kích thước (-b), sử dụng hậu tố số (-d) và tùy chỉnh tên file đầu ra.
    • Ví dụ và ứng dụng thực tế: Tham khảo các ví dụ minh họa chi tiết từ cách chia file thành N phần bằng nhau đến việc ngăn tạo file rỗng và sử dụng chế độ --verbose.
    • Hiệu suất và các lựa chọn thay thế: Hiểu rõ các yếu tố ảnh hưởng đến tốc độ xử lý và biết đến các công cụ thay thế như csplit hay sed cho các nhu cầu phức tạp hơn.
    • Giải đáp thắc mắc (FAQ): Nhận câu trả lời cho các vấn đề thường gặp như xử lý file nhị phân, cách ghép các file đã chia và giới hạn của lệnh.

    Lệnh split trong Linux là gì?

    Lệnh split trong Linux là một công cụ dòng lệnh dùng để chia một file lớn thành nhiều file nhỏ hơn, thường được ứng dụng trong các trường hợp cần xử lý dữ liệu quy mô lớn như quản lý file log hoặc file lưu trữ dung lượng lớn nhằm tối ưu hóa việc phân tích, truyền tải hoặc lưu trữ. Theo mặc định, split sẽ tách file nguồn thành các file con, mỗi file chứa 1000 dòng, nhưng người dùng có thể tùy chỉnh số dòng này theo nhu cầu của từng tác vụ cụ thể. Lệnh split hoạt động độc lập và không làm thay đổi nội dung file gốc.

    Lệnh split trong Linux là một công cụ dòng lệnh dùng để chia một file lớn thành nhiều file nhỏ hơn
    Lệnh split trong Linux là một công cụ dòng lệnh dùng để chia một file lớn thành nhiều file nhỏ hơn

    Lệnh split trong linux có cú pháp cơ bản như sau:

    split [tùy_chọn] tên_tệp_nguồn [tiền_tố_cho_tệp_mới]

    Quy ước đặt tên và tùy chỉnh của lệnh split

    Các file được tạo ra bởi lệnh split sẽ được đặt tên theo một quy tắc rõ ràng, dễ theo dõi, có dạng PREFIXaa, PREFIXab, PREFIXac,… Trong đó, PREFIX là tiền tố do người dùng quy định (mặc định là x). Bạn có thể thay đổi tiền tố này cũng như kích thước hoặc số dòng của mỗi file con để phù hợp với mục đích sử dụng. Phần hậu tố phía sau sẽ tự động tăng dần theo thứ tự chữ cái hoặc số, giúp việc nhận biết, sắp xếp và quản lý các file sau khi chia trở nên đơn giản và trực quan hơn.

    Những tùy chọn phổ biến của lệnh split

    Dưới đây là các tùy chọn thường dùng với lệnh split giúp bạn linh hoạt chia nhỏ file theo kích thước, số dòng và kiểu hậu tố:

    • -b : Dùng để chia file thành nhiều phần có kích thước cố định, phù hợp khi bạn quan tâm đến dung lượng từng file hơn là số dòng.​
    • -l : Dùng để chia file thành các phần, mỗi phần chứa một số lượng dòng cố định, rất hữu ích khi thao tác với file văn bản hoặc file log lớn.​
    • -d: Chuyển hậu tố mặc định từ dạng chữ cái sang dạng số, giúp việc sắp xếp và xử lý tự động trở nên thuận tiện hơn.​
    • -a: Thiết lập độ dài phần hậu tố được gắn vào tên file đầu ra.
    • –verbose: Yêu cầu chương trình in thông báo chẩn đoán ra lỗi tiêu chuẩn trước khi mở mỗi file đầu ra mới.
    • –additional-suffix: Thêm một chuỗi hậu tố bổ sung vào sau phần hậu tố tự động mà lệnh split sinh ra.
    • –numeric-suffixes: Chuyển sang sử dụng hậu tố dạng số thay vì dạng chữ cái mặc định.
    • –filter: Gửi từng khối dữ liệu sau khi chia qua một lệnh shell để xử lý tiếp, thay vì ghi trực tiếp ra file thường.
    Những tùy chọn phổ biến của lệnh split
    Những tùy chọn phổ biến của lệnh split

    Để giúp bạn dễ hình dung cách lệnh split hoạt động và khả năng tùy chỉnh linh hoạt của lệnh, các ví dụ trong bài viết sẽ thống nhất sử dụng một file mẫu có tên index.txt xuyên suốt nội dung.

    Chia nhỏ file theo thiết lập mặc định

    Khi sử dụng lệnh split mà không kèm theo bất kỳ tùy chọn nào, hệ thống sẽ áp dụng chế độ chia file mặc định. Theo cơ chế này, file index.txt được tách thành nhiều file nhỏ, mỗi file chứa 1000 dòng.​ Lệnh thực hiện như sau:

    split index.txt
    Khi lệnh trên được chạy, nội dung trong index.txt sẽ được cắt ra thành các file con với tên lần lượt như xaa, xab, xac, …
    Khi lệnh trên được chạy, nội dung trong index.txt sẽ được cắt ra thành các file con với tên lần lượt như xaa, xab, xac, …

    Sau khi chạy lệnh, nội dung của index.txt sẽ được chia thành các file nhỏ có tên lần lượt là xaa, xab, xac, …. Các file này (ngoại trừ file cuối cùng) đều có đủ 1000 dòng. Do không chỉ định tiền tố khi chạy lệnh, split sẽ sử dụng tiền tố mặc định là x, kết hợp với hậu tố chữ cái tăng dần để đặt tên cho các file con.

    Chia file theo số dòng cụ thể

    Nếu bạn muốn chủ động kiểm soát số dòng trong mỗi file sau khi tách, bạn hãy sử dụng tùy chọn -l (viết tắt của lines). Bạn có thể thực hiện câu lệnh sau:

    split -l 4 index.txt split_file
    Câu lệnh trên sẽ chia file index.txt thành nhiều file con, mỗi file chứa đúng 4 dòng dữ liệu với tên file được ghép tiền tố split_file
    Câu lệnh trên sẽ chia file index.txt thành nhiều file con, mỗi file chứa đúng 4 dòng dữ liệu

    Câu lệnh trên sẽ chia file index.txt thành nhiều file con, mỗi file chứa đúng 4 dòng dữ liệu với tên file được ghép tiền tố split_file, chẳng hạn như split_fileaa, split_fileab,…

    iconLưu ý

    Giá trị 4 dòng chỉ mang tính minh họa để bạn dễ hình dung cách hoạt động. Bạn có thể thay bằng bất kỳ số dòng nào phù hợp với nhu cầu xử lý dữ liệu của mình.​

    Sử dụng lệnh split với chế độ Verbose

    Tùy chọn --verbose cho phép hiển thị thông báo chi tiết ngay khi mỗi file con được tạo ra, giúp bạn theo dõi trực tiếp quá trình chia file. Đây là tùy chọn hữu ích khi cần kiểm soát hoặc kiểm tra tiến trình xử lý dữ liệu.

    Lệnh thực hiện:

    split index.txt -l 4 --verbose
    Tùy chọn --verbose cho phép hiển thị thông báo chi tiết ngay khi mỗi file con được tạo ra
    Tùy chọn –verbose cho phép hiển thị thông báo chi tiết ngay khi mỗi file con được tạo ra

    Lệnh trên sẽ tách file index.txt thành nhiều tệp nhỏ, mỗi tệp gồm 4 dòng dữ liệu. Đồng thời, terminal sẽ hiển thị thông tin chi tiết theo thời gian thực về từng file được tạo, giúp bạn dễ dàng quan sát và kiểm soát quá trình xử lý.

    iconLưu ý

    Tham số -l 4 chỉ mang tính minh họa, bạn có thể thay đổi linh hoạt theo nhu cầu sử dụng.

    Chia file theo kích thước Byte chính xác

    Để chia file theo kích thước tính bằng byte thay vì dựa trên số dòng, bạn có thể dùng tùy chọn -b (viết tắt của bytes).

    split -b 16 index.txt index
    Chia file theo kích thước byte chính xác
    Chia file theo kích thước byte chính xác

    Khi thực thi, file index.txt sẽ được chia thành nhiều file nhỏ như indexaa, indexab,… trong đó mỗi file chứa đúng 16 byte dữ liệu.

    Tùy chỉnh độ dài hậu tố file đầu ra

    Mặc định, hậu tố của các file sau khi chia có độ dài 2 ký tự (aa, ab…). Bạn có thể thay đổi độ dài này bằng tùy chọn -a (suffix-length) với lệnh:

    split -l 4 -a 4 index.txt
    Các file sau khi chia sẽ được gán hậu tố dài 4 ký tự
    Các file sau khi chia sẽ được gán hậu tố dài 4 ký tự

    Các file sau khi chia sẽ được gán hậu tố dài 4 ký tự, tạo ra những tên như xaaaa, xaaab và tiếp tục tăng dần theo thứ tự bảng chữ cái.

    iconLưu ý

    Tham số -l 4 trong ví dụ chỉ nhằm mục đích minh họa cho cách hoạt động của lệnh và có thể thay đổi tùy nhu cầu thực tế.

    Tạo file chia với hậu tố định dạng số

    Theo mặc định, split sử dụng hậu tố chữ cái. Nếu bạn muốn dùng hậu tố dạng số, hãy thêm tùy chọn -d (numeric-suffixes).

    split -l 4 -d index.txt
    Kết quả của lệnh split -l 4 -d index.txt
    Kết quả của lệnh split -l 4 -d index.txt

    Chương trình sẽ chia file index.txt thành nhiều file nhỏ, mỗi file 4 dòng và tên file được gắn hậu tố số như x00, x01, x02 theo thứ tự tăng dần.

    iconLưu ý

    Tham số -l 4 trong ví dụ chỉ nhằm giúp minh họa và bạn có thể thay đổi thành bất kỳ số dòng nào phù hợp với nhu cầu của mình.

    Chia file thành N phần cụ thể (Chunks)

    Để chia một file thành một số phần xác định trước, chẳng hạn muốn tách thành đúng ba file đầu ra, bạn có thể sử dụng tùy chọn -n (viết tắt của number of chunks) cùng với lệnh split. Tùy chọn này cho phép chỉ định số lượng phần cần tạo thay vì dựa trên số dòng hay kích thước cố định:

    split -n 3 index.txt
    Kết quả của lệnh split -n 3 index.txt
    Kết quả của lệnh split -n 3 index.txt

    Khi chạy lệnh, nội dung trong index.txt sẽ được phân tách thành đúng ba phần riêng biệt và chương trình sẽ cố gắng phân bổ dữ liệu sao cho dung lượng giữa các phần là tương đối đồng đều. Điều này rất hữu ích khi bạn chỉ quan tâm đến việc có N file đầu ra, bất kể mỗi file chứa bao nhiêu dòng hay bao nhiêu byte.

    Tùy chỉnh tiền tố file đầu ra

    Lệnh split cho phép bạn đặt tiền tố tùy chỉnh cho các file đầu ra thay vì phải dùng các tên mặc định. Nếu muốn các file sau khi chia đều bắt đầu bằng chuỗi “split_index_“, bạn chỉ cần chỉ định chuỗi này ở vị trí tiền tố trong câu lệnh:

    split -l 4 index.txt split_index_
    Kết quả của lệnh split -l 4 index.txt split_index_
    Kết quả của lệnh split -l 4 index.txt split_index_

    Với lệnh bên trên, nội dung file index.txt sẽ được chia thành các file nhỏ, mỗi file 4 dòng và tên file sẽ có dạng split_index_aa, split_index_ab cùng với hậu tố mặc định tăng dần theo bảng chữ cái.

    iconLưu ý

    Tham số -l 4 chỉ mang tính minh họa và bạn có thể điều chỉnh số dòng cho phù hợp với nhu cầu xử lý dữ liệu của mình.

    Ngăn chặn việc tạo file trống khi chia nhỏ

    Để tránh tình trạng file có dung lượng nhỏ nhưng lại bị chia thành quá nhiều phần thì bạn có thể dùng tùy chọn -e
    Để tránh tình trạng file có dung lượng nhỏ nhưng lại bị chia thành quá nhiều phần thì bạn có thể dùng tùy chọn -e

    Trong trường hợp file gốc nhỏ nhưng bị chia thành quá nhiều phần, có thể phát sinh các file rỗng không chứa dữ liệu. Để tránh tình trạng này, bạn hãy dùng tùy chọn -e (elide empty files).

    split -l 4 -e index.txt

    Lệnh vẫn thực hiện chia file bình thường, nhưng sẽ không tạo các file trống, giúp thư mục kết quả gọn gàng và dễ quản lý hơn.

    Chia file thành hai phần có kích thước tương đương

    Để chia một file thành đúng hai phần có dung lượng hoặc số dòng gần tương đương nhau, bạn có thể sử dụng tùy chọn -n với giá trị 2 trong lệnh split. Cách này phù hợp khi mục tiêu chính là có hai file kết quả cân bằng thay vì tự mình tính toán số dòng hoặc kích thước cho mỗi phần:

    split -n 2 index.txt
    Kết quả của lệnh split -n 2 index.txt
    Kết quả của lệnh split -n 2 index.txt

    Với lệnh bên trên, nội dung của index.txt sẽ được tách thành hai file đầu ra, thường có tên lần lượt là xaaxab, mỗi file chứa xấp xỉ một nửa tổng dữ liệu của file gốc. Điều này giúp việc xử lý và phân phối dữ liệu trở nên đơn giản hơn khi cần chia đôi một file lớn.

    Hiệu suất khi chia file bằng lệnh split

    Lệnh split khi áp dụng cho các file dung lượng lớn sẽ phải đọc toàn bộ dữ liệu từ đĩa rồi ghi lại thành nhiều file con nên tốc độ xử lý phụ thuộc mạnh vào hiệu năng I/O của hệ thống lưu trữ. Để tránh quá trình chia file diễn ra chậm và tạo ra quá nhiều file nhỏ không cần thiết, bạn nên bảo đảm đủ dung lượng đĩa và lựa chọn kích thước mỗi phần sao cho phù hợp với kích thước file nguồn cũng như nhu cầu sử dụng thực tế.

    tốc độ xử lý phụ thuộc mạnh vào hiệu năng I/O của hệ thống lưu trữ
    Tốc độ xử lý của lệnh split phụ thuộc mạnh vào hiệu năng I/O của hệ thống lưu trữ

    Các lựa chọn thay thế cho lệnh split

    Khi cần chia nhỏ file lớn, ngoài lệnh split bạn vẫn có thể cân nhắc một số công cụ và cách tiếp cận khác để linh hoạt hơn trong từng tình huống xử lý dữ liệu cụ thể:

    • csplit là tiện ích dòng lệnh cho phép chia file dựa trên ngữ cảnh, chẳng hạn như các mẫu biểu thức chính quy hoặc số thứ tự dòng, rất phù hợp khi bạn muốn cắt file theo các mốc nội dung xác định sẵn.​
    • sed hoạt động như một trình soạn thảo luồng, có thể dùng để trích xuất những khoảng dòng cụ thể rồi ghi chúng ra các file riêng, nhờ đó bạn dễ dàng tổ chức lại dữ liệu dựa trên phạm vi dòng mong muốn.
    • Việc viết script bằng Python hoặc các ngôn ngữ lập trình khác cho phép bạn xây dựng logic chia file tùy biến theo đúng yêu cầu nghiệp vụ, đặc biệt hữu ích trong các quy trình kỹ thuật dữ liệu hoặc xử lý file tự động ở quy mô lớn.
    Việc viết script bằng Python hoặc các ngôn ngữ lập trình khác cho phép bạn xây dựng logic chia file tùy biến theo đúng yêu cầu nghiệp vụ
    Việc viết script bằng Python cho phép bạn xây dựng logic chia file tùy biến theo đúng yêu cầu nghiệp vụ

    Câu hỏi thường gặp

    Lệnh split trong Linux có dùng được với dữ liệu nhị phân không?

    Có, lệnh split xử lý cả file văn bản lẫn file nhị phân vì lệnh này chỉ thao tác trên byte hoặc dòng mà không quan tâm nội dung bên trong.

    Sau khi dùng split chia nhỏ file, làm sao ghép lại thành file gốc?

    Bạn có thể sử dụng lệnh cat theo đúng thứ tự tên file con rồi chuyển hướng về một file mới, ví dụ cat xaa xab xac > merged_file để khôi phục nội dung ban đầu.

    split có giới hạn số lượng file đầu ra không và xử lý thế nào nếu cần chia nhiều hơn?

    Theo mặc định, số lượng file phụ thuộc vào độ dài hậu tố, nhưng bạn có thể tăng giới hạn này bằng cách dùng tùy chọn -a để kéo dài phần hậu tố, ví dụ -a 3 cho phép tạo nhiều file hơn đáng kể.

    Lệnh split Linux là công cụ hữu ích trong để chia các file lớn thành nhiều phần nhỏ, giúp dễ quản lý và xử lý hơn. Nhờ hỗ trợ tách theo số dòng, theo kích thước byte và tùy chỉnh tên file đầu ra, split đặc biệt phù hợp cho các tác vụ sao lưu, truyền tải và tiền xử lý dữ liệu dung lượng lớn.

    5/5 - (1 bình chọn)
    Nguyễn Hưng
    Tôi là Nguyễn Hưng hay còn được biết đến với nickname là Bo, chuyên gia về hệ thống, mạng và bảo mật. Tôi là Co-Founder của Vietnix và Co-Founder của dự án Chống Lừa Đảo.
    0 0 đánh giá
    Đánh giá bài viết
    Theo dõi
    Thông báo của
    guest
    0 Góp ý
    Cũ nhất
    Mới nhất Được bỏ phiếu nhiều nhất
    Phản hồi nội tuyến
    Xem tất cả bình luận

    BÀI VIẾT LIÊN QUAN

    Hướng dẫn sử dụng lệnh zip trong Linux chi tiết
    Hướng dẫn sử dụng lệnh zip trong Linux chi tiết

    Lệnh zip trong Linux là công cụ dòng lệnh phổ biến dùng để nén tệp và thư mục thành định dạng .zip nhằm tiết kiệm dung lượng lưu trữ và hỗ trợ việc sao lưu, chia sẻ dữ liệu hiệu quả hơn. Nhờ khả năng tương thích cao với nhiều hệ điều hành như Windows…

    04/02/2026

    Tổng quan về lệnh Sdiff Linux – Công cụ so sánh và hợp nhất tệp tin
    Tổng quan về lệnh Sdiff Linux – Công cụ so sánh và hợp nhất tệp tin

    Lệnh sdiff trên Linux là một tiện ích dòng lệnh dùng để so sánh sự khác biệt giữa hai file và hiển thị kết quả theo dạng song song, giúp bạn dễ quan sát các thay đổi giữa hai phiên bản file. Trong bài viết này, mình sẽ cung cấp một cái nhìn toàn diện…

    04/02/2026

    Tìm hiểu cách sử dụng I/O Redirection và Pipes hiệu quả trong Linux
    Tìm hiểu cách sử dụng I/O Redirection và Pipes hiệu quả trong Linux

    Trong Linux, I/O Redirection và đặc biệt là Pipe (|) là những kỹ thuật quan trọng giúp dòng lệnh trở nên mạnh mẽ và linh hoạt hơn trong việc xử lý dữ liệu. Thông qua cơ chế điều hướng đầu vào/đầu ra và kết hợp các lệnh với nhau, người dùng có thể xây dựng…

    04/02/2026

    Hướng dẫn chi tiết cách khởi chạy file sh trong Linux
    Hướng dẫn chi tiết cách khởi chạy file sh trong Linux

    File .sh là script shell dùng để tự động hóa các lệnh và tác vụ trong hệ điều hành Linux thông qua dòng lệnh. Việc chạy file .sh giúp bạn tiết kiệm thời gian, giảm thao tác lặp lại và hạn chế lỗi khi thực thi nhiều lệnh thủ công. Trong bài viết này, mình…

    23/01/2026

    linux

    lenh

    text