Перенаправление(> >> <), Конвейеры(|) в Linux(шпаргалка-конспект)

  linux, шпаргалка

Как правило у программ есть три файла:
Stdout стандартный файл вывода
Stderr стандартный файл вывода ошибок
Stdin стандартный файл ввода

Обычно файлы эти долго не хранятся на диске

Перенаправление стандартного вывода

> оператор перенаправления файла

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

 

При перенаправлении вывода с помощью оператора > файл назначения всегда переписывается с самого начала.
Например, если использовать такую конструкцию

или

(где unexiteddir — несуществующая директория)
Файл somefile.txt станет пустым

Таким образом, так

можно очищать содержимое файла

>> оператор не перетирает содержимое файла перед записью как делает >
но дописывает в конец файла

Перенаправление стандартного вывода ошибок

Перенаправить вывод можно с помощью дескрипторов файла
Дескрипторы:
0 – ввод
1 – вывод
2 – вывод ошибок

Перенаправляем стандартный вывод ошибок в файл

Стандартный вывод и вывод ошибок в один файл

Или

Удаление вывода = вывод в никуда = вывод в битоприемник /dev/null

 

Перенаправление стандартного ввода

CAT

Cat [файл …] читает содержимое файла и кидает его в стандартный вывод(в консоль)
(удобно использовать cat для вывода коротких текстовых файлов)

Так как на вход программа может принимать несколько файлов а выдает на выходе последовательность, cat используют для объединения файлов в один.

Объединяет файлы в алфавитном порядке или возрастания
Тк Подстановка фактических символов вместо групповых происходит в алф порядке)

Cat без аргументов читает из стандартного ввода, и будет принимать пока пользователь не нажмет ctrl + D

С помощью cat удобно создавать короткие текстовые файлы

Набираем текст
Ctrl + D

Сделаем источник ввода – файл, а вывод – консоль
cat mynewtxtfile.txt равносильно cat < mynewtxtfile.txt

Конвейеры

Это когда команда на ввод может принимать то что у предыдущей команды было на выводе
Синтаксис такого соединения – вертикальная черта

Команда1 | Команда2

Например, удобный просмотр результатов

Команда для изменения вывода часто называют “фильтрами”

Sort не только сортирует, но и по сути, перед сортировкой объединяет все в один список

Наиболее удобны
Uniq – поиск и удаление повторов
Wc – вывод числа строк слов байтов
Grep – поиск слов по шаблону
Grep шаблон [файл…] (используются регулярные выражения)

head – первые 10 строк
tail – последние 10 строк

последние 5 строк

tail – f команда следит за файлом и при добавлении в него строк выводит их, пока пользователь не нажмет ctrl+c

Tee чтение из стандартного ввода – вывод в стандартный вывод и файлы

Удобно сохранять промежуточные результаты в конвейере

(перед тем как отобрать только с вхождением zip записываем вывод в файл ls.txt)

источник
книга

LEAVE A COMMENT