2

Можно ли выполнить cat logfile | tail -f По какой-то причине он просто читает исходный журнал, но затем не обновляет входящие записи. Я знаю, что могу напрямую выполнить tail -f logfile .

Я просто хотел знать, почему это не работает, и если tail -f должен быть всегда первым, а затем другим каналом?

1 ответ1

5

Просто сделайте tail -f logfile . Когда вы сначала делаете «кошку», вы называете файл тем, чем он является сейчас, и если вы хотите получить новые записи, вам нужно будет снова его кошить. Если вы просто выполните tail -f logfile , то он будет постоянно обновлять экран по мере обновления файла (хотя вы можете захотеть сделать tail -F logfile , поэтому он продолжит работать, если файл журнала перевернут и будет создан новый файл). ).

Другими словами, cat выполняется один раз, и вывод идет в хвост. Запуск tail непосредственно в файле приводит к тому, что tail запускается и продолжает работать, поэтому вы постоянно получаете обновления (то есть с -f).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .