Trong hướng dẫn này, chúng ta sẽ tìm hiểu về head command thông qua một số ví dụ thực tế. Sau khi làm theo hướng dẫn này, người dùng Linux sẽ có thể làm việc với tệp văn bản một cách hiệu quả từ giao diện dòng lệnh.
Trong Linux, có nhiều lệnh khác nhau để hiển thị nội dung của tệp văn bản. Một số lệnh phổ biến và thường được sử dụng là cat, less, more, view, v.v. Tuy nhiên, tất cả các lệnh này chỉ có ý nghĩa khi chúng ta muốn hiển thị một phần lớn của tệp.
Đôi khi, chúng ta chỉ muốn hiển thị một số dòng đầu tiên của tệp. Trong những trường hợp như vậy, chúng ta có thể sử dụng lệnh head, giúp chúng ta hiển thị phần đầu của tệp.
Cú pháp lệnh head
Cú pháp của lệnh head rất đơn giản và tương tự với các lệnh Linux khác:
$ head [OPTIONS] [FILE-1] [FILE-2] ..
Chú ý rằng, trong cú pháp trên, cả các tham số OPTIONS và FILE đều là tùy chọn. Do đó, nếu không cung cấp tệp đầu vào hoặc đối số tệp là dau gạch chéo (-), thì nó sẽ đọc tệp từ luồng stdin.
Để bắt đầu, trước tiên, chúng ta hãy tạo một tệp văn bản đơn giản với nội dung sau:
$ cat file-1.txt
Bây giờ, tệp đầu vào đã sẵn sàng. Vậy hãy sử dụng nó để thể hiện cách sử dụng lệnh head.
1. Hiển thị 10 dòng đầu tiên của tệp trong Linux
Theo mặc định, lệnh head hiển thị các dòng đầu tiên của tệp đầu vào như sau:
$ head file-1.txt
Ở đây, chúng ta có thể thấy rằng lệnh chỉ hiển thị 10 dòng đầu tiên của tệp file-1.txt.
2. Hiển thị N dòng đầu tiên của tệp trong Linux
Trong ví dụ trước, chúng ta đã thấy rằng lệnh head hiển thị 10 dòng đầu tiên của tệp theo mặc định. Tuy nhiên, chúng ta có thể ghi đè lên hành vi mặc định này bằng cách sử dụng tùy chọn -n, cho phép chúng ta giới hạn số dòng cần hiển thị.
Để hiểu điều này, hãy sử dụng lệnh dưới đây để hiển thị 5 dòng đầu tiên của tệp file-1.txt:
$ head -n 5 file-1.txt
3. Xóa N dòng cuối cùng của tệp trong Linux
Tương tự như vậy, chúng ta có thể sử dụng số âm với tùy chọn -n để bỏ qua N dòng cuối cùng của tệp. Ví dụ, hãy sử dụng giá trị -10 để bỏ qua 10 dòng cuối cùng của tệp:
$ head -n -10 file-1.txt
Ở đầu ra trên, chúng ta có thể thấy rằng lệnh head chỉ hiển thị hai dòng đầu tiên.
4. Hiển thị N ký tự đầu tiên của tệp
Chúng ta cũng có thể chỉ định cho lệnh head hiển thị N byte đầu tiên của tệp bằng cách sử dụng tùy chọn -c:
$ head -c 8 file-1.txt
Ở đầu ra dưới đây, chúng ta có thể thấy lệnh head chỉ hiển thị tám ký tự đầu tiên từ tệp.
Trong trường hợp này, tệp chứa các ký tự ASCII chiếm 1 byte cho mỗi ký tự. Do đó, lệnh hiển thị tám ký tự đầu tiên bao gồm ký tự xuống dòng ( \n ).
5. Xóa N ký tự cuối cùng của tệp
Tương tự, chúng ta có thể sử dụng số âm với tùy chọn -c để xóa N byte cuối cùng. Vì vậy, hãy bỏ qua dòng cuối cùng của tệp file-1.txt bằng lệnh dưới đây:
$ head -c -9 file-1.txt
Ở đầu ra dưới đây, chúng ta có thể thấy rằng lệnh head hiển thị tất cả các ký tự trừ chín ký tự cuối cùng.
6. Hiển thị tên tệp trong tiêu đề của tệp
Lệnh head cho phép chúng ta hiển thị tên tệp hiện tại như một tiêu đề hiển thị bằng cách sử dụng tùy chọn -v:
$ head -n 5 -v file-1.txt
Ở đầu ra dưới đây, file-1.txt là tiêu đề hiển thị bằng cách dùng dấu mũi tên.
Tùy chọn này rất hữu ích khi làm việc với nhiều tệp. Do đó, lệnh head mặc định bật tùy chọn này khi chúng ta sử dụng nhiều tệp với nó.
7. Hiển thị tên tệp trong tiêu đề ở nhiều tệp
Chúng ta có thể sử dụng nhiều tệp với lệnh head. Trong những trường hợp như vậy, tiêu đề hiển thị được sử dụng để ngăn cách nội dung của các tệp. Hãy hiểu điều này qua một ví dụ đơn giản.
Đầu tiên, hãy tạo một bản copy của file-1.txt bằng lệnh cp:
$ cp file-1.txt file-2.txt
Bây giờ, hãy hiển thị ba dòng đầu tiên từ mỗi tệp:
$ head -n 3 file-1.txt file-2.txt
8. Làm thế nào để tắt hiển thị tiêu đề
Trong ví dụ trước, chúng ta đã thấy rằng mặc định, lệnh head kích hoạt hiển thị tiêu đề nếu chúng ta sử dụng nhiều tệp với nó. Tuy nhiên, chúng ta có thể sử dụng tùy chọn -q để ghi đè lên hành vi mặc định này.
Hãy sử dụng lệnh dưới đây để hiển thị ba dòng đầu tiên của cả hai tệp:
$ head -n 3 -q file-1.txt file-2.txt
Ở đây, chúng ta có thể thấy rằng bây giờ lệnh head hiển thị nội dung của tệp lần lượt mà không có tiêu đề hiển thị.
Trong bài viết này, chúng tôi đã tìm hiểu về head command thông qua các ví dụ thực tế. Người mới sử dụng Linux có thể tham khảo hướng dẫn này khi làm việc với các hệ thống Linux.