NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
20/08/2024
Lượt xem

7 ví dụ sử dụng lệnh tail trong Linux để xử lý văn bản chi tiết

20/08/2024
16 phút đọc
Lượt xem

Đánh giá

Lệnh tail trong Linux thường được sử dụng để xem một vài dòng hoặc dữ liệu cuối cùng trong một file. Đây là một lệnh phổ biến để đọc hoặc kiểm tra file trước khi sử dụng cho mục đích khác. Trong bài viết sau đây cùng Vietnix tìm hiểu rõ hơn về định nghĩa, cú pháp và cách ứng dụng.

Lệnh tail trong Linux là gì?

Lệnh tail cho bạn xem phần cuối của một file. Không những xem từng dòng, bạn còn có thể xem thông tin theo từng đoạn. Khi dùng chung với lệnh head trong Linux, bạn dễ dàng xem các dòng mình muốn trong file.

Lệnh tail trong Linux
Lệnh tail trong Linux

Cách sử dụng lệnh tail trong Linux rất đơn giản. Bạn chỉ cần gõ lệnh tail, theo sau là một số tùy chọn (nếu cần) và tên của một hoặc nhiều file mà bạn muốn xem nội dung.

Cú pháp của lệnh như sau:

tail [OPTION]... [FILE]...

Lưu ý: Nếu không thêm tùy chọn, lệnh tail sẽ tự động hiển thị 10 dòng cuối cùng của file. Bạn có thể thay đổi số dòng hiển thị bằng cách sử dụng các tùy chọn khác nhau.

Ngoài ra, bạn có thể tham khảo một số bài viết khác về các câu lệnh trong Linux.

6 tùy chọn của lệnh tail trong Linux

Lệnh tail trong Linux có nhiều tùy chọn giúp bạn thay đổi kết quả hiển thị hoặc sử dụng kết quả đó cho các mục đích khác. Bạn cũng có thể xem thông tin như phiên bản hay hướng dẫn sử dụng.

Tuỳ chọnMô tả
-n -NUM hoặc -n NUMHiển thị NUM dòng cuối của file
-f, –followTheo dõi file và cập nhật kết quả hiển thị khi có dòng mới
-n +NUMHiển thị các dòng bắt đầu từ dòng thứ NUM trở đi
-q, –quiet, –silentKhông hiển thị tên file trong kết quả
-v, –verboseHiển thị tên file trong kết quả
-s, –sleep-intervalĐặt thời gian cập nhật khi dùng tùy chọn -f

Lưu ý: Các tùy chọn phân biệt chữ hoa chữ thường. Để xem thêm tùy chọn, hãy dùng lệnh man tail trên dòng lệnh.

Ví dụ 1: Sử dụng lệnh tail để xem 10 dòng cuối của một file

Trong hệ điều hành Linux, lệnh tail có chức năng hiển thị 10 dòng cuối cùng của một file. Trong ví dụ này, chúng ta sẽ sử dụng 2 file: country.txt (chứa tên tất cả các quốc gia trên thế giới) và States.txt (chứa tên tất cả các tiểu bang của Mỹ) theo thứ tự của bảng chữ cái.

 Sử dụng lệnh tail để xem 10 dòng cuối của một file
Sử dụng lệnh tail để xem 10 dòng cuối của một file

Cú pháp tổng quát của lệnh này khá đơn giản:

tail FILE.txt

Ví dụ, bạn muốn xem 10 dòng cuối của file country trên màn hình Desktop, bạn có thể thực hiện như sau:

Bước 1: Mở Terminal trên máy tính

Bước 2: Trong cửa sổ Terminal, gõ lệnh sau và nhấn Enter:

cd Desktop/

Kiểm tra xem file “country.txt” có tồn tại trên Desktop không bằng lệnh ls:

ls -l

Bước 3: Để xem 10 quốc gia cuối cùng trong danh sách, gõ lệnh:

tail country

Bước 4: Nhấn Enter sau đó danh sách 10 quốc gia cuối cùng sẽ xuất hiện.

Cách xem 10 dòng cuối của file Country.txt trên màn hình Desktop
Cách xem 10 dòng cuối của file Country.txt trên màn hình Desktop

Ví dụ 2: Xem một số dòng cuối trong file bằng lệnh tail trong Linux

Ví dụ bạn muốn xem 5 quốc gia cuối cùng trong file, thay vì 10 giá trị mặc định. Bạn có thể dùng tùy chọn -n để chỉ định số dòng cần xem. Có 3 cách để sử dụng tùy chọn này. Cú pháp chung như sau:

tail -n -5 FILE.txt
tail -n 5 FILE.txt
tail -5 FILE.txt

Để xem 5 quốc gia cuối cùng trong danh sách, bạn có thể làm như sau:

Bước 1: Mở Terminal trên máy tính

Bước 2: Nếu file trong máy nằm trên màn hình Desktop, hãy dùng lệnh sau:

cd Desktop/

Sau đó, bạn có thể liệt kê các file trong folder này để kiểm tra:

ls -l

Bước 3: Ví dụ file trong máy có tên là country.txt, hãy gõ một trong các lệnh sau:

