„Linux“ komandos

„Linux pipe“ komanda

„Linux pipe“ komanda
Ši komanda „pipe“ lengvai pasiekiama UNIX / Linux platformose. Ši komanda nukreipia ankstesnės komandos išvestį į kitą komandą. Pažodžiui yra TONS situacijų, kai šis metodas teikia rimtą vertę.Prieš šokant gilyn, yra ką žinoti. Kiekvienoje UNIX / Linux sistemos programoje yra 3 įmontuoti duomenų srautai.

Kai ketiname dirbti su „pipe“ gudrybėmis, „pipe“ paims komandos STDOUT ir perduos ją kitos komandos STDIN.

Pažiūrėkime keletą dažniausiai pasitaikančių būdų, kaip galite įtraukti komandą „pipe“ į savo kasdienį naudojimą.

Vamzdžių komanda

Pagrindinis naudojimas

Geriau išsiaiškinti „vamzdžio“ darbo metodą su gyvu pavyzdžiu, tiesa? Pradėkime. Ši komanda nurodys „pacman“, numatytąjį „Arch“ paketų tvarkytuvą ir visus „Arch“ pagrindu veikiančius distros, atsispausdinti visus įdiegtus paketus sistemoje.

pacman -Qqe

Tai tikrai ilgas pakuočių sąrašas. Kaip, apie tik kelis komponentus? Galėtume naudoti „grep“. Bet kaip? Vienas iš būdų būtų išvesties išvedimas į laikiną failą, „grep“ norimą išvestį ir failo ištrynimas. Ši užduočių serija savaime gali būti paversta scenarijumi. Bet mes rašome tik labai didelius dalykus. Šiai užduočiai pasinaudokime „vamzdžio“ galia!

pacman -Qqe | grep

Nuostabu, ar ne? „|“ ženklas yra kvietimas komandai „vamzdis“. Jis paima STDOUT iš kairės dalies ir paduoda ją į dešinės dalies STDIN.

Minėtame pavyzdyje komanda „pipe“ iš tikrųjų perdavė išvestį „grep“ dalies pabaigoje. Štai kaip tai vaidina.

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

Keli vamzdynai

Iš esmės nėra nieko ypatingo, jei išplėstinė komanda „pipe“ naudojama. Tai, kaip juo naudotis, priklauso tik nuo jūsų.

Pavyzdžiui, pradėkime nuo kelių vamzdynų sukrovimo.

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

„Pacman“ komandos išvestis vis labiau filtruojama „grep“ per vamzdynų seriją.

Kartais, kai dirbame su failo turiniu, jis gali būti tikrai labai didelis. Sužinoti tinkamą norimo įrašo vietą gali būti sunku. Ieškokime visų įrašų, kuriuose yra 1 ir 2 skaitmenys.

katės demonstracija.txt | grep -n 1 | grep -n 2

Tvarkyti failų ir katalogų sąrašą

Ką daryti, kai tvarkote katalogą, kuriame yra TONS failų? Gana nemalonu slinkti per visą sąrašą. Aišku, kodėl gi nepadarius jo vamzdžiu geriau? Šiame pavyzdyje patikrinkime visų aplanke „/ usr / bin“ esančių failų sąrašą.

ls -l | daugiau

Čia „ls“ atsispausdina visus failus ir jų informaciją. Tada „vamzdis“ perduoda jį „daugiau“, kad galėtų su tuo dirbti. Jei nežinojai, „daugiau“ yra įrankis, kuris vienu metu paverčia tekstus vienu ekranu. Tačiau tai senas įrankis ir, remiantis oficialiais dokumentais, labiau rekomenduojama vartoti „mažiau“.

ls -l / usr / bin | mažiau

Išvesties rūšiavimas

Yra įmontuotas įrankis „rūšiuoti“, kuris ims teksto įvestį ir sutvarkys. Šis įrankis yra tikras perlas, jei dirbate su kažkuo tikrai netvarkingu. Pavyzdžiui, aš turėjau šį failą, kuriame buvo daug atsitiktinių eilučių.

katės demonstracija.txt

Tiesiog vamzdžiu „surūšiuoti“.

katės demonstracija.txt | rūšiuoti

Taip geriau!

Tam tikro rašto degtukų spausdinimas

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

Tai yra gana sukta komanda, tiesa? Iš pradžių „ls“ pateikia visų kataloge esančių failų sąrašą. „Rasti“ įrankis ima išvestį, ieško „.txt “failus ir iškviečia„ grep “ieškoti„ 00110011 “. Ši komanda patikrins kiekvieną kataloge esantį tekstinį failą su TXT plėtiniu ir ieškos atitikmenų.

Spausdinti tam tikro diapazono failo turinį

Kai dirbate su dideliu failu, dažniausiai reikia patikrinti tam tikro diapazono turinį. Mes galime tai padaryti su protingu „katės“, „galvos“, „uodegos“ ir, žinoma, „pypkės“ deriniu. „Galvos“ įrankis pateikia pirmąją turinio dalį, o „uodega“ - paskutinę.

katė | galva -6

katė | uodega -6

Unikalios vertės

Dirbant su pasikartojančiais išvestimis, tai gali būti gana erzina. Kartais pasikartojantis įvestis gali sukelti rimtų problemų. Šiame pavyzdyje užmeskime „uniq“ ant teksto srauto ir išsaugokime jį atskirame faile.

Pvz., Čia yra teksto failas, kuriame yra didelis skaičius, sudarytas iš 2 skaitmenų. Čia tikrai yra pasikartojančio turinio, tiesa?

katės dublikatas.txt | rūšiuoti

Dabar atlikime filtravimo procesą.

katės dublikatas.txt | rūšiuoti | uniq> unikalus.txt

Patikrinkite išvestį.

šikšnosparnis unikalus.txt

Geriau atrodo!

Klaidų vamzdžiai

Tai yra įdomus vamzdynų metodas. Šis metodas naudojamas STDERR nukreipti į STDOUT ir tęsti vamzdyną. Tai žymima simboliu „| &“ (be kabučių). Pavyzdžiui, sukurkime klaidą ir išsiųskime išvestį į kokį nors kitą įrankį. Šiame pavyzdyje aš tiesiog įvedžiau atsitiktinę komandą ir perdaviau klaidą „grep“.

adsfds | & grep n

Paskutinės mintys

Nors pats „vamzdis“ yra gana paprasto pobūdžio, jo veikimo būdas siūlo labai įvairiapusišką būdą naudoti begaliniu būdu. Jei naudojate „Bash“ scenarijus, tai yra daug naudingiau. Kartais galite tiesiog daryti beprotiškus dalykus! Sužinokite daugiau apie „Bash“ scenarijus.

Kaip naudoti „AutoKey“, norint automatizuoti „Linux“ žaidimus
„AutoKey“ yra darbalaukio automatizavimo įrankis, skirtas „Linux“ ir „X11“, užprogramuotas „Python 3“, „GTK“ ir „Qt“. Naudodami scenarijų ir „MACRO“ f...
Kaip parodyti FPS skaitiklį „Linux“ žaidimuose
„Linux“ žaidimai gavo didelį postūmį, kai „Valve“ paskelbė „Linux“ palaikymą „Steam“ klientui ir jų žaidimams 2012 m. Nuo tada daugelis AAA ir indie ž...
Kaip atsisiųsti ir paleisti „Sid Meier Civilization VI“ sistemoje „Linux“
Įvadas į žaidimą „Civilization 6“ yra šiuolaikinė klasikinės koncepcijos, pristatytos „Age of Empires“ žaidimų serijoje, koncepcija. Idėja buvo gana p...