железария

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 браузъри

Това е полезно в команди или програми, където аргументите се въвеждат от клавиатурата, така че да можем да ги заменим с файл, например:

ехо "Здравей свят"> поздравителна котка <поздрав Здравей свят

Обърнете внимание на: Linux Команди: Познайте и манипулирайте системата

тръбопроводи

След като разберем работата на пренасочванията, концепцията за тръбите ще бъде доста проста. Сред принципите на философията на Unix имаме факта, че имаме малки приложения, които отговарят за изпълнението на много специфични задачи и които заедно изпълняват сложни задачи. Следвайки този принцип, трябва да съществува начин за набор от приложения да взаимодействат помежду си. Тук възникват т. Нар. Тръби.

Тръбопроводите са специален тип пренасочване, който ви позволява да изпращате стандартния изход на една команда като стандартен вход на друга. Начинът за представянето му е със символа | (тръба). Основната му полезност е, че ни предлага възможността да обединим команди, обогатявайки програмирането.

Прост и много полезен пример е да видите процесите, които работят в системата с ps и да пренасочите изхода си, за да ги сортирате, за да ги сортирате по PID:

ps -a | вид

Както можете да видите, пренасочванията и тръбите са основни концепции за Linux и с които определено трябва да се справим. По този начин ще се чувствате все по-комфортно в терминала.

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

железария

Избор на редакторите

Back to top button