More là một lệnh dòng lệnh *nix được sử dụng để hiển thị nội dung của một file trên cửa sổ console. 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ộ file cùng một lúc và cho phép điều hướng qua file bằng cách sử dụng các phím trang lên/xuống.
Tìm hiểu lệnh Linux 'more'
# more /var/log/auth.log
Xem Nội dung của file 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 kết hợp (pipe) với các lệnh khác, chẳng hạn như lệnh cat, như được trình bày trong ví dụ dưới đây:
# cat /var/log/auth.log | more
Để điều hướng qua file từng dòng một, nhấn phím Enter
, hoặc nhấn phím Spacebar
để điều hướng từng trang một, trang hiện tại là kích thước màn hình terminal của bạn. Để 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à tùy chọn -number cho phép bạn đặt số dòng mà mỗi trang nên chứa. Ví dụ hiển thị file auth.log như là một trang có 10 dòng:
# more -10 /var/log/auth.log
Bạn cũng có thể hiển thị một trang bắt đầu từ một số dòng cụ thể sử dụng tùy chọn +number như được minh họa dưới đây:
# more +14 /var/log/auth.log
Hiển thị Chỉ Có 14 Dòng Đầu Tiên của File 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 (
Tìm hiểu 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 file và điều hướng qua file. 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ộ file cùng một lúc và cho phép điều hướng qua file bằng cách sử dụng các phím trang lên/xuống.
Nó có thể được sử dụng như một lệnh đơn lập áp dụng vào một file hoặc sử dụng với các pipe với nhiều lệnh Linux khác nhau để thu hẹp đầu ra 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 file từng dòng một bằng cách nhấn phím Enter
. Điều hướng trang có thể được thực hiện với phím spacebar
. Kích thước trang được đại diện bởi kích thước màn hình terminal hiện tại của bạn. Để thoát lệnh, nhập phím q
, tương tự như cho lệnh more.
Một tính năng hữu ích của lệnh less là việc sử dụng tùy chọn /word-to-seach. Ví dụ, bạn có thể tìm kiếm và tìm tất cả các thông báo sshd từ một file log bằng cách chỉ định chuỗi /sshd.
Để hiển thị file bắt đầu từ một số dòng cụ thể, sử dụng cú pháp sau:
# less +5 /var/log/auth.log
Nếu bạn cần theo dõi số dòng của từng dòng với lệnh less, sử dụng tùy chọn -N.
# less -N /var/log/daemon.log
Hiển thị Số Dòng cho Mỗi Dòng trong File
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 file khi đến cuối file, sử dụng tùy chọn -e hoặc -E:
# less -e /var/log/auth.log
# less -E /var/log/auth.log
Để mở file tại vị trí xuất hiện đầu tiên của một pattern, sử dụng cú pháp sau:
# less +/sshd /var/log/auth.log
Hiển thị Chuỗi khớp tương ứng trong File
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 phép less mở file 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 file mở bằng lệnh less, sử dụng tổ hợp phím Shift+f hoặc chạy less theo cú pháp sau.
# less +F /var/log/syslog
Điều này khiến less chạy ở chế độ tương tác (trực tiếp) và hiển thị nội dung mới trong khi chờ dữ liệu mới được ghi vào file. Hành vi này tương tự như lệnh tail -f.
Kết hợp với một pattern, bạn có thể theo dõi file log một cách tương tác với phím nhấn Shift+f trong khi khớp một từ khóa. Để thoát khỏi chế độ tương tác, chỉ cần nhấn phím Ctrl+c.
# less +/CRON /var/log/syslog
Dù bạn quyết định sử dụng more hay less command, điều đó là lựa chọn cá nhân, hãy nhớ rằng less là nhiều hơn cùng với nhiều tính năng của more.