tail -n -5 country
tail -n 5 country
tail -5 country

Bước 4: Nhấn Enter, kết quả sẽ hiển thị 5 quốc gia cuối cùng trong file Country.txt

Xem một số dòng cuối trong file bằng lệnh tail
Xem một số dòng cuối trong file bằng lệnh tail

Ví dụ 3: Mở nhiều file cùng lúc với lệnh tail

Bạn có thể xem những dòng cuối cùng của nhiều file cùng một lúc bằng lệnh tail bằng việc chỉ cần liệt kê tất cả các tên file muốn xem, bạn thực hiện cú pháp chung như sau: 

tail FILE1 FILE2

Ví dụ bạn muốn xem 5 dòng cuối trong cả hai file country và city. Bạn chỉ cần làm theo các bước sau:

Bước 1: Mở Terminal trên máy tính

Bước 2: Sử dụng lệnh (hoặc tên folder khác) 

cd Desktop/ 

Để đến nơi chứa các file trong máy bạn. Kiểm tra lại các file bằng lệnh

ls -l

Bước 3: Để xem 5 dòng cuối cùng của cả hai file, gõ lệnh:

tail -n -5 country city

Bước 4: Nhấn Enter, bạn sẽ thấy 5 dòng cuối của mỗi file, kèm theo tên file ở đầu.

5 dòng cuối của mỗi file, kèm theo tên file ở đầu
5 dòng cuối của mỗi file, kèm theo tên file ở đầu

Ví dụ 4: Hiển thị N byte dữ liệu cuối cùng từ file bằng lệnh tail

Đôi khi, bạn không muốn xem nội dung file theo từng dòng mà theo từng ký tự hoặc byte. Lúc này, bạn cần dùng một tùy chọn khác của lệnh tail. Với tùy chọn -c, bạn có thể xem N byte cuối cùng trong file.

Có 2 cách viết lệnh:

tail -c -20 FILE.txt
tail -c 20 FILE.txt

Để xem 20 ký tự cuối trong file “Country.txt”, bạn có thể làm như sau:

Bước 1: Mở Terminal

Bước 2: Dùng lệnh cd Desktop/ để đi đến folder chứa file “Country.txt”:

cd Desktop/
ls -l

Bước 3: Để xem 20 ký tự, gõ lệnh:

tail -c -20 country
tail -c 20 country

Bước 4: Nhấn Enter, kết quả sẽ hiển thị 20 ký tự đầu hoặc cuối của file Country.txt

Kết quả sẽ hiển thị 20 ký tự đầu hoặc cuối của file Country
Kết quả sẽ hiển thị 20 ký tự đầu hoặc cuối của file country

Ví dụ 5: Xem các dòng sau dòng thứ NUM bằng lệnh tail

Bạn có thể xem tất cả các dòng sau một dòng cụ thể bằng tùy chọn -n +NUM. Cách này khá giống với cách dùng khác của tùy chọn -n, nhưng lần này có thêm phần +NUM, trong đó NUM là số dòng bắt đầu từ đó lệnh sẽ hiển thị tất cả các dòng tiếp theo. Cú pháp chung:

tail -n +NUM FILE.txt
tail +NUM FILE.txt

Ví dụ bạn muốn xem tất cả các dòng từ dòng 46 trở đi trong file country.

Bước 1: Mở Terminal.

Bước 2: Vì file Country.txt nằm trong folder Desktop, bạn cần di chuyển đến đó bằng lệnh:

cd Desktop/

Xác nhận file đã có bằng lệnh:

ls -l

Bước 3: Dùng một trong hai lệnh sau để hiển thị nội dung từ dòng 46 trở đi:

tail -n +46 country
tail +46 country

Bước 4: Nhấn Enter, kết quả sẻ hiển thị danh sách các tên quốc gia từ dòng 46 trở đi

Xem các dòng sau dòng thứ NUM bằng lệnh tail
Xem các dòng sau dòng thứ NUM bằng lệnh tail

Tại đây bạn sẽ tìm thấy tất cả dòng từ dòng 46 trở đi được hiển thị trong dòng lệnh giống như hình bên dưới.

Hiển thị quốc gia từ dòng 46 trở đi
Hiển thị quốc gia từ dòng 46 trở đi

Ví dụ 6: Xem trực tiếp thay đổi của file bằng lệnh tail

Lệnh tail thường được dùng để xem các log file. Khi sử dụng lệnh này, bất kỳ thay đổi nào trong file sẽ tự động hiển thị trên dòng lệnh đang chạy tail. Để làm điều này, bạn cần dùng tùy chọn -f hoặc –follow, giúp theo dõi mọi thay đổi trong file. Cú pháp chung như sau: 

tail -f FILE.txt

Lệnh này sẽ hiển thị 10 dòng cuối của file và tiếp tục chạy cho đến khi bạn nhấn CTRL + C để thoát. Bạn có thể làm theo các bước sau để thử nghiệm:

Bước 1: Mở Terminal.

Bước 2: Để di chuyển đến folder chứa file, gõ lệnh cd:

