Μάθετε γιατί το λιγότερο είναι πιο γρήγορο από το περισσότερο Εντολή για αποτελεσματική πλοήγηση αρχείων


Το Περισσότερα είναι μια γραμμή εντολών *nix που χρησιμοποιείται για την εμφάνιση των περιεχομένων ενός αρχείου σε μια κονσόλα. Η βασική χρήση της εντολής more είναι η εκτέλεση της εντολής σε ένα αρχείο όπως φαίνεται παρακάτω:

Μάθετε Linux «περισσότερα» Command

# more /var/log/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
....

Ένας άλλος τρόπος χρήσης της εντολής περισσότερα σε συνδυασμό (pipe) με άλλες εντολές, όπως η εντολή cat, όπως παρουσιάζεται στο παρακάτω παράδειγμα:

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

Για να πλοηγηθείτε στο αρχείο γραμμή προς γραμμή, πατήστε το πλήκτρο Enter ή πατήστε το πλήκτρο Spacebar για να πλοηγηθείτε σε μία σελίδα τη φορά, καθώς η σελίδα είναι το τρέχον μέγεθος οθόνης του τερματικού σας. Για έξοδο από την εντολή απλώς πατήστε το πλήκτρο q.

Μια χρήσιμη επιλογή για περισσότερες εντολές είναι ο διακόπτης -number που σας επιτρέπει να ορίσετε τον αριθμό των γραμμών που πρέπει να περιέχει μια σελίδα. Για παράδειγμα, εμφανίστε το αρχείο auth.log ως σελίδα με 10 γραμμές:

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

Επίσης, μπορείτε να εμφανίσετε μια σελίδα που ξεκινά από έναν συγκεκριμένο αριθμό γραμμής χρησιμοποιώντας την επιλογή +number όπως φαίνεται παρακάτω:

# more +14 /var/log/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 (

Μάθετε την εντολή «λιγότερο» Linux

Παρόμοια με την εντολή περισσότερα, η εντολή λιγότερο σάς επιτρέπει να προβάλετε τα περιεχόμενα ενός αρχείου και να περιηγηθείτε στο αρχείο. Η κύρια διαφορά μεταξύ περισσότερο και λιγότερο είναι ότι η εντολή λιγότερο είναι πιο γρήγορη επειδή δεν φορτώνει ολόκληρο το αρχείο ταυτόχρονα και επιτρέπει την πλοήγηση μέσω αρχείου χρησιμοποιώντας σελίδα επάνω/κάτω.

Το In μπορεί να χρησιμοποιηθεί ως αυτόνομη εντολή που εκδίδεται σε ένα αρχείο ή χρησιμοποιείται με σωλήνες με πολλές εντολές Linux για να περιορίσετε την έξοδο της οθόνης τους επιτρέποντάς σας να κάνετε κύλιση στα αποτελέσματα.

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

Μπορείτε να πλοηγηθείτε στη γραμμή αρχείου πατώντας γραμμή Enter. Η πλοήγηση στη σελίδα μπορεί να γίνει με το πλήκτρο spacebar. Το μέγεθος της σελίδας αντιπροσωπεύεται από το τρέχον μέγεθος οθόνης του τερματικού σας. Για έξοδο από την εντολή πληκτρολογήστε το πλήκτρο q, όπως και για περισσότερες εντολές.

Ένα χρήσιμο χαρακτηριστικό της εντολής λιγότερο είναι η χρήση της επιλογής /word-to-seach. Για παράδειγμα, μπορείτε να αναζητήσετε και να αντιστοιχίσετε όλα τα μηνύματα sshd από ένα αρχείο καταγραφής καθορίζοντας διαδραστικά τη συμβολοσειρά /sshd.

Για να εμφανίσετε ένα αρχείο κοιτάζοντας έναν συγκεκριμένο αριθμό γραμμής χρησιμοποιήστε την ακόλουθη σύνταξη:

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

Εάν χρειάζεται να εντοπίσετε τον αριθμό κάθε γραμμής με την εντολή λιγότερο χρησιμοποιήστε την επιλογή -N.

# less -N /var/log/daemon.log
      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

Από προεπιλογή, ο μόνος τρόπος για έξοδο από την εντολή λιγότερο είναι να πατήσετε το πλήκτρο q. Για να αλλάξετε αυτήν τη συμπεριφορά και να τερματίσετε αυτόματα το αρχείο όταν φτάσετε στο τέλος του αρχείου, χρησιμοποιήστε την επιλογή -e ή -E:

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

Για να ανοίξετε ένα αρχείο με την πρώτη εμφάνιση ενός μοτίβου χρησιμοποιήστε την ακόλουθη σύνταξη:

# less +/sshd /var/log/auth.log
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)

Η παραπάνω εντολή λέει στο less να ανοίξει το αρχείο auth.log στην πρώτη αντιστοίχιση της συμβολοσειράς sshd.

Για να προσαρτήσετε αυτόματα το περιεχόμενο ενός αρχείου που ανοίγει στην εντολή λιγότερο χρησιμοποιήστε τον συνδυασμό πλήκτρων Shift+f ή εκτελέστε λιγότερο με την ακόλουθη σύνταξη.

# less +F /var/log/syslog

Αυτό κάνει λιγότερο την εκτέλεση σε διαδραστική λειτουργία (ζωντανή) και την εμφάνιση νέου περιεχομένου εν κινήσει, ενώ περιμένει να εγγραφούν νέα δεδομένα στο αρχείο. Αυτή η συμπεριφορά είναι παρόμοια με την εντολή tail -f.

Σε συνδυασμό με ένα μοτίβο, μπορείτε να παρακολουθήσετε το αρχείο καταγραφής διαδραστικά με το πλήκτρο Shift+f ενώ ταιριάζετε με μια λέξη-κλειδί. Για έξοδο από τη ζωντανή λειτουργία, απλώς πατήστε τα πλήκτρα Ctrl+c.

# less +/CRON /var/log/syslog

Είτε αποφασίσετε να χρησιμοποιήσετε περισσότερο είτε λιγότερο, που είναι προσωπική επιλογή, να θυμάστε ότι το λιγότερο είναι περισσότερο με το περισσότερα χαρακτηριστικά.