37 lines
3.8 KiB
HTML
37 lines
3.8 KiB
HTML
<!--
|
||
title: Шпаргалка по выводу в терминале
|
||
description:
|
||
published: true
|
||
date: 2023-11-07T10:38:50.580Z
|
||
tags: output, tee
|
||
editor: ckeditor
|
||
dateCreated: 2023-11-07T10:37:25.945Z
|
||
-->
|
||
|
||
<figure class="image image_resized" style="width:52.11%;"><img src="/attachments/photo_2023-10-31_14-45-08.jpg" alt="photo_2023-10-31_14-45-08.jpg"></figure>
|
||
<p>О чо у меня есть, офигительная шпаргалина!</p>
|
||
<p>n.e. в колонке означает not existing (не существует)</p>
|
||
<p>Давай разберем:</p>
|
||
<p><code>command > file.txt</code></p>
|
||
<p>Поток вывода перенаправлен в файл, в терминале его не видно. Если файл существует, он будет перезаписан.</p>
|
||
<p><code>command >> file.txt</code></p>
|
||
<p>Поток вывода перенаправлен в файл, в терминале его не видно. Если файл существует, то новые данные добавятся в конец файла.</p>
|
||
<p><code>command 2> file.txt</code></p>
|
||
<p>Поток ошибок перенаправлен в файл, в терминале его видно. Если файл существует, он будет перезаписан.</p>
|
||
<p><code>command 2>> file.txt</code></p>
|
||
<p>Поток ошибок перенаправлен в файл, в терминале его не видно. Если файл существует, то новые данные будут добавлены в конец файла.</p>
|
||
<p><code>command &> file.txt</code></p>
|
||
<p>Поток вывода и поток ошибок перенаправлены в файл, в терминале их не видно. Если файл уже существует, то он будет перезаписан.</p>
|
||
<p><code>command &>> file.txt</code></p>
|
||
<p>Поток вывода и поток ошибок перенаправлены в файл, в терминале их не видно. Если файл уже существует, то новые данные будут добавлены в конец файла.</p>
|
||
<p><code>command | tee file.txt</code></p>
|
||
<p>Поток вывода скопирован в файл, он виден в терминале. Если файл уже существует, то он перезапишется.</p>
|
||
<p>Команда tee в Linux считывает стандартный ввод и записывает его одновременно в стандартный вывод и в один или несколько подготовленных файлов.</p>
|
||
<p><code>command | tee -a file.txt</code></p>
|
||
<p>Поток вывода скопирован в файл, он виден в терминале. Если файл уже существует, то новые данные будут добавлены в конец файла.</p>
|
||
<p>(*)</p>
|
||
<p>В Bash нет сокращенного синтаксиса, позволяющего передавать только StdErr второй команде, что было бы необходимо в данном случае в сочетании с tee для завершения операции.</p>
|
||
<p><code>command |& tee file.txt</code></p>
|
||
<p>В файл скопированы потоки вывода и ошибки, они видны в терминале. Если файл уже существует, то он перезапишется.</p>
|
||
<p><code>command |& tee -a file </code><br>Потоки вывода и ошибки скопированы в файл, в терминале их не видно. Если файл уже существует, то новые данные будут добавлены в конец файла.</p>
|