Linux каналы и перенаправления
Оглавление:
- Перенаправления и каналы в Linux
- Основные понятия
- переадресовывает
- Перенаправление вывода и стандартная ошибка
- Перенаправить ввод
- трубопроводы
Многие уже знают, что в Linux терминал предоставляет нам ценные инструменты для уточнения и оптимизации результатов, к которым мы стремимся. В этом посте мы научим вас использовать перенаправления и каналы. И дело в том, что терминал превращается в коробку с невероятными утилитами. Он предоставляет в наше распоряжение бесчисленные команды и инструменты, которые помогают нам выполнять наши ежедневные задачи на ежедневной основе.
Указатель содержания
Перенаправления и каналы в Linux
Основные понятия
Прежде чем продолжить объяснение, что такое каналы и их важность (забавная часть), мы должны прояснить три основных понятия в Linux: стандартный ввод, стандартный вывод и стандартная ошибка.
Стандартный ввод: представляет данные, необходимые для правильной работы приложения. Примером их может быть файл со структурированными данными или информацией, введенной из терминала. В терминале это представлено как тип 0.
Стандартный вывод: это средство, которое приложение использует для отображения информации о своих процессах и / или результатах, это могут быть простые сообщения, уведомления о ходе выполнения или файлы со структурированными данными, такими как разрешение процесса (например, отчет). В терминале это представлено как тип 1.
Стандартная ошибка: это способ, которым приложения информируют нас о проблемах, которые могут возникнуть в момент их выполнения. Это представлено как тип 2 в терминале.
Все типы представлены в системе как физические файлы, потому что, как вы, наверное, прочитали в предыдущем посте, в Linux все является файлом.
переадресовывает
Теперь, что такое перенаправление?
Перенаправления состоят из перемещения информации из одного типа в другой (типы, упомянутые выше), например, из стандартной ошибки в стандартный вывод или из стандартного вывода в стандартный ввод. Через терминал мы осуществляем это, используя символ>.
Перенаправление вывода и стандартная ошибка
Например, перенаправить вывод команды и отправить ее в файл; нам просто нужно выполнить:
ls -la ~> (имя файла)
Однако, если мы будем выполнять таким образом, содержимое нашего файла будет каждый раз заменяться выводом команды. Если мы хотим, чтобы этот вывод был добавлен в файл, то выполнение будет следующим:
ls -la ~ >> (имя файла)
Что интересно, мы можем перенаправить стандартные выходные данные, ошибки и входные данные. Именно здесь цифры, которые я упоминал в начале, имеют смысл. Например, чтобы заставить программу показывать нам ошибки, которые генерируются во время выполнения, мы перенаправляем стандартную ошибку на стандартный вывод во время ее выполнения:
приложение 2 >> & 1
Где 2 представляет стандартную ошибку, а & 1 представляет стандартный вывод.
Мы также можем отбросить стандартную ошибку в определенном процессе, что часто встречается в системном администрировании. Для этого мы выполним:
приложение 2> / dev / null
Даже отбросить стандартный вывод:
приложение> / dev / null
Поскольку в Linux файл / dev / null является специальным файлом, куда отправляется информация для отбрасывания.
Перенаправить ввод
Таким же образом, как мы перенаправляем стандартные выходные данные и ошибки, мы можем делать это со стандартными входными данными из файла, и для этого мы используем оператор <.
МЫ РЕКОМЕНДУЕМ ВАМ Лучшие малоизвестные браузеры LinuxЭто полезно в командах или программах, где аргументы вводятся с клавиатуры, таким образом, что мы можем заменить их файлом, например:
echo "Hello world"> приветствие кота <приветствие Hello world
Взгляните на: Команды Linux: Знайте и управляйте системой
трубопроводы
После понимания операции перенаправления, концепция каналов будет довольно простой. Среди принципов философии Unix у нас есть факт, что есть небольшие приложения, которые отвечают за выполнение очень специфических задач и которые вместе выполняют сложные задачи. Следуя этому принципу, должен быть способ взаимодействия набора приложений друг с другом. Вот где возникают так называемые трубы.
Конвейеры - это особый тип перенаправления, который позволяет отправлять стандартный вывод одной команды в качестве стандартного ввода другой. Способ представить это с символом | (труба). Его главная полезность заключается в том, что он дает нам возможность объединять команды, обогащая программирование.
Простой и очень полезный пример - увидеть процессы, запущенные в системе с помощью ps, и перенаправить их выходные данные для сортировки, чтобы отсортировать их по PID:
пс-а | сортировать
Как видите, перенаправления и каналы - это фундаментальные концепции Linux, с которыми мы обязательно должны справиться. Таким образом, вы будете чувствовать себя все более комфортно в терминале.
Скажите нам в комментариях, что бы вы использовали или использовали перенаправления и каналы в терминале?
Linux Mint 18.1 Serena доступна для сообщества Linux
Если у вас уже есть Linux Mint 18.0, вы можете легко обновить эту версию из диспетчера обновлений до Linux Mint 18.1 Serena.
Linux AIO Ubuntu 16.10 доступен для сообщества Linux
Linux AIO Ubuntu - это специальный дистрибутив Linux, который включает несколько выпусков самой популярной в мире операционной системы Ubuntu.
WhatsApp уже позволяет вам преобразовывать группы в каналы
WhatsApp представляет новую функцию в групповых чатах, которая позволяет отправлять сообщения только администраторам этой группы.