Ukazi za Linux

Ukaz za Linux pipe

Ukaz za Linux pipe
Ta ukaz "pipe" je na voljo na platformah UNIX / Linux. Ta ukaz preusmeri izhod prejšnjega ukaza v naslednji ukaz. Obstaja dobesedno TON situacij, ko ta metoda ponuja resnično vrednost.Preden skočite globlje, morate nekaj vedeti. Vsak posamezen program v sistemu UNIX / Linux ima 3 vgrajene tokove podatkov.

Ko bomo delali s triki "pipe", bo "pipe" vzel STDOUT ukaza in ga poslal STDIN naslednjega ukaza.

Oglejmo si nekaj najpogostejših načinov, kako lahko ukaz "pipe" vključite v svojo vsakodnevno uporabo.

Ukaz cevi

Osnovna uporaba

Bolje je, da delovni način "cevi" podrobneje opišete s primerom v živo, kajne? Začnimo. Naslednji ukaz bo "pacman", privzetemu upravitelju paketov za Arch in vse distribucije, ki temeljijo na Archu, natisnil vse nameščene pakete v sistemu.

pacman -Qqe

To je res DOLG seznam paketov. Kako pa je, če poberem le nekaj komponent? Lahko bi uporabili "grep". Ampak kako? Eden od načinov bi bil odlaganje izhoda v začasno datoteko, "grep" želenega izhoda in brisanje datoteke. To vrsto nalog lahko samo po sebi spremenimo v skript. Toda scenarij pišemo le za zelo velike stvari. Za to nalogo pokličimo moč "cevi"!

pacman -Qqe | grep

Super, kajne? Oznaka "|" znak je klic ukaza "pipe". Z levega odseka prime STDOUT in ga poda v STDIN desnega odseka.

V prej omenjenem primeru je ukaz "pipe" dejansko prenesel izhod na koncu dela "grep". Evo, kako se to pokaže.

pacman -Qqe> ~ / Desktop / pacman_package.txt
grep python ~ / Desktop / pacman_package.txt

Več cevovodov

V bistvu z napredno uporabo ukaza "pipe" ni nič posebnega. Od vas je odvisno, kako jo boste uporabili.

Začnimo na primer z zlaganjem več cevovodov.

pacman -Qqe | grep p | grep t | grep py

Izhod pacmanovega ukaza filtrira skozi grebanje skozi vrsto cevovodov.

Včasih, ko delamo z vsebino datoteke, je lahko zelo velika. Ugotoviti pravi kraj našega želenega vstopa je lahko težko. Poiščimo vse vnose, ki vključujejo številki 1 in 2.

demo mačka.txt | grep -n 1 | grep -n 2

Manipuliranje s seznamom datotek in imenikov

Kaj storiti, ko imate opravka z imenikom, v katerem je TONS datotek? Precej nadležno se je pomikati po celotnem seznamu. Seveda, zakaj ne bi bilo s cevjo bolj znosno? V tem primeru si oglejmo seznam vseh datotek v mapi »/ usr / bin«.

ls -l | več

Tukaj “ls” natisne vse datoteke in njihove podatke. Nato ga "pipe" posreduje v "more" za delo s tem. Če niste vedeli, je »več« orodje, ki besedila naenkrat spremeni v en skrben pogled. Vendar je staro orodje in v skladu z uradno dokumentacijo je bolj priporočljivo "manj".

ls -l / usr / bin | manj

Razvrščanje izhoda

Vgrajeno je orodje za razvrščanje, ki bo vneslo besedilo in jih razvrstilo. To orodje je pravi dragulj, če delate z nečistim. Na primer, to datoteko imam polno naključnih nizov.

demo mačka.txt

Preprosto napeljite, da "razvrstite".

demo mačka.txt | razvrsti

To je bolje!

Tiskanje ujemanj določenega vzorca

ls -l | najti ./ -tip f -ime "*.txt "-exec grep 00110011 \;

To je precej zvit ukaz, kajne? Sprva »ls« prikaže seznam vseh datotek v imeniku. Orodje za iskanje najde rezultate in išče.txt «in pokliče» grep «za iskanje» 00110011 «. Ta ukaz bo preveril vsako posamezno besedilno datoteko v imeniku s pripono TXT in poiskal ujemanja.

Natisnite vsebino datoteke določenega obsega

Ko delate z veliko datoteko, je običajno treba preveriti vsebino določenega obsega. Prav to lahko storimo s pametno kombinacijo "mačka", "glava", "rep" in seveda "cev". Orodje "glava" prikaže prvi del vsebine, "rep" pa zadnji del.

mačka | glava -6

mačka | rep -6

Edinstvene vrednote

Pri delu s podvojenimi izhodi je lahko precej moteče. Včasih lahko dvojnik vnosa povzroči resne težave. V tem primeru oddajmo »uniq« na tok besedila in ga shranimo v ločeno datoteko.

Tukaj je na primer besedilna datoteka, ki vsebuje velik seznam številk, ki so dvomestne. Tu so zagotovo podvojene vsebine, kajne?

mačka dvojnik.txt | razvrsti

Zdaj pa izvedimo postopek filtriranja.

mačka dvojnik.txt | razvrsti | uniq> edinstven.txt

Oglejte si izhod.

netopir edinstven.txt

Izgleda bolje!

Cevi za napake

To je zanimiva metoda cevovodov. Ta metoda se uporablja za preusmeritev STDERR v STDOUT in nadaljevanje s cevovodi. To je označeno s simbolom "| &" (brez narekovajev). Na primer, ustvarimo napako in izhodne podatke pošljemo drugemu orodju. V tem primeru sem samo vtipkal nekaj naključnih ukazov in napako posredoval »grep«.

adsfds | & grep n

Zadnje misli

Čeprav je "cev" sama po sebi precej poenostavljena, pa način delovanja ponuja zelo vsestranski način uporabe metode na neskončne načine. Če se ukvarjate s skripti Bash, je to bolj koristno. Včasih lahko naravnost počneš nore stvari! Preberite več o skripti za Bash.

Kako spremeniti miškin kazalec in velikost, barvo in shemo kazalca v sistemu Windows 10
Kazalec miške in kazalec v operacijskem sistemu Windows 10 sta zelo pomembna vidika operacijskega sistema. To lahko rečemo tudi za druge operacijske s...
Brezplačni in odprtokodni igralni mehanizmi za razvoj iger Linux
Ta članek bo zajemal seznam brezplačnih in odprtokodnih igralnih mehanizmov, ki jih je mogoče uporabiti za razvoj 2D in 3D iger v Linuxu. Obstaja veli...
Vadnica Shadow of the Tomb Raider za Linux
Shadow of the Tomb Raider je dvanajsti dodatek k seriji Tomb Raider - franšiza akcijsko-pustolovskih iger, ki jo je ustvaril Eidos Montreal. Kritiki i...