62 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Markdown
		
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Markdown
		
	
	
| ---
 | ||
| title: Шпаргалка по выводу в терминале
 | ||
| description: 
 | ||
| published: true
 | ||
| date: 2023-11-07T10:39:10.352Z
 | ||
| tags: output, tee
 | ||
| editor: markdown
 | ||
| dateCreated: 2023-11-07T10:37:25.945Z
 | ||
| ---
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| О чо у меня есть, офигительная шпаргалина!
 | ||
| 
 | ||
| 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 `  
 | ||
| Потоки вывода и ошибки скопированы в файл, в терминале их не видно. Если файл уже существует, то новые данные будут добавлены в конец файла. |