Перенаправление потока вывода в linux

Простая и удобная шпаргалка по перенаправлению потока вывода в Linux.

n.e. в колонке означает not existing (не существует)

Поток вывода перенаправлен в файл, в терминале его не видно. Если файл существует, он будет перезаписан.

command > file.txt

Поток вывода перенаправлен в файл, в терминале его не видно. Если файл существует, то новые данные добавятся в конец файла.

command >> file.txt

Поток ошибок перенаправлен в файл, в терминале его видно. Если файл существует, он будет перезаписан.

command 2> file.txt

Поток ошибок перенаправлен в файл, в терминале его не видно. Если файл существует, то новые данные будут добавлены в конец файла.

command 2>> file.txt

Поток вывода и поток ошибок перенаправлены в файл, в терминале их не видно. Если файл уже существует, то он будет перезаписан.

command &> file.txt

Поток вывода и поток ошибок перенаправлены в файл, в терминале их не видно. Если файл уже существует, то новые данные будут добавлены в конец файла.

command &>> file.txt

Поток вывода скопирован в файл, он виден в терминале. Если файл уже существует, то он перезапишется.

command | tee file.txt

Команда tee в Linux считывает стандартный ввод и записывает его одновременно в стандартный вывод и в один или несколько подготовленных файлов.

Поток вывода скопирован в файл, он виден в терминале. Если файл уже существует, то новые данные будут добавлены в конец файла.

command | tee -a file.txt

В Bash нет сокращенного синтаксиса, позволяющего передавать только StdErr второй команде, что было бы необходимо в данном случае в сочетании с tee для завершения операции.

(*)

В файл скопированы потоки вывода и ошибки, они видны в терминале. Если файл уже существует, то он перезапишется.

command |& tee file.txt

Потоки вывода и ошибки скопированы в файл, в терминале их видно. Если файл уже существует, то новые данные будут добавлены в конец файла.

command |& tee -a file

В комментариях ребята дали более расширенную таблицу.

Подсмотрено в канале Bash Days.

Источник: https://www.kobzarev.com/linux/perenapravlenie-potoka-vyvoda-v-linux/

Михаил Кобзарёв

Суровый русский тимлид. Жил в Магадане, в офисе московских веб студий и в Тульской деревне. Виртуозно знает WordPress, PHP, ООП, Vue.js и вот это вот все. Делает крутые высоконагруженные сайты, поэтому уже почти захватил весь рынок WordPress разработки в России. Не дает никому делать сайты без спроса. Ведет блог о разработке, дайджест в телеграмме и в ВК. Любит сиськи, баню и радиоэлектронику. 100% патриот (но это не точно). Тролль 542 уровня. Ездит в отпуск раз в 5 лет.

Добавить комментарий

%d такие блоггеры, как: