Vyhledávání na webu

Přečtěte si, proč je příkaz „méně“ rychlejší než příkaz „více“ pro efektivní navigaci v souborech


Více je *nix příkazový řádek používaný k zobrazení obsahu souboru v konzole. Základní použití příkazu more je spustit příkaz proti souboru, jak je uvedeno níže:

Čtěte také: Naučte se rozdíl mezi příkazy „cat“ a „tac“ s příklady

Naučte se Linux ‚více‘ 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
....

Další způsob, jak použít příkaz more ve spojení (pipe) s jinými příkazy, jako je příkaz cat, jak je uvedeno v níže uvedeném příkladu:

cat /var/log/auth.log | more

Chcete-li procházet souborem řádek po řádku, stiskněte klávesu Enter nebo stiskněte klávesu Mezerník pro navigaci po jedné stránce, přičemž stránka odpovídá vaší aktuální velikosti obrazovky terminálu. Pro ukončení příkazu stiskněte klávesu q.

Užitečnou možností příkazu more je přepínač -number, který umožňuje nastavit počet řádků, které má stránka obsahovat. Jako příklad zobrazte soubor auth.log jako stránku s 10 řádky:

more -10 /var/log/auth.log

Také můžete zobrazit stránku začínající od určitého čísla řádku pomocí možnosti +číslo, jak je znázorněno níže:

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 (

Naučte se Linux ‚méně‘ Command

Podobně jako u příkazu více vám příkaz méně umožňuje zobrazit obsah souboru a procházet souborem. Hlavní rozdíl mezi více a méně spočívá v tom, že příkaz méně je rychlejší, protože nenačte celý soubor najednou a umožňuje navigaci v souboru pomocí stránka nahoru/dolů.

In lze použít jako samostatný příkaz vydaný proti souboru nebo použít s rourami s velkým množstvím příkazů Linuxu, aby se zúžil jejich výstup na obrazovce, což vám umožní procházet výsledky.

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

Pomocí klávesy Enter můžete procházet řádky souboru po řádcích. Navigaci po stránce lze ovládat klávesou mezerar. Velikost stránky je reprezentována vaší aktuální velikostí obrazovky terminálu. Chcete-li příkaz ukončit, stiskněte klávesu q, stejně jako pro další příkaz.

Užitečnou funkcí příkazu less je použití možnosti /word-to-seach. Můžete například vyhledat a porovnat všechny zprávy sshd ze souboru protokolu interaktivním zadáním řetězce /sshd.

Chcete-li zobrazit soubor se zaměřením na konkrétní číslo řádku, použijte následující syntaxi:

less +5 /var/log/auth.log

Pokud potřebujete zjistit počet každého řádku pomocí příkazu less, použijte volbu -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

Ve výchozím nastavení je jediným způsobem, jak ukončit příkaz less, stisknout klávesu q. Chcete-li toto chování změnit a automaticky ukončit soubor při dosažení konce souboru, použijte volbu -e nebo -E:

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

Chcete-li otevřít soubor při prvním výskytu vzoru, použijte následující syntaxi:

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)

Výše uvedený příkaz říká less, aby otevřel soubor auth.log při první shodě řetězce sshd.

Chcete-li automaticky připojit obsah souboru otevřeného příkazem less, použijte kombinaci kláves Shift+f nebo spusťte méně s následující syntaxí.

less +F /var/log/syslog

Díky tomu lze méně spouštět v interaktivním režimu (živě) a zobrazovat nový obsah za běhu při čekání na zapsání nových dat do souboru. Toto chování je podobné příkazu tail -f.

V kombinaci se vzorem můžete interaktivně sledovat soubor protokolu stisknutím kláves Shift+f při shodě klíčového slova. Chcete-li ukončit živý režim, stiskněte klávesy Ctrl+c.

less +/CRON /var/log/syslog

Ať už se rozhodnete použít více nebo méně, což je osobní volba, pamatujte, že méně znamená více s více funkce.

Čtěte také: Efektivní správa souborů pomocí příkazů hlavy, ocasu a kočky