Cách sử dụng lệnh head trên Linux

Tác giả sysadmin, T.M.Một 22, 2023, 01:31:25 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 4 Khách đang xem chủ đề.

Cách sử dụng lệnh head trên Linux


Xem nhanh các tệp và luồng dữ liệu bằng lệnh head trên Linux.

  • Lệnh head của Linux, chẳng hạn như "head example.txt", sẽ liệt kê mười dòng đầu tiên của tệp văn bản hoặc dữ liệu đầu vào.
  • Bạn có thể tùy chỉnh lệnh head để hiển thị số dòng cụ thể bằng cách sử dụng tùy chọn "-n" hoặc hạn chế đầu ra ở các byte cụ thể bằng tùy chọn "-c".
  • Bạn cũng có thể sử dụng lệnh head để giám sát hệ thống theo thời gian thực, có chọn lọc bằng cách phân tích nhật ký và các tệp văn bản khác có thể thay đổi theo thời gian.

Trên Linux, có nhiều lệnh khác nhau để lấy toàn bộ nội dung của tệp văn bản. Nhưng nếu bạn cần một phần nào đó hoặc một vài dòng bắt đầu thì sao? Lệnh head in nội dung ban đầu của file trên terminal.

1. Lệnh head trên Linux là gì?

Linux có nhiều lệnh để hiển thị nội dung tập tin. Phổ biến nhất và được sử dụng thường xuyên là cat, lessvà viewlệnh. Tuy nhiên, các lệnh này hữu ích hơn khi hiển thị các phần lớn tệp. Nếu bạn chỉ cần hiển thị một số dòng cụ thể của tệp, headlệnh sẽ có sẵn cho bạn.

Lệnh headthực hiện ngược lại với những gì tail lệnh thực hiện. Nó hiển thị nội dung bắt đầu của tệp, trong khi taillệnh in các dòng kết thúc của tệp. Theo mặc định, headhiển thị 10 dòng đầu tiên. Nếu bạn muốn in nhiều hơn hoặc ít hơn 10 dòng, chỉ cần sử dụng -ntùy chọn. Tương tự, -ctùy chọn bằng head lệnh có thể giới hạn đầu ra ở một số byte cụ thể.

Lệnh head có thể phân tích nhật ký và các tệp văn bản khác có thể thay đổi theo thời gian. Bạn có thể sử dụng headlệnh kết hợp với các lệnh khác để theo dõi có chọn lọc, theo thời gian thực.

Cú pháp head của lệnh rất dễ hiểu và tương tự như các lệnh Linux khác:

Mã nguồn [Chọn]
head [OPTION]... [FILE]...
Lệnh head có thể lấy một hoặc nhiều tệp làm đầu vào. Nó cũng chấp nhận một số tùy chọn sửa đổi hành vi và đầu ra của nó. Nếu không có tệp nào được chỉ định, headlệnh sẽ đọc từ đầu vào tiêu chuẩn.

Để kiểm tra phiên bản của headlệnh, hãy sử dụng:

Mã nguồn [Chọn]
head --version

Tương tự, gõ lệnh bên dưới để xuất headmenu trợ giúp lệnh:

Mã nguồn [Chọn]
head --help

2. Tùy chọn lệnh head

Bạn có thể sử dụng nhiều tùy chọn khác nhau với headlệnh trên Linux. Mỗi tùy chọn có dạng ngắn gọn và mở rộng để sử dụng với cú pháp cơ bản. Nó kiểm soát lượng dữ liệu mà headlệnh in ra đầu ra bình thường. Ví dụ: nó cho phép bạn quyết định có đưa tiêu đề vào đầu ra của tệp hay không.

Bảng sau chứa danh sách các tùy chọn có sẵn cho head lệnh:


Trước khi chuyển sang phần trình diễn lệnh head, trước tiên chúng ta hãy xem nội dung của tệp mẫu. Sử dụng catlệnh theo sau là tên tệp để lấy tất cả dữ liệu của tệp mẫu.

