Liên hệProfile
Danh mục

Mục Lục

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

    Nguyễn Hưng

    Ngày đăng:

    01/04/2026

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

    01/04/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:

    01/04/2026

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

    01/04/2026

    Mục lục

    Lệnh wc trong Linux là công cụ dùng để thống kê số dòng, số từ, số ký tự hoặc byte trong file cũng như trong đầu ra của các lệnh khác, hỗ trợ rất tốt cho việc kiểm tra và phân tích nội dung văn bản trên hệ thống. Trong bài viết này, mình sẽ cùng bạn tìm hiểu chi tiết về lệnh wc trong Linux, từ khái niệm, cú pháp, các tùy chọn thường dùng cho đến những thao tác thực tế và cách kết hợp với các lệnh khác để xử lý dữ liệu hiệu quả hơn trên terminal.

    Những điểm chính

    Quan điểm của mình: Lệnh wc là một công cụ cơ bản của Unix, chuyên dùng để đếm dòng, từ và ký tự. Giá trị lớn nhất của nó nằm ở khả năng kết hợp với các lệnh khác qua pipelines, giúp nhanh chóng định lượng và xác thực dữ liệu. Nắm vững wc là một bước quan trọng để sử dụng dòng lệnh hiệu quả thông qua nguyên tắc kết hợp công cụ. Dưới đây là những điểm chính cần nắm:

    • Khái niệm: Hiểu rõ lệnh wc là công cụ dùng để thống kê dòng, từ, ký tự và byte, giúp bạn nhanh chóng kiểm tra và phân tích nội dung văn bản.
    • Cú pháp lệnh wc: Nắm vững cấu trúc cơ bản, gồm tùy chọn và tệp tin, để sử dụng lệnh một cách chính xác cho việc thống kê dữ liệu.
    • Các tùy chọn của wc: Nắm vững chức năng từng tùy chọn để thực hiện thống kê tệp tin một cách chính xác và linh hoạt.
    • Các ví dụ thực hành: Nắm vững các ví dụ thực tế, giúp bạn áp dụng lệnh wc một cách linh hoạt trong nhiều tình huống, từ việc đếm một file đơn lẻ đến kết hợp với các lệnh khác qua pipeline.
    • Lưu ý quan trọng: Nắm được các lưu ý và các lỗi thường gặp, giúp bạn sử dụng lệnh một cách an toàn, chính xác và tránh các kết quả không mong muốn.
    • Câu hỏi thường gặp: Được giải đáp các thắc mắc phổ biến, giúp bạn hiểu sâu hơn về khả năng kết hợp và ứng dụng của lệnh wc trong các kịch bản nâng cao.

    Lệnh wc trong Linux là gì?

    Lệnh wc trong Linux là lệnh dùng để thống kê số dòng, số từ, số ký tự, số byte trong một hoặc nhiều file văn bản, trong dữ liệu được truyền qua stdin từ các lệnh khác. Nhờ khả năng hiển thị nhanh các thông tin thống kê này và hỗ trợ nhiều tùy chọn như -l, -w, -m, -c, -L, lệnh wc thường được sử dụng trong các tác vụ xử lý log, kiểm tra nội dung, đếm file và kết hợp với pipeline để phân tích dữ liệu trên Linux một cách linh hoạt.

    Lệnh wc trong Linux là lệnh dùng để thống kê số dòng, số từ, số ký tự, số byte trong một hoặc nhiều file văn bản
    Lệnh wc trong Linux là lệnh dùng để thống kê số dòng, số từ, số ký tự, số byte trong một hoặc nhiều file văn bản

    Cú pháp lệnh wc trong Linux

    Cú pháp lệnh wc trong Linux thường được trình bày dưới dạng: wc [options] [file(s)].

    Trong đó:

    • [option]: Là các tùy chọn không bắt buộc, dùng để xác định kiểu thống kê cần thực hiện như đếm số dòng, số từ, số ký tự, số byte hoặc độ dài dòng dài nhất.
    • [file(s)]: Là tên một hoặc nhiều file được đưa vào để wc thực hiện thống kê. Nếu không chỉ định, dữ liệu sẽ được lấy từ stdin (đầu vào chuẩn).

    Các tùy chọn thường dùng của lệnh wc là gì?

    Tùy chọnCú pháp ví dụChức năng chính
    -lwc -l file.txtĐếm và hiển thị số dòng có trong file hoặc trong dữ liệu đọc từ stdin.
    -wwc -w file.txtĐếm số từ trong file, trong đó từ được xác định dựa trên các khoảng trắng và ký tự phân tách.
    -c / --byteswc -c file.txtĐếm tổng số byte của file, thường dùng khi cần kiểm tra kích thước dữ liệu ở cấp độ byte.
    -mwc -m file.txtĐếm số ký tự trong file, bao gồm cả khoảng trắng và ký tự đặc biệt.
    -L / --max-line-lengthwc -L file.txtHiển thị độ dài của dòng dài nhất trong file, hỗ trợ đánh giá độ rộng nội dung để bố trí hiển thị.
    --helpwc --helpIn ra màn hình tài liệu trợ giúp, liệt kê đầy đủ các tùy chọn và cách sử dụng lệnh wc.
    --versionwc --versionHiển thị thông tin phiên bản của lệnh wc đang được sử dụng trên hệ thống.
    --files0-from=FILEwc -l --files0-from=list.txtĐọc danh sách tên file từ một file khác, trong đó các tên file được phân tách bằng ký tự NUL (thường kết hợp với find -print0) rồi thực hiện thống kê trên toàn bộ các file đó, phù hợp khi tên file có khoảng trắng hoặc ký tự đặc biệt.

    Theo mình, tùy chọn -l là thứ bạn sẽ dùng nhiều nhất — đếm dòng trong log, đếm file trong thư mục, kiểm tra kết quả sau khi lọc dữ liệu. Một điểm cần lưu ý khi làm việc với văn bản tiếng Việt hay đa ngôn ngữ là sự khác biệt giữa -c (đếm byte) và -m (đếm ký tự), vì một ký tự UTF-8 có thể chiếm nhiều hơn 1 byte. Ngoài ra, -L cũng đáng ghi nhớ để phát hiện các dòng có độ dài bất thường khi gặp lỗi định dạng. Còn khi viết script, mình luôn dùng find ... -print0 kết hợp với wc --files0-from=- để tránh lỗi do tên file chứa khoảng trắng hoặc ký tự đặc biệt.

    Đếm số lượng từ (word), dòng (line), ký tự (char) của 1 file

    Khi sử dụng lệnh wc không kèm option với một file, hệ thống sẽ trả về tổng quan đầy đủ gồm số dòng, số từ và số byte (hoặc ký tự) của file đó.

    wc TPHCM.txt
    Đếm số lượng từ, dòng, ký tự của 1 file
    Đếm số lượng từ, dòng, ký tự của 1 file

    Kết quả thể hiện trên một dòng lần lượt là số dòng, số từ, số byte và tên file TPHCM.txt, giúp kiểm tra nhanh mức độ nội dung của file.

    Đếm số lượng từ (word), dòng (line), ký tự (char) riêng biệt của 1 file

    Trong trường hợp chỉ cần một loại thống kê cụ thể, bạn có thể dùng các option tương ứng để tách riêng số dòng, số từ, số byte hoặc số ký tự.

    wc -l file.txt
    wc -w file.txt
    wc -c file.txt
    wc -m file.txt
    wc -L file.txt
    Đếm số lượng từ, dòng, ký tự riêng biệt của 1 file
    Đếm số lượng từ, dòng, ký tự riêng biệt của 1 file

    Các câu lệnh trên lần lượt trả về số dòng, số từ, số byte, số ký tự và độ dài dòng dài nhất của file.txt, phù hợp khi phục vụ cho những báo cáo hoặc phân tích chi tiết.

    Đếm số dòng/từ/byte của nhiều file và dòng total

    Khi bạn cần thống kê cùng lúc nhiều file, wc cho phép liệt kê từng file kèm một dòng tổng hợp cuối cùng. Lệnh này hiển thị số dòng, số từ, số byte cho từng file và thêm dòng total thể hiện tổng cộng các giá trị của tất cả file.

    wc file1.txt file2.txt file3.txt

    Đếm qua stdin và pipeline

    Wc có thể nhận dữ liệu từ stdin nên rất hữu ích trong các chuỗi lệnh pipeline, đặc biệt khi cần đếm kết quả sau một bước xử lý nào đó.

    cat file.txt | wc -l

    Ở đây, cat xuất nội dung file ra đầu ra chuẩn, wc -l đếm số dòng, cách viết này thường dùng khi lồng trong chuỗi pipe phức tạp.

    Đếm số file hoặc mục trong thư mục

    Khi kết hợp với ls hoặc find, wc có thể dùng để đếm số lượng file hoặc thư mục đáp ứng điều kiện. Hai lệnh này lần lượt đếm số mục trong Desktop và số file .txt trong toàn bộ cây thư mục hiện tại.

    ls Desktop | wc -l
    find . -name "*.txt" | wc -l

    Đếm file thỏa điều kiện với find

    Đối với các trường hợp lọc file theo mẫu tên cụ thể trên nhiều đường dẫn, find kết hợp wc mang lại thống kê nhanh chóng.

    find /etc -name "host*" | wc -l

    Lệnh trên liệt kê tất cả file trong /etc có tên bắt đầu bằng “host” rồi dùng wc -l đếm số dòng, tương ứng với số file phù hợp điều kiện.

    Đếm số dòng trong file nén bằng zcat

    Với file log đã nén, bạn có thể dùng zcat để giải nén ra stdout trước rồi chuyển cho wc xử lý. Câu lệnh này cho biết tổng số dòng trong logfile.gz mà không cần giải nén ra file trung gian.

    zcat logfile.gz | wc -l

    Định dạng lại kết quả đếm với cut

    Trong một số kịch bản, kết quả từ wc có thể được cắt gọn lại bằng cut để phục vụ mục đích hiển thị hoặc xử lý tiếp theo.

    wc -w city | cut -c 1-2

    Ví dụ này đếm số từ trong file city rồi dùng cut cắt lấy một phần ký tự từ kết quả trả về.

    Sắp xếp thống kê với sort

    Khi cần so sánh số dòng giữa nhiều file, bạn có thể kết hợp wc và sort để sắp xếp theo thứ tự tăng dần hoặc giảm dần. Lệnh này thống kê số dòng của tất cả file .log rồi sắp xếp tăng dần theo số dòng, hỗ trợ nhận diện file log ngắn hoặc dài.

    wc -l *.log | sort -n

    Đếm số file log có chứa lỗi

    Trong trường hợp cần biết có bao nhiêu file log chứa lỗi, bạn có thể kết hợp grep và wc để đếm số file có ít nhất một dòng khớp từ khóa.

    grep -c "error" *.log | wc -l

    Grep -c đếm số dòng “error” trên từng file, sau đó wc -l đếm số dòng kết quả, tương ứng với số file log có chứa lỗi.

    Lưu ý khi sử dụng lệnh wc

    Khi sử dụng lệnh wc trong Linux, bạn cần lưu ý một số điểm sau để kết quả thống kê chính xác và thao tác với dữ liệu hiệu quả, đặc biệt khi làm việc với nhiều file, pipeline hoặc ký tự đặc biệt:

    • Phân biệt rõ -c và -m: wc -c đếm số byte, còn wc -m đếm số ký tự; với file chứa ký tự đa byte (UTF-8 tiếng Việt), hai kết quả có thể khác nhau nên cần chọn đúng option theo mục đích (đếm dung lượng hay đếm ký tự hiển thị).
    • Hiểu đúng ý nghĩa của kết quả mặc định: Khi chỉ chạy wc file, kết quả thường gồm nhiều cột (dòng, từ, byte/ký tự, tên file), do đó cần đọc đúng thứ tự cột hoặc tham khảo man page để tránh hiểu nhầm số liệu.
    • Cẩn trọng khi đếm nhiều file: Với nhiều file, wc sẽ in thống kê từng file và có thêm dòng total, vì vậy khi lấy số tổng, cần sử dụng dòng total thay vì cộng tay từng dòng để tránh sai lệch.
    • Kiểm tra ngữ cảnh khi dùng với pipeline: Khi kết hợp với các lệnh khác như grep, find, ls, việc wc đếm là số dòng output, không phải số “bản ghi logic”, nên cần thiết kế chuỗi lệnh sao cho mỗi dòng kết quả tương ứng đúng với một đơn vị cần đếm (một file, một dòng log, một kết quả lọc…).
    • Lưu ý quyền truy cập file: Trước khi dùng wc với các file hệ thống hoặc log yêu cầu đặc quyền, cần đảm bảo tài khoản có quyền đọc hoặc sử dụng thêm sudo khi cần, nếu không lệnh sẽ trả về lỗi “Permission denied” hoặc bỏ qua các file không truy cập được.
    • Cẩn thận với tên file chứa khoảng trắng/ký tự đặc biệt: Khi làm việc với danh sách file phức tạp, nên kết hợp find … -print0 với wc --files0-from=FILE để tránh lỗi tách tên file sai do khoảng trắng hoặc ký tự đặc biệt trong tên file.
    Lưu ý khi sử dụng lệnh wc
    Lưu ý khi sử dụng lệnh wc

    Dựa trên kinh nghiệm nhiều năm làm việc, mình có hai điểm thực tế muốn chia sẻ.

    • Thứ nhất, với wc -l, bạn hãy  nhớ rằng nó thực chất đếm số ký tự xuống dòng (\n). Điều này có nghĩa là nếu dòng cuối cùng của một file không có ký tự này, kết quả sẽ bị thiếu một dòng so với những gì mình thấy trên trình soạn thảo. Đây là một chi tiết nhỏ nhưng đã từng khiến mình nhầm lẫn khi đối chiếu số lượng bản ghi.
    • Thứ hai, khi wc -m cho kết quả đếm ký tự bất thường, đặc biệt là khi nó bằng với wc -c trên file có ký tự đa byte, kinh nghiệm của mình là kiểm tra ngay biến môi trường locale. Nếu hệ thống không được thiết lập đúng locale (ví dụ không phải UTF-8), việc đếm ký tự sẽ không chính xác.

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

    Lệnh wc trong Linux có thể dùng để thống kê nhiều thư mục con cùng lúc không?

    Câu trả lời là có, bạn có thể kết hợp find với wc để thống kê nhiều thư mục con, ví dụ: find /var/log -type f -name "*.log" | wc -l sẽ cho biết tổng số file log trong toàn bộ cây thư mục /var/log.

    Có thể giới hạn chỉ hiển thị phần số liệu mà không hiện tên file khi dùng wc không?

    Câu trả lời là có, bạn có thể dùng thêm các công cụ như awk hoặc cut để loại bỏ cột tên file, ví dụ: wc -l file.txt | awk '{print $1}' chỉ in ra giá trị số dòng mà không kèm tên file.

    Lệnh wc trong Linux có áp dụng được cho dữ liệu không phải file văn bản không?

    Câu trả lời là có, lệnh wc hoạt động trên luồng byte nên có thể áp dụng với bất kỳ loại file nào; tuy nhiên, với file nhị phân, kết quả đếm dòng và từ thường không có nhiều ý nghĩa, nên trong trường hợp này chỉ số byte (wc -c) thường hữu ích hơn.

    Lệnh wc trong Linux không chỉ dừng lại ở chức năng đếm đơn thuần mà còn là thành phần quan trọng trong nhiều chuỗi lệnh phân tích log, thống kê file và xử lý văn bản khi biết cách kết hợp với grep, find, zcat, sort hoặc các lệnh khác. Sau khi nắm vững cú pháp, các tùy chọn cùng những ví dụ thao tác thực tế, bạn có thể linh hoạt ứng dụng lệnh wc trong Linux để tối ưu quy trình làm việc với dữ liệu, đặc biệt trong môi trường quản trị hệ thống và devops.

    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

    Cách dùng lệnh parted Linux để quản lý Partition mạnh mẽ và linh hoạt
    Cách dùng lệnh parted Linux để quản lý Partition mạnh mẽ và linh hoạt

    parted Linux là một công cụ dòng lệnh chuyên dụng dùng để quản lý phân vùng ổ đĩa như tạo, sửa, xóa, thay đổi kích thước partition và thiết lập bảng phân vùng. Trong quá trình vận hành và quản trị hàng nghìn máy chủ, mình thường xuyên phải xử lý các bài toán mở…

    29/04/2026

    Cách dùng lệnh umount Linux để tháo ổ đĩa và Filesystem an toàn, nhanh chóng
    Cách dùng lệnh umount Linux để tháo ổ đĩa và Filesystem an toàn, nhanh chóng

    umount Linux là công cụ chuyên dụng dùng để tách rời hệ thống tệp hoặc thiết bị lưu trữ khỏi cấu trúc cây thư mục, đảm bảo mọi dữ liệu tạm thời được ghi hoàn tất và các tiến trình liên quan được đóng lại an toàn. Từ kinh nghiệm hỗ trợ hạ tầng cho…

    29/04/2026

    Hướng dẫn sử dụng lệnh shutdown Linux để tắt và khởi động lại hệ thống an toàn
    Hướng dẫn sử dụng lệnh shutdown Linux để tắt và khởi động lại hệ thống an toàn

    shutdown Linux là lệnh dùng để tắt hoặc khởi động lại hệ thống một cách an toàn, đảm bảo tiến trình được đóng đúng cách và hạn chế mất dữ liệu. Bài viết này được mình đúc kết từ quá trình xử lý hàng nghìn sự cố dữ liệu do tắt máy đột ngột cho…

    28/04/2026

    Hướng dẫn sử dụng lệnh jobs trong Linux để quản lý tiến trình nền
    Hướng dẫn sử dụng lệnh jobs trong Linux để quản lý tiến trình nền

    Lệnh jobs trong Linux là công cụ dòng lệnh cơ bản được sử dụng để hiển thị trạng thái của các tiến trình đang chạy trong phiên Terminal hiện tại và đưa chúng vào chế độ nền hoặc tiền cảnh. Bài viết này được mình đúc kết từ quá trình hỗ trợ hàng ngàn khách…

    28/04/2026

    linux

    lenh

    text