Sužinokite, kodėl „mažiau“ yra greičiau nei „daugiau“, kad būtų galima efektyviai naršyti failus


Daugiau yra *nix komandų eilutė, naudojama failo turiniui rodyti konsolėje. Pagrindinis komandos daugiau naudojimas yra paleisti komandą faile, kaip parodyta toliau:

Taip pat skaitykite: su pavyzdžiais sužinokite, kuo skiriasi „cat“ ir „tac“ komandos

Sužinokite „Linux“ komandą „daugiau“.

# 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
....

Kitas būdas naudoti komandą daugiau kartu su kitomis komandomis, pvz., katės komanda, kaip parodyta toliau pateiktame pavyzdyje:

cat /var/log/auth.log | more

Norėdami naršyti faile eilutę po eilutės, paspauskite klavišą Enter arba paspauskite tarpo klavišą, kad naršytumėte po vieną puslapį vienu metu, o puslapis yra jūsų dabartinis terminalo ekrano dydis. Norėdami išeiti iš komandos, tiesiog paspauskite klavišą q.

Naudinga daugiau komandų parinktis yra jungiklis -number, leidžiantis nustatyti, kiek eilutės turi būti puslapyje. Kaip pavyzdį rodyti failą auth.log kaip 10 eilučių puslapį:

more -10 /var/log/auth.log

Be to, galite rodyti puslapį, prasidedantį nuo konkretaus eilutės numerio, naudodami parinktį +numeris, kaip parodyta toliau:

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 (

Išmokite „Linux“ komandą „mažiau“.

Panašiai kaip daugiau, komanda mažiau leidžia peržiūrėti failo turinį ir naršyti po failą. Pagrindinis skirtumas tarp daugiau ir mažiau yra tas, kad komanda mažiau yra greitesnė, nes neįkelia viso failo iš karto ir leidžia naršyti naudojant failą puslapio aukštyn/žemyn klavišus.

In gali būti naudojama kaip atskira komanda, išduodama prieš failą arba naudojama su vamzdžiais su daugybe Linux komandų, siekiant susiaurinti jų ekrano išvestį, leidžiančią slinkti rezultatus.

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

Galite naršyti failo eilutę paspausdami klavišą Enter. Puslapio naršymas gali būti valdomas mygtuku spacebar. Puslapio dydis nurodomas pagal dabartinį terminalo ekrano dydį. Norėdami išeiti iš komandos, įveskite klavišą q taip pat, kaip ir daugiau komandos.

Naudinga komandos mažiau funkcija yra parinkties /word-to-seach naudojimas. Pavyzdžiui, galite ieškoti ir suderinti visus sshd pranešimus iš žurnalo failo, interaktyviai nurodydami /sshd eilutę.

Kad būtų rodomas failas su tam tikros eilutės numeriu, naudokite šią sintaksę:

less +5 /var/log/auth.log

Jei reikia susekti kiekvienos eilutės skaičių naudodami komandą mažiau, naudokite parinktį -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

Pagal numatytuosius nustatymus vienintelis būdas išeiti iš komandos mažiau yra paspausti klavišą q. Norėdami pakeisti šį elgesį ir automatiškai išeiti iš failo, kai pasiekiate failo pabaigą, naudokite parinktį -e arba -E:

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

Norėdami atidaryti failą pirmą kartą pasirodžius šablonui, naudokite šią sintaksę:

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)

Pirmiau pateikta komanda nurodo mažiau atidaryti auth.log failą, kai pirmą kartą atitinka sshd eilutę.

Norėdami automatiškai pridėti failo, atidaryto naudojant komandą mažiau, turinį, naudokite Shift+f klavišų kombinaciją arba paleiskite mažiau naudodami šią sintaksę.

less +F /var/log/syslog

Dėl to mažiau dirbti interaktyviuoju režimu (tiesiogiai) ir skrydžio metu rodyti naują turinį laukiant, kol nauji duomenys bus įrašyti į failą. Šis elgesys panašus į komandą tail -f.

Kartu su šablonu galite interaktyviai žiūrėti žurnalo failą spausdami klavišų klavišą Shift+f ir suderindami raktinį žodį. Norėdami išeiti iš tiesioginio režimo, tiesiog paspauskite klavišus Ctrl+c.

less +/CRON /var/log/syslog

Nesvarbu, ar nuspręsite naudoti daugiau ar mažiau – tai yra asmeninis pasirinkimas, atminkite, kad mažiau yra daugiau su daugiau funkcijos.

Taip pat skaitykite: efektyviai tvarkykite failus naudodami galvos, uodegos ir katės komandas