Первоначальный автор сделал небрежное описание, а затем вы опустили часть того, что он написал.
Он написал:
rsync ... user@<source>:<source_dir> <dest_dir>
rsync ... [source_dir] [dest_host:/dest_dir]
но лучше было бы написать:
rsync ... user@<source_host>:<source_dir> <dest_dir>
rsync ... <source_dir> user@<dest_host>:<dest_dir>
И тогда «переворот» был бы гораздо более очевидным.
По сути, первая форма «выталкивает» файлы с удаленного «исходного» хоста на локальный «dest» хост, а вторая форма «проталкивает» файлы из локального источника на удаленный dest. Он не упоминает, что быстрее.
Я также считаю, что он ошибается, опуская параметр -z. Я использую его постоянно и получаю фантастическое ускорение.
И пока мы педантичны, вы также можете сделать следующее:
rsync ... <source_dir> <dest_dir>
rsync ... user@<source_host>:<source_dir> user@<dest_host>:<dest_dir>
Первая - это просто локальная копия; вы можете использовать его в случаях, когда cp
, ditto
и т. д. не имеют нужных вам параметров. Вторая форма позволит вам копировать файлы между двумя удаленными серверами.
Наконец, если мы действительно педантичны, аргументы -AX относятся только к Linux AFAICT.
tail
позволяет вам добавить -n
, чтобы указать количество строк, отображаемых с конца, которое можно использовать в в сочетании с -f
. Если аргумент для -n
начинается с +
, то это количество строк с начала ( 0
и 1
, отображающее весь файл , 2
, указывающий на пропуск первой строки, как указано @Ben).Так что просто сделайте:
tail -f -n +0 filename
Если ваши файлы журналов меняются, вы можете добавить - retry
(или объединить -f и --retry
в -F
как предложил @Hagen)
Также обратите внимание, что в графическом терминале вы можете использовать мышь и PageUp / PageDown для прокрутки назад в историю (при условии, что ваш буфер достаточно велик ), эта информация остается там, даже если вы используете Ctrl + C для выхода из tail
. Если вы используете less
, это намного менее удобно, и AFAIK вам придется использовать клавиатуру для прокрутки, и я не знаю средств, чтобы less
не деинициализировали termcap, если вы забыли запустите его с -X
.
В дополнение к ответу / u / Anthon вы можете сделать что-то вроде:
{ cat filename; tail -0f filename; }
Параметр -0
для хвоста эквивалентен -n 0
, что означает: dispaly 0 линий. Но -f
отобразит новые строки.
Вам не нужны фигурные скобки {}
. Я использовал их, потому что иногда вы хотите каким-то образом перенаправить файловые дескрипторы. Например:
{ cat ; tail -0f -; } < /var/log/messages
Замечено Беном Милвудом: у вас может быть состояние гонки, при котором размер файла увеличивается между концом операции cat
и началом операции tail
. Но опять же, это «академическая» проблема по отношению к академическому решению.
Есть способ лучше добиться этого:
less +F <file>
Он покажет вам весь файл, имеет полную мощность меньше
и будет ждать нового ввода. Если вы хотите прекратить ожидание ввода и прочитать определенную часть, вы можете остановить это с помощью ^ C
и возобновить с помощью F
.
Команда F
всегда доступна в less
, если вы решили следить за изменениями, открывая файл в less
, нажав F
включит его. Спасибо hiergiltdiestfu и wildcard за указание на это.
watch
должна сделать это за вас.
Вы также можете попробовать
less +FG
У вас будет больше возможностей с командой less
для прокрутки вашего файла, поскольку вы говорите, что это большой файл.