Frage Bash-Skript-Protokolldatei wird kontinuierlich angezeigt


Ich erstelle eine Anwendung, die in eine Protokolldatei schreibt, und ich muss wissen, wie in Linux / Bash die Protokolldatei kontinuierlich auf dem Bildschirm angezeigt wird (Aktualisieren des Bildschirms mit jeder neuen Zeile, die in das Protokoll geschrieben wird).

Nehmen wir als Beispiel an, dass ich ein laufendes Protokoll von pushen möchte apache/error.log auf dem Bildschirm (SSH-Terminal) kontinuierlich aktualisiert.


58
2018-05-26 19:14


Ursprung


Antworten:


Probieren Sie den Tail-Befehl:

tail -f filename

86
2018-05-26 19:16



Eine andere Lösung ist

 less +F filename

oder nur less filename und tippe "F" hinein (Drücken von Verschiebung+f). Es kann besser sein als tail, weil es Ihnen erlaubt, den fortlaufenden Druck vorübergehend abzubrechen, gehen Sie zurück, um etwas zu suchen, und reaktivieren Sie es mit "F" (Verschiebung+f) nochmal


21
2018-05-26 19:24



Der Befehl watch kann ebenfalls nützlich sein.

watch tail logfile

Zeigt die letzten 5 Zeilen der Protokolldatei an. Es kann auf jeden Befehl erweitert werden, der stdout druckt.

Ja, mit tail -f ist die traditionelle Lösung, aber je nachdem, was Sie tun möchten, könnte dies besser funktionieren.


9
2018-05-26 19:28



Du kannst auch:

less filename.txt
and press 'F'

hat ein Plus - Sie können jederzeit CTRL-C und scrollen zurück im Protokoll und starten Sie wieder mit dem "F" zu sehen.


6
2018-05-26 19:25



ssh {remotehost} tail -n0f {logfile}

Dadurch erhalten Sie anfangs null Zeilen und drucken fortlaufend neue Zeilen, die in der Datei angezeigt werden.


5
2018-05-26 19:17