каналы и хвост-f в Linux

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

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

2
задан 05.07.2012, 21:34

1 ответ

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

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

5
ответ дан 08.12.2019, 05:52

Теги

Похожие вопросы