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 mezera
r. 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