wiki-js/sysadmin/logs-output/output-shpargalka.md

3.4 KiB
Raw Permalink Blame History

title description published date tags editor dateCreated
Шпаргалка по выводу в терминале true 2024-07-09T09:50:56.761Z output, tee markdown 2023-11-07T10:37:25.945Z

photo_2023-10-31_14-45-08.jpg

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

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 
Потоки вывода и ошибки скопированы в файл, в терминале их не видно. Если файл уже существует, то новые данные будут добавлены в конец файла.