1

Я сталкивался с командной строкой " tail -f log/[environment_name] ", но, к сожалению, у меня нет представления о том, как его использовать и как это может принести мне пользу?

Может ли кто-нибудь пролить свет на то, как и когда я могу использовать эту команду? Любое полное объяснение будет очень ценно.

4 ответа4

3

Он постоянно обновляет вывод файла журнала на консоль в Unix-подобных средах (Linux, OS X, Cygwin в Windows).

tail -f log/development.log

Это сохранит прокрутку журнала разработки в вашей консоли / командном окне.

-f означает "следовать". Смотрите man-страницу tail для более подробной информации.

1

Есть также tailf , который делает то же самое, что и tail -f и короче, чтобы напечатать. Да, я ленивый. Скажи мне, когда ты набрал tail -f в сотый раз.

Он обычно используется, чтобы "следить" за журналом или другим постоянным выводом, чтобы видеть "что происходит" в режиме реального времени.

1

С точки зрения системного администратора может быть полезно видеть записи журнала по мере их появления. Это может помочь при устранении неполадок в службах, таких как электронная почта (SMTP), Интернет (Apache) и т.д., Поскольку можно точно определить, когда появляются записи относительно запуска различных событий.

Другой полезной связанной командой является команда watch которая будет повторять команду с заданными интервалами, обновляя экран при каждом повторении. Например, вы можете просмотреть список файлов, чтобы отслеживать размеры файлов по мере их роста. Или отслеживать состояние устройства, такого как факс-модем, в установке Hylafax.

0

Обычно такая программа, как cat завершается, когда системный вызов read() возвращает 0 байтов данных, обрабатывая их как EOF (конец файла). Обычно tail программа делает то же самое; без опции -f находит конец файла и читает назад, чтобы найти последние 10 (по умолчанию) строк. («Чтение назад» означает «поиск назад и чтение некоторых данных».)

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

Другое использование для этого на длительных компиляциях. Вы устанавливаете компиляцию в фоновом режиме и записываете ее вывод в файл журнала. На переднем плане вы запускаете tail -f в файле журнала, и когда вы обнаружите проблему, вы можете прервать tail не прерывая компиляцию.

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