Mã nguồn [Chọn]
cat example.txt

Tệp ví dụ này chứa 15 dòng văn bản.

Bây giờ, hãy in nội dung của tệp example.txt bằng headlệnh. Lệnh headkhông có bất kỳ tùy chọn nào sẽ in 10 dòng đầu tiên của tệp.

Mã nguồn [Chọn]
head example.txt

3. Lấy số dòng cụ thể

Để hiển thị một số dòng nhất định bằng headlệnh, hãy thêm tùy chọn -n( --lines) theo sau là tên tệp.

Để hiển thị bốn dòng đầu tiên của example.txt, hãy chạy:

Mã nguồn [Chọn]
head -n 4 example.txt

Tương tự, số âm cũng có thể được chỉ định bằng -ntùy chọn. Điều này sẽ bỏ qua N dòng cuối cùng của một tập tin. Điều này hữu ích khi bạn muốn bỏ qua một số dòng ở cuối tệp.

Ví dụ: để bỏ qua hai dòng cuối cùng của tệp example.txt, hãy chạy:

Mã nguồn [Chọn]
head -n -2 example.txt

4. Kéo số byte cụ thể bằng cách sử dụng head

Một trường hợp sử dụng khác của headlệnh là lấy một số byte nhất định từ đầu tệp. Bạn có thể thực hiện việc này bằng cách sử dụng tùy chọn -c( --bytes) theo sau là một chữ số.

Giả sử bạn có cùng một tệp example.txt và nó chứa 15 dòng văn bản. Để có được 20 byte đầu tiên, hãy chạy:

Mã nguồn [Chọn]
head -c 20 example.txt

Vì tệp example.txt chứa các ký tự ASCII nên mỗi ký tự bao gồm khoảng trắng và dòng mới sẽ chiếm một byte.

Một số âm cũng có thể được xác định bằng -ctùy chọn. Điều này sẽ hiển thị tất cả byte của tệp, ngoại trừ N byte cuối cùng. Để hiển thị tất cả các byte trong example.txt, ngoại trừ 13 byte cuối cùng, hãy chạy:

Mã nguồn [Chọn]
head -c -13 example.txt

5. Xem các ký tự cụ thể trong một tệp

Đôi khi, bạn cần xem một phần nhất định của tệp chứ không phải toàn bộ nội dung tệp. Giả sử bạn có một tệp có nhiều dòng nội dung và bạn muốn xem ký tự đầu tiên hoặc cuối cùng của mỗi dòng. Để làm được điều này, bạn phải kết hợp headlệnh với các lệnh xử lý văn bản khác như cut, awk, hoặc sed.

Ví dụ: để truy xuất chữ cái đầu tiên của mỗi dòng trong example.txt, hãy sử dụng cutlệnh với -ctùy chọn theo sau là vị trí ký tự. Theo mặc định, bạn sẽ nhận được ký tự bắt đầu của 10 dòng đầu tiên, trừ khi bạn chỉ định số dòng đầu ra.

Mã nguồn [Chọn]
head example.txt | cut -c 1

Để xem từ cuối cùng của mỗi dòng trong example.txt, hãy sử dụng awklệnh có {print $NF}mẫu. Sử dụng toán tử ống (|) để chuyển cả hai headvà awklệnh. Bằng cách này, đầu ra của headlệnh sẽ đóng vai trò là đầu vào cho awklệnh.

Khi bạn sử dụng {print $NF}, nó sẽ awkin giá trị của trường cuối cùng cho mỗi dòng trong đầu vào. Bằng cách sử dụng $NF, bạn không cần biết trước mỗi dòng có bao nhiêu trường; awktự động xử lý nó cho bạn và trích xuất trường cuối cùng.

head example.txt | awk '{print $NF}'


6. Xem Tiêu đề/Tên tệp với lệnh head

Theo mặc định, khi head lệnh được sử dụng với một tệp duy nhất, nó sẽ không in tên tệp. Tuy nhiên, nó có thể hiển thị tên file khi sử dụng với nhiều file.

Sử dụng -v tùy chọn để lấy tên tệp cùng với nội dung của nó. Tùy chọn này in tiêu đề có tên tệp của tệp được chỉ định.

Mã nguồn [Chọn]
head -v example.txt

7. Hiển thị nội dung của nhiều tệp bằng lệnh head

Lệnh head cũng có thể lấy nhiều tên tệp làm đối số và hiển thị nội dung của chúng theo thứ tự. Hãy lấy hai tệp có tên example.txt và test.txt chứa nhiều dòng nội dung. Bây giờ, head lệnh sẽ hiển thị cả tên tệp cùng với nội dung của chúng.

Mã nguồn [Chọn]
head example.txt test.txt

Bạn có thể sử dụng head lệnh với -qtùy chọn xem nội dung của nhiều file mà không hiển thị tên của chúng.

Mã nguồn [Chọn]
head -q example.txt test.txt

8. Sử dụng head với các lệnh khác

Lệnh này head cũng có thể được sử dụng cùng với các lệnh khác để thực hiện các tác vụ khác nhau. Bạn có thể sử dụng nó với các lệnh tail, more, wcvà grep.

Bạn có thể chuyển head lệnh bằng grep để cung cấp cho bạn tất cả các dòng có chứa mẫu đã chỉ định.

Mã nguồn [Chọn]
head example.txt | grep ch

Cú pháp trên hiển thị tất cả các dòng trong tệp example.txt có chứa "ch".

Bạn cũng có thể chuyển headlệnh bằng wclệnh. Cả hai lệnh này sẽ xuất ra tổng số dòng, từ và byte trong tệp.

Để lấy số dòng, từ và byte trong tệp example.txt, hãy chạy:

Mã nguồn [Chọn]
head example.txt | wc

Bạn có thể sử dụng lệnh head và tail cùng với ký hiệu ống để hiển thị một phạm vi dòng cụ thể từ một tệp. Lệnh head hiển thị các dòng bắt đầu của tệp, trong khi tail lệnh in các dòng kết thúc của tệp.

Hãy xem xét tệp example.txt chứa 15 dòng. Để hiển thị nội dung giữa dòng thứ 5 và dòng thứ 11, hãy chạy:

Mã nguồn [Chọn]
head -n 10 example.txt | tail -n 5

Lệnh này hoạt động bằng cách trước tiên sử dụng head -n 10 lệnh để hiển thị 10 dòng đầu tiên của tệp. Sau đó, nó sẽ dẫn đầu ra tới tail -n 5 lệnh. Lệnh tail sẽ cung cấp cho chúng ta đầu ra cuối cùng của các thực thể nằm giữa dòng thứ 5 và dòng thứ 11.

9. Bạn muốn hiển thị kết thúc dòng bằng lệnh head?

Lệnh này head, như tên gọi của nó, chủ yếu liên quan đến các dòng đầu tiên của tệp. Ngược lại, tail lệnh phục vụ mục đích hiển thị các dòng kết thúc của tệp văn bản. Thông thường, dữ liệu mới được thêm vào cuối tệp, vì vậy tail lệnh này là cách nhanh chóng và dễ dàng để xem những phần bổ sung gần đây nhất cho tệp. Nó cũng có thể giám sát một tập tin và hiển thị từng mục nhập văn bản mới vào tập tin đó khi chúng xuất hiện.

Giống như head lệnh, bạn cũng có thể sử dụng tailđể giám sát nhiều tệp hoặc đếm số byte. Nó cũng có thể kiểm tra một mẫu hoặc văn bản cụ thể trong tệp văn bản. Điều này làm cho nó trở thành một công cụ tuyệt vời để giám sát các tệp nhật ký.