Liên hệProfile
Danh mục

Mục Lục

    Lệnh head trong Linux là gì? 7 cách sử dụng lệnh head kèm ví dụ chi tiết nhấ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 head trong Linux là công cụ dùng để hiển thị nhanh một số dòng hoặc byte đầu tiên của file, giúp kiểm tra phần mở đầu nội dung mà không cần mở toàn bộ dữ liệu. Trong bài viết này, mình sẽ cùng bạn tìm hiểu chi tiết cách sử dụng lệnh head trong Linux, từ cú pháp cơ bản, các tùy chọn quan trọng cho đến những ví dụ thực tế để áp dụng vào công việc quản trị hệ thống và xử lý file hiệu quả hơn.

    Những điểm chính

    Quan điểm của mình: Kể từ năm 2026, khi khối lượng dữ liệu (logs, datasets, outputs) ngày càng tăng lên, việc thành thạo dòng lệnh sẽ không chỉ dừng lại ở việc biết các lệnh đơn lẻ. Thay vào đó, kỹ năng quan trọng là khả năng kết hợp các lệnh này thành những chuỗi xử lý dữ liệu (pipelines) hiệu quả. Lệnh head là một ví dụ cụ thể: chức năng của nó không chỉ là xem phần đầu của một tệp tin, mà nó còn là một thành phần thiết yếu trong các chuỗi lệnh, giúp người dùng nhanh chóng trích xuất thông tin cần thiết từ những tập dữ liệu có dung lượng rất lớn.

    • Khái niệm: Hiểu rõ lệnh head là công cụ dùng để hiển thị phần đầu của tệp tin, giúp bạn nhanh chóng kiểm tra nội dung mà không cần mở toàn bộ file.
    • Cú pháp: Nắm vững cú pháp cơ bản và cách kết hợp với các tùy chọn, giúp bạn sử dụng lệnh một cách chính xác và hiệu quả.
    • Các tùy chọn phổ biến: Tìm hiểu về các tùy chọn quan trọng như -n, -c, -v-q, giúp bạn kiểm soát chi tiết đầu ra theo số dòng, số byte hoặc cách hiển thị tiêu đề.
    • Các ví dụ thực hành: Nắm vững các ví dụ thực tế từ việc hiển thị mặc định, kết hợp với pipe đến xem nhiều file, giúp bạn áp dụng lệnh head vào các tình huống công việc hàng ngày một cách linh hoạt.
    • Lưu ý quan trọng: Nắm được một số điểm quan trọng để thao tác với file và luồng dữ liệu được chính xác hơn.
    • Câu hỏi thường gặp: Được giải đáp các thắc mắc liên quan đến lệnh head trong Linux.

    Lệnh head trong Linux là gì?

    Lệnh head trong Linux là lệnh dùng để hiển thị một số dòng đầu tiên của nội dung tệp hoặc đầu ra lệnh trên terminal, mặc định thường lấy 10 dòng đầu để người dùng quan sát nhanh phần mở đầu dữ liệu mà không cần mở toàn bộ file lớn. Ngoài việc làm việc với số dòng, lệnh head còn cho phép lấy một lượng byte nhất định từ đầu file, đồng thời có thể áp dụng cho một hoặc nhiều tệp cùng lúc nên phù hợp cho các thao tác kiểm tra log, file cấu hình hay kết quả lệnh thông qua pipe trong quá trình quản trị hệ thống Linux.

    Lệnh head trong Linux là lệnh dùng để hiển thị một số dòng đầu tiên của nội dung tệp hoặc đầu ra lệnh trên terminal
    Lệnh head trong Linux là lệnh dùng để hiển thị một số dòng đầu tiên của nội dung tệp hoặc đầu ra lệnh trên terminal

    Cú pháp sử dụng lệnh head

    Cú pháp cơ bản của lệnh head trong Linux được biểu diễn dưới dạng: head [options] [file(s)].

    Trong đó:

    • head: Tên lệnh dùng để đọc phần đầu nội dung.
    • [options]: Các tùy chọn mở rộng như -n để chỉ số dòng, -c để chỉ số byte.
    • [file(s)]: Một hoặc nhiều tên file cần lấy dữ liệu từ đầu file, nếu bỏ qua thì lệnh sẽ đọc từ stdin.

    Khi kết hợp thêm các tùy chọn, cấu trúc cú pháp không thay đổi mà chỉ bổ sung tham số phía sau options, giúp kiểm soát chính xác số dòng hoặc số byte cần hiển thị ở phần đầu nội dung.

    Trong thực tế, mình dùng -n cho gần như mọi tác vụ với file văn bản, từ kiểm tra tiêu đề CSV đến xem log. Tùy chọn -c chỉ thực sự hữu ích khi làm việc với file nhị phân, vì nó có thể làm hỏng ký tự đa byte. Với nhiều file, -q là cứu tinh để gộp dữ liệu mà không bị lẫn tiêu đề, còn -v lại đảm bảo output nhất quán cho script.

    Tùy chọn -n, –lines=[-]NUM

    Tùy chọn -n hoặc –lines=[-]NUM dùng để chỉ định cụ thể số dòng cần hiển thị từ đầu file thay vì giá trị mặc định 10 dòng. Khi dùng dạng -n NUM, lệnh head sẽ in ra đúng NUM dòng đầu tiên, còn khi sử dụng tiền tố dấu – trước giá trị NUM, lệnh sẽ bỏ qua NUM dòng đầu và hiển thị phần nội dung phía sau trong file hoặc trong luồng dữ liệu được truyền vào.

    Ví dụ:

    • head -n 5 file.txt: Hiển thị 5 dòng đầu tiên của file file.txt.
    • head -n -5 file.txt: Bỏ qua 5 dòng đầu và in phần nội dung từ dòng thứ 6 trở đi trong file.txt.

    Tùy chọn -c, –bytes=[-]NUM

    Tùy chọn -c hoặc –bytes=[-]NUM cho phép hiển thị một lượng byte xác định tính từ phần đầu nội dung, phù hợp khi cần kiểm tra nhanh cấu trúc hoặc định dạng của file ở mức byte. Giá trị NUM có thể là số nguyên đơn vị byte hoặc kèm hậu tố như k, m để biểu thị kilobyte, megabyte, và tương tự với tiền tố dấu -, lệnh sẽ bỏ qua NUM byte đầu rồi in ra phần còn lại, hỗ trợ linh hoạt trong các tình huống xử lý file lớn.

    Ví dụ:

    • head -c 100 file.log: Hiển thị 100 byte đầu tiên của file file.log.
    • head -c -100 file.log: Bỏ qua 100 byte đầu và hiển thị phần nội dung còn lại của file.log.

    Tùy chọn -v, –verbose

    Tùy chọn -v hoặc –verbose được sử dụng khi cần luôn hiển thị tiêu đề (header) tên file trước phần nội dung in ra, kể cả trong trường hợp chỉ có một file được truyền vào lệnh head. Cách hiển thị này giúp nhận biết rõ nội dung đang thuộc về file nào, đặc biệt khi kết hợp nhiều file trong cùng một lệnh hoặc khi dùng head trong các script xử lý dữ liệu.

    Ví dụ:

    head -v file1.txt file2.txt: Hiển thị 10 dòng đầu của từng file kèm header tên file1.txtfile2.txt trước mỗi khối nội dung, giúp phân biệt rõ dữ liệu của từng file.

    Tùy chọn -q

    Tùy chọn -q dùng để ẩn tiêu đề tên file khi lệnh head làm việc với nhiều file cùng lúc, nhờ đó đầu ra chỉ còn thuần nội dung mà không kèm dòng header. Tùy chọn này thường được áp dụng trong các pipeline hoặc script khi cần lấy dữ liệu đầu file từ nhiều nguồn nhưng muốn giữ kết quả gọn, liên tục, thuận tiện cho bước xử lý tiếp theo.

    Ví dụ:

    head -q file1.log file2.log: Hiển thị 10 dòng đầu của file1.logfile2.log liên tiếp mà không chèn dòng tiêu đề tên file, phù hợp khi dữ liệu được chuyển tiếp sang lệnh khác để xử lý.

    Ví dụ 1: Hiển thị mặc định 10 dòng đầu một file

    Để xem nhanh 10 dòng đầu tiên của một file văn bản mà không cần thêm tùy chọn nào và đồng thời kiểm tra sơ bộ nội dung hoặc cấu trúc file, bạn có thể sử dụng lệnh sau:

    head countries.txt
    Hiển thị mặc định 10 dòng đầu một file
    Hiển thị mặc định 10 dòng đầu một file

    Ví dụ 2: Hiển thị 100 byte đầu một file

    Khi cần quan sát chính xác 100 byte đầu tiên của file để kiểm tra phần header hoặc định dạng dữ liệu ở mức byte, bạn có thể áp dụng cú pháp sử dụng tùy chọn -c như sau:

    head -c 100 countries.txt
    Hiển thị 100 byte đầu một file
    Hiển thị 100 byte đầu một file

    Ví dụ 3: Hiển thị 5 dòng đầu một file

    Trong trường hợp muốn giới hạn kết quả chỉ còn 5 dòng đầu tiên của file để nội dung gọn hơn và dễ theo dõi, bạn có thể chọn một trong hai cách viết tương đương dưới đây:

    head -n 5 countries.txt
    head -5 countries.txt
    Hiển thị 5 dòng đầu một file
    Hiển thị 5 dòng đầu một file

    Ví dụ 4: Hiển thị redirect output của các file

    Nếu cần trích một số dòng đầu của nhiều file rồi gộp chung vào một file mới phục vụ mục đích lưu trữ hoặc phân tích tổng hợp, bạn có thể sử dụng lệnh kết hợp với toán tử chuyển hướng như sau:

    head -n 3 countries.txt >> numbers.txt
    Hiển thị redirect output của các file
    Hiển thị redirect output của các file

    Ví dụ 5: Xem nội dung nhiều file cùng lúc

    Khi muốn quan sát phần đầu nội dung của nhiều file trong một lần thực thi để đối chiếu hoặc so sánh dữ liệu, bạn có thể truyền nhiều tên file vào cùng một câu lệnh như sau:

    head file1.txt file2.txt

    Ví dụ 6: Hiển thị khoảng dòng cụ thể

    Để lấy ra một đoạn dòng nằm giữa file (từ dòng num1 đến dòng num2) mà không phải mở toàn bộ nội dung, bạn có thể kết hợp head với tail trong chuỗi lệnh sau:

    head -num2 file | tail -(num2-num1+1) 

    Ví dụ 7: Kết hợp với lệnh khác qua pipe

    Trong các thao tác phân tích và lọc dữ liệu trên terminal, khi cần danh sách top một số mục theo tiêu chí nhất định, bạn có thể kết hợp du, sort và head theo cấu trúc pipeline như sau:

    du -h | sort -hr | head -5 

    Lưu ý quan trọng khi thực hiện lệnh head

    Khi sử dụng lệnh head trong Linux, bạn cần lưu ý một số điểm quan trọng để thao tác với file và luồng dữ liệu được chính xác và an toàn hơn:

    • Luôn kiểm tra kỹ tham số NUM khi dùng với -n hoặc -c: Việc nhập sai giá trị số dòng hoặc số byte (quá lớn hoặc dùng tiền tố - không đúng mục đích) có thể khiến kết quả không đúng như mong muốn, đặc biệt khi làm việc với các file lớn hoặc luồng dữ liệu từ pipeline.
    • Cẩn thận khi dùng head với file dung lượng rất lớn: Mặc dù head chỉ lấy phần đầu nội dung, nhưng khi kết hợp với các lệnh khác hoặc xử lý trên luồng dữ liệu dài, việc sử dụng các giá trị lớn, âm hoặc động (biến trong script) có thể làm tăng tài nguyên bộ nhớ trong một số trường hợp nhất định.
    • Kiểm soát rõ ngữ cảnh khi làm việc với nhiều file: Khi dùng head với nhiều file, nên cân nhắc thêm -v hoặc -q để hiển thị hoặc ẩn header tên file, tránh nhầm lẫn dữ liệu giữa các file khi đọc kết quả hoặc khi chuyển tiếp output sang lệnh khác.
    • Lưu ý khi chuyển hướng output sang file khác: Khi dùng toán tử > hoặc >> cùng head để ghi ra file, hãy chắc chắn về tên file đích vì > sẽ ghi đè toàn bộ nội dung cũ, còn >> sẽ ghi nối tiếp, nếu nhầm lẫn có thể làm mất dữ liệu quan trọng.
    Lưu ý quan trọng khi thực hiện lệnh head
    Lưu ý quan trọng khi thực hiện lệnh head

    Từ kinh nghiệm làm việc của mình, giá trị cốt lõi của các công cụ dòng lệnh như head nằm ở tính đơn chức năng và hiệu quả cao. Nó tuân thủ chặt chẽ nguyên tắc thiết kế “làm một việc và làm tốt việc đó”. Trên thực tế, việc dùng head để kiểm tra phần đầu của file, ví dụ head -n 20 file.log, là phương pháp ưu tiên để chẩn đoán sơ bộ dữ liệu vì nó nhanh và không tiêu tốn nhiều tài nguyên hệ thống.

    Tiềm năng của head được phát huy tối đa khi tích hợp vào các chuỗi lệnh (pipeline), cho phép xây dựng các quy trình xử lý dữ liệu phức tạp từ những thành phần đơn giản. Cuối cùng, một kinh nghiệm quan trọng là phải luôn thận trọng khi sử dụng toán tử chuyển hướng, vì nhầm lẫn giữa > (ghi đè) và >> (ghi nối tiếp) có thể dẫn đến mất dữ liệu không thể phục hồi.

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

    Có thể sử dụng lệnh head để xem nhiều hơn 10 dòng đầu tiên của một file không?

    Câu trả lời là có, lệnh head trong Linux hoàn toàn có thể hiển thị nhiều hơn 10 dòng đầu tiên bằng cách dùng tùy chọn -n kèm số dòng mong muốn, ví dụ: head -n 20 file.txt sẽ hiển thị 20 dòng đầu của file thay vì mặc định 10 dòng.

    Sự khác biệt giữa lệnh head và tail trong Linux là gì?

    Lệnh head trong Linux dùng để in ra các dòng ở phần đầu của file hoặc luồng dữ liệu, trong khi lệnh tail dùng để in ra các dòng ở phần cuối, thường được sử dụng để xem log mới nhất hoặc phần kết của nội dung.

    Lệnh head có thể được sử dụng để hiển thị nội dung của một URL không?

    Lệnh head không làm việc trực tiếp với URL, nhưng có thể kết hợp với các công cụ như curl hoặc wget để lấy nội dung từ URL rồi dùng head xử lý tiếp, ví dụ: curl -s https://example.com | head -n 20 sẽ tải nội dung HTML và chỉ hiển thị 20 dòng đầu.

    Lệnh head trong Linux là một trong những lệnh cơ bản nhưng rất hữu ích khi làm việc với file log, file cấu hình hoặc các tệp dữ liệu lớn, vì giúp tập trung vào phần nội dung đầu tiên một cách nhanh chóng và có kiểm soát. Sau khi nắm được cú pháp, các tùy chọn và những ví dụ thực hành với lệnh head trong Linux, bạn có thể kết hợp linh hoạt với các lệnh khác trên terminal để tối ưu quy trình kiểm tra, lọc và phân tích dữ liệu trong môi trường Linux.

    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 pidstat trong Linux để giám sát tài nguyên các tiến trình sử dụng
    Hướng dẫn sử dụng lệnh pidstat trong Linux để giám sát tài nguyên các tiến trình sử dụng

    Lệnh pidstat là công cụ chuyên dụng trên hệ thống Linux, được sử dụng để giám sát tài nguyên mà các tiến trình đang sử dụng. Bài viết này được mình đúc kết từ quá trình trực tiếp xử lý hàng nghìn ticket tối ưu hệ thống cho khách hàng tại Vietnix, nơi mà mỗi…

    20/04/2026

    smartctl là gì? Cách sử dụng smartctl trong Linux để kiểm tra sức khỏe ổ cứng
    smartctl là gì? Cách sử dụng smartctl trong Linux để kiểm tra sức khỏe ổ cứng

    smartctl là một tiện ích dòng lệnh giúp quản lý và giám sát hệ thống S.M.A.R.T., từ đó theo dõi chi tiết sức khỏe ổ cứng HDD/SSD trong môi trường máy chủ lẫn máy trạm cá nhân. Trong bài viết này, bạn sẽ tìm hiểu cách cài đặt, sử dụng các lệnh smartctl quan trọng…

    14/04/2026

    cryptsetup là gì? Cách mã hóa phân vùng với cryptsetup (LUKS) trên Linux
    cryptsetup là gì? Cách mã hóa phân vùng với cryptsetup (LUKS) trên Linux

    cryptsetup là tiện ích dòng lệnh nguồn mở trong Linux dùng để quản lý mã hóa đĩa dựa trên dm-crypt và chuẩn LUKS, hỗ trợ tạo volume an toàn với nhiều khóa và tương thích cao. Bài viết này hướng dẫn toàn diện về cryptsetup từ cài đặt, quy trình mã hóa, quản lý key…

    14/04/2026

    Aureport là gì? Hướng dẫn sử dụng lệnh aureport trên Linux
    Aureport là gì? Hướng dẫn sử dụng lệnh aureport trên Linux

    Aureport là công cụ dòng lệnh mạnh mẽ trong hệ thống auditd Linux, chuyên tạo báo cáo thống kê tóm tắt từ các tệp nhật ký kiểm toán. Bài viết này sẽ hướng dẫn chi tiết cách sử dụng aureport để giám sát bảo mật và phân tích hoạt động hệ thống hiệu quả. Những…

    09/04/2026

    linux

    lenh

    text