Tìm hiểu về lệnh less và more trên Centos / Ubuntu / Debian / Fedora

Lệnh more trong Linux

# more /var/log/auth.log

Nội dung của tệp auth.log:

Apr 12 11:50:01 tecmint CRON[6932]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 11:50:01 tecmint CRON[6932]: pam_unix(cron:session): session closed for user root
Apr 12 11:55:01 tecmint CRON[7159]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 11:55:01 tecmint CRON[7160]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 11:55:01 tecmint CRON[7160]: pam_unix(cron:session): session closed for user root
Apr 12 11:55:02 tecmint CRON[7159]: pam_unix(cron:session): session closed for user root
Apr 12 12:00:01 tecmint CRON[7290]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 12:00:01 tecmint CRON[7290]: pam_unix(cron:session): session closed for user root
Apr 12 12:05:01 tecmint CRON[7435]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 12:05:01 tecmint CRON[7436]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 12:05:01 tecmint CRON[7436]: pam_unix(cron:session): session closed for user root
Apr 12 12:05:02 tecmint CRON[7435]: pam_unix(cron:session): session closed for user root
Apr 12 12:09:01 tecmint CRON[7542]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 12:09:01 tecmint CRON[7542]: pam_unix(cron:session): session closed for user root
Apr 12 12:10:01 tecmint CRON[7577]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 12:10:01 tecmint CRON[7577]: pam_unix(cron:session): session closed for user root
Apr 12 12:15:01 tecmint CRON[7699]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 12:15:01 tecmint CRON[7700]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 12:15:01 tecmint CRON[7700]: pam_unix(cron:session): session closed for user root
Apr 12 12:15:01 tecmint CRON[7699]: pam_unix(cron:session): session closed for user root

Một cách khác để sử dụng lệnh more là kết hợp nó với các lệnh khác bằng cách sử dụng dấu "pipe", ví dụ như lệnh cat. Bạn có thể tham khảo ví dụ bên dưới:

# cat /var/log/auth.log | more

Để điều hướng qua từng dòng trong file, bạn nhấn phím Enter hoặc nhấn phím Spacebar để điều hướng một trang mỗi lần, trang hiện tại có kích thước là kích thước của cửa sổ terminal hiện tại. Để thoát khỏi lệnh, chỉ cần nhấn phím q.

Một tùy chọn hữu ích của lệnh more là chuyển đổi -number, cho phép bạn đặt số lượng dòng trong một trang. Ví dụ, hiển thị file auth.log với 10 dòng mỗi trang như sau:

# more -10 /var/log/auth.log

Ngoài ra, bạn có thể hiển thị một trang bắt đầu từ một số dòng cụ thể bằng cách sử dụng tùy chọn +number như ví dụ dưới đây:

# more +14 /var/log/auth.log

Chỉ hiển thị 14 dòng đầu tiên của tệp auth.log:

Apr 12 12:09:01 tecmint CRON[7542]: pam_unix(cron:session): session closed for user root
Apr 12 12:10:01 tecmint CRON[7577]: pam_unix(cron:session): session opened for user root by (
uid=0)
Apr 12 12:10:01 tecmint CRON[7577]: pam_unix(cron:session): session closed for user root
Apr 12 12:15:01 tecmint CRON[7699]: pam_unix(cron:session): session opened for user root by (
uid=0)
Apr 12 12:15:01 tecmint CRON[7700]: pam_unix(cron:session): session opened for user root by (
uid=0)
Apr 12 12:15:01 tecmint CRON[7700]: pam_unix(cron:session): session closed for user root
Apr 12 12:15:01 tecmint CRON[7699]: pam_unix(cron:session): session closed for user root
Apr 12 12:16:01 tecmint mate-screensaver-dialog: gkr-pam: unlocked login keyring
Apr 12 12:17:01 tecmint CRON[7793]: pam_unix(cron:session): session opened for user root by (
uid=0)
Apr 12 12:17:01 tecmint CRON[7793]: pam_unix(cron:session): session closed for user root
Apr 12 12:20:01 tecmint CRON[7905]: pam_unix(cron:session): session opened for user root by (
uid=0)
Apr 12 12:20:01 tecmint CRON[7905]: pam_unix(cron:session): session closed for user root
Apr 12 12:25:01 tecmint CRON[8107]: pam_unix(cron:session): session opened for user root by (
uid=0)
Apr 12 12:25:01 tecmint CRON[8108]: pam_unix(cron:session): session opened for user root by (

Lệnh less trong Linux

Tương tự như more, lệnh less cho phép bạn xem nội dung của một tập tin và điều hướng qua tập tin đó. Sự khác biệt chính giữa more và less là lệnh less nhanh hơn vì nó không tải toàn bộ tập tin cùng một lúc và cho phép bạn điều hướng qua tập tin bằng cách sử dụng các phím lên/xuống trang.

Lệnh less có thể được sử dụng độc lập với một tập tin cụ thể hoặc được sử dụng với các ống nối (pipes) với nhiều lệnh Linux khác nhau để thu hẹp kết quả hiển thị trên màn hình, cho phép bạn cuộn qua kết quả.

# less /var/log/auth.log
# ls /etc | less

Bạn có thể điều hướng qua tập tin từng dòng bằng cách nhấn phím Enter. Để điều hướng trang, bạn có thể sử dụng phím space. Kích thước trang sẽ phụ thuộc vào kích thước hiện tại của cửa sổ terminal. Để thoát khỏi lệnh, bạn nhập phím q, tương tự như lệnh more.

Một tính năng hữu ích của lệnh less là sử dụng tùy chọn /từ-cần-tìm để tìm kiếm từ trong tập tin. Ví dụ, bạn có thể tìm kiếm và khớp tất cả các thông báo sshd từ một tập tin nhật ký bằng cách tương tác và chỉ định chuỗi /sshd. Để hiển thị nội dung của tập tin bắt đầu từ một số dòng cụ thể, bạn có thể sử dụng cú pháp sau đây:

# less +5 /var/log/auth.log

Nếu bạn muốn theo dõi số của mỗi dòng khi sử dụng lệnh less, bạn có thể sử dụng tùy chọn -N.

# less -N /var/log/daemon.log

Hiển thị số cho mỗi dòng trong tệp:

1 Apr 12 11:50:01 tecmint CRON[6932]: pam_unix(cron:session): session opened for user root by (uid=0)
2 Apr 12 11:50:01 tecmint CRON[6932]: pam_unix(cron:session): session closed for user root
3 Apr 12 11:55:01 tecmint CRON[7159]: pam_unix(cron:session): session opened for user root by (uid=0)
4 Apr 12 11:55:01 tecmint CRON[7160]: pam_unix(cron:session): session opened for user root by (uid=0)
5 Apr 12 11:55:01 tecmint CRON[7160]: pam_unix(cron:session): session closed for user root
6 Apr 12 11:55:02 tecmint CRON[7159]: pam_unix(cron:session): session closed for user root
7 Apr 12 12:00:01 tecmint CRON[7290]: pam_unix(cron:session): session opened for user root by (uid=0)
8 Apr 12 12:00:01 tecmint CRON[7290]: pam_unix(cron:session): session closed for user root
9 Apr 12 12:05:01 tecmint CRON[7435]: pam_unix(cron:session): session opened for user root by (uid=0)
10 Apr 12 12:05:01 tecmint CRON[7436]: pam_unix(cron:session): session opened for user root by (uid=0)
11 Apr 12 12:05:01 tecmint CRON[7436]: pam_unix(cron:session): session closed for user root

Mặc định, cách duy nhất để thoát khỏi lệnh "less" là nhấn phím q. Để thay đổi hành vi này và tự động thoát khỏi tệp khi đến cuối tệp, bạn có thể sử dụng tùy chọn -e hoặc -E.

# less -e /var/log/auth.log
# less -E /var/log/auth.log

Để mở một tệp tại lần xuất hiện đầu tiên của một mẫu, bạn có thể sử dụng cú pháp sau:

# less +/sshd /var/log/auth.log

Hiển thị chuỗi khớp trong tệp:

Apr 12 16:19:39 tecmint sshd[16666]: Accepted password for tecmint from 192.168.0.15 port 41634 ssh2
Apr 12 16:19:39 tecmint sshd[16666]: pam_unix(sshd:session): session opened for user tecmint by (uid=0)
Apr 12 16:19:39 tecmint systemd-logind[954]: New session 1 of user tecmint.
Apr 12 16:19:48 tecmint sshd[16728]: Received disconnect from 192.168.0.15: 11: disconnected by user
Apr 12 16:19:48 tecmint sshd[16666]: pam_unix(sshd:session): session closed for user tecmint
Apr 12 16:20:01 tecmint CRON[16799]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 16:20:02 tecmint CRON[16799]: pam_unix(cron:session): session closed for user root
Apr 12 16:25:01 tecmint CRON[17026]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 12 16:25:01 tecmint CRON[17025]: pam_unix(cron:session): session opened for user root by (uid=0)

Lệnh trên cho less mở tệp auth.log tại lần khớp đầu tiên của chuỗi "sshd".

Để tự động thêm nội dung của một tệp được mở trong lệnh less, bạn có thể sử dụng tổ hợp phím Shift+f hoặc chạy less với cú pháp sau:

# less +F /var/log/syslog

Điều này khiến less chạy ở chế độ tương tác (live) và hiển thị nội dung mới ngay lập tức khi đợi dữ liệu mới được ghi vào tệp. Hành vi này tương tự như lệnh tail -f.

Kết hợp với một mẫu, bạn có thể xem tệp nhật ký theo cách tương tác bằng cách nhấn tổ hợp phím Shift+f trong khi khớp từ khóa. Để thoát khỏi chế độ live, chỉ cần nhấn tổ hợp phím Ctrl+c.

# less +/CRON /var/log/syslog

Sử dụng lệnh less và more là tùy vào quyết định của bạn, chúng khá giống nhau nhưng less mang lại nhiều tính năng hơn. Bạn có thể theo dõi những ví dụ ở trên để đưa ra lựa chọn.

Mọi người cũng tìm kiếm: lệnh more trong linux, lệnh less trong linux, more linux, less more linux, more and less in linux, pam_unix(cron:session): session closed for user root, more ubuntu, less css là gì, về more.

Mọi người cùng tìm kiếm: lệnh more trong linux, less linux, more less linux, less more linux, linux more less