Linux komandas

Linux caurules komanda

Linux caurules komanda
Šī komanda “pipe” ir viegli pieejama UNIX / Linux platformās. Šī komanda novirza iepriekšējās komandas izvadi uz nākamo komandu. Ir burtiski TONS situāciju, kad šī metode piedāvā nopietnu vērtību.Pirms lekt dziļāk, ir kaut kas jāzina. Katrā UNIX / Linux sistēmas programmā ir 3 iebūvētas datu plūsmas.

Kad mēs strādāsim ar “pipe” trikiem, “pipe” paņems komandas STDOUT un pārsūtīs to nākamās komandas STDIN.

Apskatīsim dažus visizplatītākos veidus, kā jūs varat iekļaut komandu "pipe" savā ikdienas lietošanā.

Cauruļu komanda

Pamata lietošana

Labāk ir detalizētāk aprakstīts “caurules” darba paņēmiens ar tiešu piemēru? Sāksim. Šī komanda liks “pacman”, noklusējuma pakotņu pārvaldniekam Arch un visiem Arch balstītajiem distros, izdrukāt visas sistēmā instalētās pakotnes.

pacman -Qqe

Tas ir patiešām GARS paku saraksts. Kā, lai uzņemtu tikai dažus komponentus? Mēs varētu izmantot “grep”. Bet kā? Viens no veidiem būtu izvades izlikšana pagaidu failā, “grep” vēlamā izvade un faila dzēšana. Šo uzdevumu sēriju pati par sevi var pārvērst par skriptu. Bet mēs rakstām tikai ļoti lielām lietām. Veicot šo uzdevumu, izmantosim “caurules” spēku!

pacman -Qqe | grep

Lieliski, vai ne? “|” zīme ir izsaukums komandai “pipe”. Tas satver STDOUT no kreisās sadaļas un padod to labās sadaļas STDIN.

Iepriekš minētajā piemērā komanda “pipe” faktiski izlaida izvadi “grep” daļas beigās. Lūk, kā tas spēlē.

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

Vairāki cauruļvadi

Būtībā, izmantojot komandu “pipe”, ir nekas īpašs. Tas, kā to izmantot, ir atkarīgs tikai no jums.

Piemēram, sāksim ar vairāku cauruļvadu sakraušanu.

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

Pacman komandas izvade tiek filtrēta arvien tālāk, izmantojot “grep” caur virkni cauruļvadu.

Dažreiz, kad mēs strādājam ar faila saturu, tas var būt patiešām ļoti liels. Var būt grūti atrast vajadzīgo ierakstu īsto vietu. Meklēsim visus ierakstus, kas ietver 1. un 2. ciparu.

kaķu demonstrācija.txt | grep -n 1 | grep -n 2

Manipulējot ar failu un direktoriju sarakstu

Ko darīt, ja jums ir darīšana ar direktoriju, kurā ir TONS failu? Ir diezgan kaitinoši ritināt visu sarakstu. Protams, kāpēc gan nepadarīt to izturīgāku ar cauruli? Šajā piemērā apskatīsim visu mapē “/ usr / bin” esošo failu sarakstu.

ls -l | vairāk

Šeit “ls” izdrukā visus failus un to informāciju. Tad “caurule” to nodod “vairāk”, lai ar to strādātu. Ja jūs nezināt, “vairāk” ir rīks, kas tekstu vienlaikus pārvērš vienā ekrānainā skatā. Tomēr tas ir vecs rīks, un saskaņā ar oficiālo dokumentāciju vairāk ieteicams lietot mazāk.

ls -l / usr / bin | mazāk

Kārto izvadi

Ir iebūvēts rīks “kārtot”, kas veiks teksta ievadi un sakārtos tos. Šis rīks ir īsta pērle, ja strādājat ar kaut ko patiešām netīru. Piemēram, es saņēmu šo failu ar nejaušām virknēm.

kaķu demonstrācija.txt

Vienkārši nosūtiet to “kārtot”.

kaķu demonstrācija.txt | kārtot

Tā ir labāk!

Konkrēta raksta sērkociņu drukāšana

ls -l | atrast ./ -type f -name "*.txt "-exec grep 00110011 \;

Šī ir diezgan savīti komanda, labi? Sākumā “ls” izvada visu direktorijā esošo failu sarakstu. Rīks “atrast” ņem rezultātu, meklē “.txt ”faili un izsauc“ grep ”, lai meklētu“ 00110011 ”. Šī komanda pārbaudīs katru direktorijā esošo teksta failu ar TXT paplašinājumu un meklēs atbilstības.

Drukāt faila saturu noteiktā diapazonā

Kad strādājat ar lielu failu, parasti ir jāpārbauda noteikta diapazona saturs. Mēs to varam izdarīt, izmantojot gudru kombināciju “kaķis”, “galva”, “aste” un, protams, “caurule”. Rīks “galva” izvada satura pirmo daļu un “aste” - pēdējo daļu.

kaķis | galva -6

kaķis | aste -6

Unikālas vērtības

Strādājot ar dublētām izejām, tas var būt diezgan kaitinošs. Dažreiz ievades dublikāti var izraisīt nopietnas problēmas. Šajā piemērā metīsim “uniq” teksta straumē un saglabāsim to atsevišķā failā.

Piemēram, šeit ir teksta fails, kurā ir liels skaitļu saraksts, kas ir 2 cipari garš. Šeit noteikti ir dublēts saturs, labi?

kaķa dublikāts.txt | kārtot

Tagad veiksim filtrēšanas procesu.

kaķa dublikāts.txt | kārtot | uniq> unikāls.txt

Pārbaudiet izvadi.

nūja unikāla.txt

Izskatās labāk!

Kļūdu caurules

Šī ir interesanta cauruļvadu metode. Šo metodi izmanto, lai novirzītu STDERR uz STDOUT un turpinātu cauruļvadu darbību. To apzīmē ar simbolu “| &” (bez pēdiņām). Piemēram, izveidosim kļūdu un nosūtīsim izvadi uz kādu citu rīku. Šajā piemērā es vienkārši ierakstīju kādu nejaušu komandu un kļūdu nodevu “grep”.

adsfds | & grep n

Pēdējās domas

Kaut arī pati “caurule” pēc savas būtības ir diezgan vienkāršota, tās darbības veids piedāvā ļoti daudzveidīgu metodi, kā bezgalīgi izmantot metodi. Ja jūs domājat par Bash skriptiem, tas ir daudz noderīgāk. Dažreiz jūs varat vienkārši izdarīt trakas lietas tieši! Uzziniet vairāk par Bash skriptiem.

Kā izstrādāt spēli Linux
Pirms desmit gadiem maz Linux lietotāju varētu paredzēt, ka viņu iecienītā operētājsistēma kādu dienu būs populāra spēļu platforma komerciālām videosp...
Komerciālo spēļu dzinēju atvērtā koda porti
Bezmaksas, atvērtā koda un starpplatformu spēļu dzinēju atpūtu var izmantot, lai spēlētu vecos, kā arī dažus no diezgan nesenajiem spēļu nosaukumiem. ...
Labākās komandrindas spēles Linux
Komandrinda nav tikai lielākais sabiedrotais, lietojot Linux, bet tā var būt arī izklaides avots, jo to var izmantot, lai spēlētu daudzas jautras spēl...