2015-09-29 7 views
1

Я использую tail -f filename, отслеживая текстовый файл, и использую редактор vi, добавляя строку в конце файла.linux command "tail -f filename" does not work

Но после сохранения файла я не видел обновления на терминале, который контролирует «tail -f».

В чем проблема? Есть vi У редактора есть буфер или еще что-то?

+0

Сколько текста являются вы добавляете с vi? Это может быть не vi, это может быть буферизация ОС. –

+0

попробуйте 'echo' или текст' cat' вместо этого. Vim фактически пишет новый файл. – Keith

ответ

2

VI/ВИМ скопировать файл во временный файл, визави:

[[email protected] ~]# lsof | grep temp3 tail 29146 root 3r REG 253,0 2474 2228230 /root/temp3 vim 29260 root 4u REG 253,0 12288 2228273 /root/.temp3.swp

Так что файл, который вы хвостовых перечислен там, и .temp3.swp ВИМ создал, а также.

После того, как вы сохраните файл, ВЬЕТ удаляет оригинал и переименовывает файл .temp3.swp в temp3.swp

Lsof покажет вы хвостовой удаленный файл:

[[email protected] ~]# lsof | grep temp3 tail 29146 root 3r REG 253,0 2474 2228230 /root/temp3~ (deleted)

стат покажет вам новый файл имеет индексный дескриптор файла .temp3.swp выше:

[[email protected] ~]# stat temp3 File: 'temp3' Size: 2482 Blocks: 8 IO Block: 4096 regular file Device: fd00h/64768d Inode: 2228273 Links: 1

 Смежные вопросы

  • Нет связанных вопросов^_^