Обладнання

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