Администрирование Linux $ Потоки и перенаправления



В общем, в линукс и юникс подобных системах существует 3 основных перенаправления результата:

1. Stdin с индексом 0 - точка входа

2. Stdout с индексом 1 - точка выхода

3. Stderr с индексом 2 - ошибка



К примеру введя команду ls для несуществующей директории нам выпадет ошибка, в противном случае - покажется директория. Мы можем написать это таким образом

$: ls xyu2 > result.txt или же ls xyu 1> result.txt

ls: невозможно получить доступ к 'xyu2': Нет такого файла или каталога

Для перехвата/перенаправления юзаем индекс 2 и указываем путь для сохранения, например так:

$: ls xyu2 1> result.txt 2> errort.txt || echo "выпала ошибка" либо же перенаправляем в пустоту 2> /dev/null

ничего не выведется, если не указать что-то в команде echo



Также есть такая ебала:

> - передать в

>> - дописать в

< - взять из

| - отправить результат следующей команде



Чуточку посложнее:

xargs - построчная передача результата на ввод следующей команде

tee - отправить файл и на стандартный ввод



Логические выражения, по типу

|| (или)

! (не)

&& (и)