TGViewer
BashTex | Linux BashTex | Linux @bash_tex · 2.51K subscribers
Post #531 850
Работа с дескрипторами файлов

В linux все - это файл. И каждый процесс работает с файловыми дескрипторами:

0 - stdin
1 - stdout
2 - stderr
3+ - любые дополнительные

Понимание этого - ключ к нормальной автоматизации.

▪️ Базовые перенаправления


command >out.log # stdout
command 2>err.log # stderr
command >all.log 2>&1 # объединить


2>&1 значит: направь stderr туда же, куда сейчас смотрит stdout.

⚠️ Порядок важен: command 2>&1 >file - НЕ то же самое.

▪️ Dup (дублирование дескрипторов). Можно создать свой поток:


exec 3>debug.log
echo "debug" >&3


Теперь 3 пишет в debug.log.

Это удобно, если нужно:

отделить debug-лог от основного вывода
не засорять stdout
вести параллельный лог

▪️ Временное перенаправление


{
echo "только в файл"
} >file.txt


Или:


exec >all_output.log 2>&1


Теперь весь скрипт пишет в лог.

▪️ Закрытие дескриптора. Иногда нужно закрыть поток:


exec 3>&-


Это освобождает дескриптор.
Полезно при работе с сокетами, FIFO и временными логами.

▪️ Практический кейс. Раздельный лог и чистый stdout:


exec 3>debug.log
BASH_XTRACEFD=3
set -x


Трассировка уйдет в файл, а stdout останется чистым для пайплайна.

BashTex 📱 #bash #utils
  • 👍 9
More from @bash_tex
  1. Oct 7, 2026/dev/tcp - сетевое соединение средствами Bash В Bash есть малоизвестная возможность работа…
  2. Oct 6, 2026Ephemeral ports - почему заканчиваются исходящие TCP-порты Когда приложение устанавливает…
  3. Oct 5, 2026name_to_handle_at() - как получить файловый объект без обычного пути В Linux обычно обраща…
  4. Oct 2, 2026madvise() - как процесс подсказывает ядру, как он собирается использовать память Когда про…
  5. Oct 1, 2026flock vs fcntl - почему две блокировки одного файла могут вести себя совершенно по-разному…
  6. Sep 30, 2026DEBUG trap - как Bash выполняет код перед каждой командой В Bash есть специальный DEBUG tr…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →