О чо у меня есть, офигительная шпаргалина!



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



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



Вот такие пироги. Подробнее стандартные потоки разберем в следующих постах, многие их не понимают. Изучай.



tags:
#linux #sheets #bash



💩 @bashdays