Lệnh “tail” trên hệ điều hành Linux được sử dụng để hiển thị nội dung của file từ cuối file. Lệnh này mặc định hiển thị 10 dòng cuối cùng của file, nhưng bạn có thể điều chỉnh số lượng dòng hiển thị bằng cách sử dụng tùy chọn.
Các option phổ biến của lệnh tail trong Linux bao gồm:
- -n <number>: Chỉ định số lượng dòng được hiển thị từ cuối file. Ví dụ:
tail -n 10 filename
sẽ hiển thị 10 dòng cuối cùng của filefilename
. - -f: Theo dõi sự thay đổi của file theo thời gian thực. Lệnh sẽ không kết thúc mà sẽ tiếp tục hiển thị các dòng mới được thêm vào trong file khi chúng được tạo ra. Ví dụ:
tail -f filename
sẽ theo dõi các thay đổi của filefilename
trong thời gian thực. - -q: Không hiển thị tiêu đề file. Nếu file được chỉ định có nhiều hơn một file, tiêu đề sẽ được hiển thị.
- -v: Hiển thị tiêu đề của file khi có nhiều hơn một file được hiển thị.
- –retry: Thử mở lại file nếu không thể mở được. Ví dụ:
tail --retry filename
sẽ thử mở lại filefilename
nếu file không thể mở được. - –pid=PID: Dừng lệnh tail khi tiến trình có ID là PID kết thúc.
- -c <number>: Hiển thị số byte cuối cùng của file thay vì số dòng. Ví dụ:
tail -c 100 filename
sẽ hiển thị 100 byte cuối cùng của filefilename
.
Với các option này, người dùng có thể tùy chỉnh hiển thị các dòng hoặc byte cuối cùng của file, theo dõi các thay đổi của file trong thời gian thực và điều chỉnh các thông báo tiêu đề của file.
Ví dụ, để hiển thị 5 dòng cuối cùng của một file có tên là “example.txt”, bạn có thể sử dụng câu lệnh:
tail -n 5 example.txt
Trong đó, “-n” là tùy chọn để chỉ định số lượng dòng hiển thị và “example.txt” là tên của file cần hiển thị.
Ngoài ra, bạn có thể sử dụng tùy chọn “-f” để theo dõi và hiển thị nội dung của file khi có các thay đổi mới được thêm vào. Ví dụ:
tail -f example.txt
Để hiển thị nội dung của nhiều file cùng một lúc bằng lệnh tail, bạn có thể chỉ định tên các file cách nhau bằng khoảng trắng.
Ví dụ: bạn có hai file là file1.txt và file2.txt, để hiển thị 10 dòng cuối cùng của từng file, bạn có thể sử dụng lệnh sau:
tail file1.txt file2.txt
Nếu bạn muốn hiển thị các dòng cuối cùng của các file đó trên cùng một trang, bạn có thể sử dụng tùy chọn -f
để theo dõi và cập nhật nội dung của các file trong thời gian thực.
Ví dụ: để hiển thị các dòng cuối cùng của các file đó trên cùng một trang, bạn có thể sử dụng lệnh sau:
tail -f file1.txt file2.txt
Lệnh này sẽ hiển thị 10 dòng cuối cùng của các file và theo dõi và cập nhật nội dung của các file trong thời gian thực.
Để hiển thị số byte cụ thể của một file, ta sử dụng tùy chọn -c hoặc –bytes. Ví dụ:
tail -c 20 example.txt
Lệnh trên sẽ hiển thị 20 byte cuối cùng của file “example.txt”.
Ngoài ra, ta cũng có thể sử dụng tùy chọn + n để hiển thị n byte từ vị trí bắt đầu của file. Ví dụ:
tail -c +5 example.txt
Lệnh trên sẽ hiển thị nội dung của file “example.txt” từ byte thứ 5 trở đi.
Một số ví dụ nâng cao.
ls -t /etc | tail -n 6
: Lệnh này sử dụng để hiển thị 6 file mới nhất trong thư mục /etc của hệ thống. Các file sẽ được sắp xếp theo thứ tự thời gian, từ mới đến cũ, vì ta sử dụng tùy chọn -t trong lệnh ls. Sau khi hiển thị danh sách các file, lệnh tail -n 6 được sử dụng để chỉ hiển thị 6 file cuối cùng của danh sách đó.ps aux | sort -nk +3 | tail -2
: Lệnh này sử dụng để hiển thị 2 tiến trình đang chạy trên hệ thống với giá trị RSS (Resident Set Size) nhỏ nhất. Đầu tiên, lệnhps aux
được sử dụng để hiển thị thông tin về tất cả các tiến trình đang chạy trên hệ thống. Tiếp theo, đầu ra của lệnh này được đưa vào lệnhsort -nk +3
, trong đó tùy chọn -n được sử dụng để sắp xếp theo giá trị số và tùy chọn -k được sử dụng để chỉ định trường được sắp xếp, trong trường hợp này là RSS. Ký tự +3 được sử dụng để chỉ định vị trí của trường RSS trong đầu ra của lệnhps aux
. Cuối cùng, lệnhtail -2
được sử dụng để chỉ hiển thị 2 tiến trình cuối cùng trong danh sách đã được sắp xếp theo thứ tự RSS tăng dần.