аппаратные средства

Linux каналы и перенаправления

Оглавление:

Anonim

Многие уже знают, что в 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, с которыми мы обязательно должны справиться. Таким образом, вы будете чувствовать себя все более комфортно в терминале.

Скажите нам в комментариях, что бы вы использовали или использовали перенаправления и каналы в терминале?

аппаратные средства

Выбор редактора

Back to top button