cd Desktop/
ls -l

Bước 3: Gõ lệnh sau để chạy tail:

tail -f country

Bước 4: Dùng lệnh echo để chuyển hướng và thêm nội dung vào Country.txt:

echo "There are Africa's countries" >> country

Sau đó bạn sẽ thấy dòng “There are Africa’s countries” xuất hiện trên Terminal đang chạy.

Bước 5: Nhấn Enter

Bước 6: Nhấn CTRL + C để kết thúc lệnh tail, như bạn thấy ở hình bên dưới, chỉ cần cập nhật file bằng cách thêm một dòng mới, dòng mới đó đã được thêm vào lời nhắc.

Kết thúc lệnh tail, như bạn thấy ở hình bên dưới, chỉ cần cập nhật file bằng cách thêm một dòng mới, dòng mới đó đã được thêm vào lời nhắc
Kết thúc lệnh tail, như bạn thấy ở hình bên dưới, chỉ cần cập nhật file bằng cách thêm một dòng mới, dòng mới đó đã được thêm vào lời nhắc

Lưu ý: Để dừng lệnh đang chạy và bắt đầu lệnh mới, bạn có hai lựa chọn:

    • Nhấn tổ hợp phím CTRL + C.

    • Đóng cửa sổ Terminal.

Kết quả hiển thị sau khi thêm dòng mới:

Kết quả hiển thị sau khi thêm dòng mới
Kết quả hiển thị sau khi thêm dòng mới

Ví dụ 7: Kết hợp lệnh tail và head để hiển thị các dòng cụ thể trong file

Đôi khi bạn muốn xem các dòng nằm giữa khoảng cụ thể, chẳng hạn như từ dòng 5 đến 10 hoặc 75 đến 100. Điều này hoàn toàn có thể thực hiện bằng cách kết hợp hai lệnh head và tail. Cú pháp chung của lệnh head như sau:

head -NUM1 FILE.txt|tail +NUM2

Ở đây, đầu tiên lệnh head sẽ lấy ra NUM1 dòng đầu tiên của file. Sau đó, lệnh tail +NUM2 sẽ hiển thị tất cả các dòng từ dòng NUM2 trở đi. Để dễ hiểu hơn, hãy xem một ví dụ.

Bước 1: Mở Terminal.

Bước 2: Di chuyển đến folder chứa file bạn muốn xem, gõ lệnh:

cd Desktop/

Để liệt kê các file có trong folder, gõ lệnh:

ls -l

Bước 3: Giả sử bạn muốn xem các dòng từ 5 đến 10. Sử dụng lệnh sau:

head -10 city | tail +5

Lưu ý: Số trong lệnh head phải lớn hơn số trong lệnh tail, nếu không sẽ báo lỗi.

Bước 4: Nhấn Enter, kết quả bạn sẽ thấy trên màn hình chỉ hiển thị các dòng từ 5 đến 10. Bạn cũng có thể kiểm tra lại bằng cách mở trực tiếp file để so sánh.

Nhấn Enter, kết quả bạn sẽ thấy trên màn hình chỉ hiển thị các dòng từ 5 đến 10
Nhấn Enter, kết quả bạn sẽ thấy trên màn hình chỉ hiển thị các dòng từ 5 đến 10

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

Tùy chọn -f của lệnh tail trong Linux có tác dụng gì?

Tùy chọn -f trong lệnh tail của Linux đóng vai trò quan trọng trong việc theo dõi liên tục các thay đổi trong cùng một file. Khi thực thi lệnh, lệnh tail sẽ không chỉ hiển thị các dòng cuối cùng của file mà còn tiếp tục cập nhật và hiển thị thêm bất kỳ dòng nào được ghi vào file.

Có thể kết hợp lệnh tail với các lệnh khác như grep, awk để xử lý dữ liệu đầu ra không?

Câu trả lời là có thể. Việc kết hợp lệnh tail với các công cụ mạnh mẽ như grepawk sẽ giúp bạn thực hiện lệnh xử lý dữ liệu đầu ra một cách linh hoạt và hiệu quả hơn rất nhiều.

Có thể sử dụng lệnh tail để hiển thị nội dung của một file theo từng đoạn (block) không?

Câu trả lời là không vì lệnh tail được thiết kế chủ yếu để hiển thị các dòng cuối cùng của một file. Nó không có tùy chọn tích hợp để chia file thành các đoạn (block) có kích thước cố định.

Lời kết

Qua bài viết, chúng ta đã tìm hiểu chi tiết về lệnh tail trong Linux và cách sử dụng lệnh hiệu quả trong việc xem nội dung file. Hy vọng những kiến thức này sẽ giúp bạn tận dụng tối đa sức mạnh của tail để quản lý và phân tích dữ liệu một cách dễ dàng hơn.

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Banner group
Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

Black Friday Hosting & VPS

Chương trình bắt đầu sau

Giảm giá 40% hosting VPS

50 coupon mỗi ngày

Gia hạn giá không đổi

NHẬN DEAL NGAY
Pattern

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

Icon
ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1
Icon
XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG