docs: create sysadmin/logs-output/output-shpargalka

main
Федоров Дмитрий 2023-11-07 10:37:32 +00:00 committed by Dmitriy Fedorov
parent c628fe7362
commit d79a2e83dc
1 changed files with 63 additions and 0 deletions

View File

@ -0,0 +1,63 @@
---
title: Шпаргалка по выводу в терминале
description:
published: true
date: 2023-11-07T10:37:25.945Z
tags: output, tee
editor: markdown
dateCreated: 2023-11-07T10:37:25.945Z
---
![photo_2023-10-31_14-45-08.jpg](/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
`
Потоки вывода и ошибки скопированы в файл, в терминале их не видно. Если файл уже существует, то новые данные будут добавлены в конец файла.