GNU/Linux >> Znalost Linux >  >> Linux

Příkaz Shell pro sledování změn v souboru

Řešení 1:

Myslíte

tail -f logfile.log

?

(Manuální stránka pro ocas)

Řešení 2:

Pravděpodobně jste měl na mysli ocas, podle odpovědi Jona Skeeta.

Dalším užitečným jsou hodinky; umožňuje vám pravidelně spouštět příkaz a zobrazit výstup na celé obrazovce. Například:

watch -n 10 -d ls -l /var/adm/messages

Spustí příkaz ls -l /var/adm/messages každých 10 sekund a zvýrazněte rozdíl ve výstupu mezi následujícími běhy. (Užitečné například pro sledování, jak rychle roste soubor protokolu).

Řešení 3:

inotifywait z inotify-tools je užitečné, pokud chcete spustit příkaz pokaždé, když se soubor (nebo jakýkoli soubor v adresáři) změní. Například:

inotifywait -r -m -e modify /var/log | 
   while read path _ file; do 
       echo $path$file modified
   done

Řešení 4:

Preferuji použití less +FG více než tail -f protože zjišťuji, že potřebuji vyhledat v souboru protokolu konkrétní chybu nebo ID. Pokud potřebuji něco vyhledat, napíšu ^C pro zastavení sledování souboru a ? začít hledat pozpátku.

Vazby kláves jsou v podstatě stejné jako v vi . Jakýkoli příkaz lze inicializovat při spuštění pomocí + možnost:

+cmd   Causes  the  specified  cmd  to be executed each time a new file is
       examined.  For example, +G causes less to  initially  display  each
       file starting at the end rather than the beginning.

Pro opravdu dlouhé protokoly mi přijde vhodné použít -n možnost, která vypne číslování řádků. Z manuálové stránky:

-n or --line-numbers
          Suppresses line numbers.  The default (to use line numbers)  may
          cause  less  to run more slowly in some cases, especially with a
          very large input file.  Suppressing line  numbers  with  the  -n
          option  will  avoid this problem.  Using line numbers means: the
          line number will be displayed in the verbose prompt and in the =
          command,  and the v command will pass the current line number to
          the editor (see also  the  discussion  of  LESSEDIT  in  PROMPTS
          below).

1. Klobouk rgmarchovi za to, že na to upozornil v komentářích.

Řešení 5:

Ocas je skvělý ... lze také použít méně, začněte méně na souboru, tj. méně mého souboru a poté stiskněte Shift +F . Toto má méně funkce jako ocas.


Linux
  1. Když používáme příkaz MV, jaké změny se dějí v HDD?

  2. Duplicitní soubor X-krát v Command Shell?

  3. Příkaz wc pro Linux

  1. Linux Tail Command

  2. Linux less command

  3. Jak provést příkaz při každé změně souboru?

  1. Linux Touch Command

  2. Cat Command v Linuxu

  3. Příkaz souboru Linux