Повторение вывода в файл при одновременном просмотре его в консоли

Итак, я эхо-вывод моих программ, запущенных в терминале, command 2>&1 >> /path/toFile.txt

Это создает несколько ограничений, которые я хочу преодолеть:

  • Как преобразовать строку даты в текущий часовой пояс в командной строке?
  • Использовать панель прокрутки терминала с помощью tmux
  • Как отключить альтернативный экран в терминале Terminal.app OSX?
  • Пытаясь установить Astromenace на мой linux mint 14 cinnamon pc
  • Альтернативы cd / ls для навигации по командной строке?
  • Закрыть соединение SSH
    1. Он «зависает» и не дает выхода в терминале – единственный способ увидеть фактический вывод – открыть выходной файл
    2. Открытие выходного файла не дает результатов в реальном времени. Он дает результаты с момента открытия этого файла

    Как эхо выводить в файл и иметь возможность:

    А) посмотреть живые изменения в этом файле (мне потребуется отдельная программа)

    или

    B) вывод в файл и просмотр этого вывода в терминале в одно и то же время

  • Как закрыть компьютер с определенным IP-адресом?
  • Учебник по настройке Linux-машины с 3 мониторами?
  • Запретить пользователю вводить случайное пространство между rm и wildcard
  • ^ C не работает в zsh на Mac OSX
  • Проводной беспроводной модем в Linux
  • Выбор прямоугольного текста в командной строке
  • 2 Solutions collect form web for “Повторение вывода в файл при одновременном просмотре его в консоли”

    Для a) есть утилита под названием «хвост», которая показывает последние несколько строк файла и, возможно, контролирует файл для новых строк, добавленных в конец:

     $ tail -f /path/toFile.txt 

    Чем меньше пейджер также имеет возможность следить за изменениями, нажатие shift-F заставляет его вводить режим, похожий на tail -f, с тем преимуществом, что одно нажатие ctrl-c вернет вас в обычный режим просмотра файлов, поэтому Что вы можете прокручивать назад файл или искать его, не закрывая его.

    Для b) Для этой цели существует стандартная утилита, называемая tee ( http://www.gnu.org/software/coreutils/manual/coreutils.html#tee-invocation )

    Вы, вероятно, захотите что-то вроде следующего:

     command 2>&1 | tee -a /path/toFile.txt | less 

    | less | less в конце, очевидно, необязательно, но имейте в виду, что если вы включите его, закрытие меньше, вероятно, также закроет вашу команду.

    В стороне, если это должен быть длительный процесс, настоятельно рекомендуется либо запустить его под nohup, либо запустить его внутри экрана, чтобы он остался на выходе.

    Это звучит как работа для тройника. Вывод будет одновременно записываться на терминал и в файл.

     command 2>&1 | tee -a /path/toFile.txt 
    Давайте будем гением компьютера.