Linux-komennot

Linux-putkikomento

Linux-putkikomento
Tämä "putki" -komento on helposti saatavilla UNIX / Linux-alustoilla. Tämä komento ohjaa edellisen komennon lähdön seuraavalle komennolle. Kirjaimellisesti on tonnia tilanteita, joissa tällä menetelmällä on vakavaa arvoa.Ennen kuin hyppää syvemmälle, on jotain tietää. Jokaisessa UNIX / Linux-järjestelmän ohjelmassa on 3 sisäänrakennettua tietovirtaa.

Kun aiomme työskennellä "putki" -temppujen kanssa, "pipe" ottaa komennon STDOUT: n ja välittää sen seuraavan komennon STDIN: lle.

Katsotaanpa joitain yleisimpiä tapoja, joilla voit sisällyttää "pipe" -komennon päivittäiseen käyttöön.

Putkikomento

Peruskäyttö

On parempi tarkentaa "putken" toimintatapaa elävällä esimerkillä? Aloitetaan. Seuraava komento kehottaa "pacmania", Archin ja kaikkien Arch-pohjaisten distrojen oletuspakettien hallintaa, tulostamaan kaikki asennetut paketit järjestelmään.

pacman -Qqe

Se on todella PITKÄ pakettiluettelo. Entä vain muutaman komponentin poimiminen? Voisimme käyttää "grep". Mutta miten? Yksi tapa olisi polkea tuotos väliaikaiseen tiedostoon, "grep" haluttu tulos ja poistaa tiedosto. Tämä tehtäväsarja itsessään voidaan muuttaa käsikirjoitukseksi. Mutta käsikirjoitamme vain hyvin suuria asioita. Tähän tehtävään kutsutaan "putken" voimaa!

pacman -Qqe | grep

Mahtavaa, eikö olekin? "|" merkki on kutsu "pipe" -komennolle. Se tarttuu STDOUT: iin vasemmasta osasta ja syöttää sen oikean osan STDIN: ään.

Edellä mainitussa esimerkissä "pipe" -komento tosiasiallisesti ohitti lähdön "grep" -osan lopussa. Näin se toimii.

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

Useita putkistoja

Pohjimmiltaan "pipe" -komennon edistyneessä käytössä ei ole mitään erityistä. Sen käyttö on täysin sinun tehtäväsi.

Aloitetaan esimerkiksi pinomalla useita putkistoja.

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

Pacman-komennon ulostulo suodatetaan yhä pidemmälle "grep" -sarjalla putkistojen läpi.

Joskus, kun käsittelemme tiedoston sisältöä, se voi olla todella, todella suuri. Halutun merkinnän oikean paikan löytäminen voi olla vaikeaa. Etsitään kaikki merkinnät, jotka sisältävät numeroita 1 ja 2.

kissan esittely.txt | grep -n 1 | grep -n 2

Tiedostojen ja hakemistojen luettelon käsittely

Mitä tehdä, kun käsittelet hakemistoa, jossa on TONS tiedostoa? On melko ärsyttävää selata koko luetteloa. Toki, miksi et tekisi siitä siedettävämpää putkella? Tarkastellaan tässä esimerkissä kaikkien / usr / bin -kansiossa olevien tiedostojen luettelo.

ls -l | lisää

Täällä “ls” tulostaa kaikki tiedostot ja niiden tiedot. Sitten "putki" siirtää sen "enemmän" työskentelemään sen kanssa. Jos et tiennyt, “lisää” on työkalu, joka muuttaa tekstit yhdeksi näyttökerraksi kerrallaan. Se on kuitenkin vanha työkalu ja virallisten asiakirjojen mukaan "vähemmän" suositellaan enemmän.

ls -l / usr / bin | Vähemmän

Tuotoksen lajittelu

Siellä on sisäänrakennettu työkalu "lajittelu", joka ottaa tekstinsyötön ja lajittelee ne. Tämä työkalu on todellinen helmi, jos työskentelet jotain todella sotkuista. Esimerkiksi sain tämän tiedoston täynnä satunnaisia ​​merkkijonoja.

kissan esittely.txt

Pistä se vain "lajittelemaan".

kissan esittely.txt | järjestellä

Tuo on parempi!

Tietyn kuvion tulitikun tulostaminen

ls -l | löytö ./ -type f -nimi "*.txt "-exec grep 00110011 \;

Tämä on melko kierretty komento? Aluksi ”ls” antaa luettelon kaikista hakemiston tiedostoista. "Etsi" -työkalu ottaa tuloksen, etsii ".txt ”-tiedostot ja kutsuu“ grep ”etsimään sanaa“ 00110011 ”. Tämä komento tarkistaa jokaisen hakemiston tekstitiedoston TXT-laajennuksella ja etsii vastaavuudet.

Tulosta tietyn alueen tiedostosisältö

Kun työskentelet suuren tiedoston kanssa, on tavallista, että sinun on tarkistettava tietyn alueen sisältö. Voimme tehdä juuri tämän fiksulla "kissan", "pään", "hännän" ja tietysti "putken" yhdistelmällä. "Head" -työkalu tuottaa sisällön ensimmäisen osan ja "tail" viimeisen osan.

kissa | pää -6

kissa | häntä -6

Ainutlaatuiset arvot

Kun työskentelet päällekkäisten lähtöjen kanssa, se voi olla melko ärsyttävää. Joskus päällekkäinen syöttö voi aiheuttaa vakavia ongelmia. Tässä esimerkissä heitetään “uniq” tekstivirralle ja tallennetaan se erilliseen tiedostoon.

Esimerkiksi tässä on tekstitiedosto, joka sisältää suuren luettelon numeroista, jotka ovat 2 merkkiä pitkiä. Täällä on ehdottomasti päällekkäistä sisältöä?

kissan kaksoiskappale.txt | järjestellä

Suoritetaan nyt suodatusprosessi.

kissan kaksoiskappale.txt | lajitella | uniq> ainutlaatuinen.txt

Tarkista lähtö.

lepakko ainutlaatuinen.txt

Näyttää paremmalta!

Virheputket

Tämä on mielenkiintoinen putkitusmenetelmä. Tätä menetelmää käytetään ohjaamaan STDERR STDOUT: iin ja jatkamaan putkistoa. Tämä on merkitty "| &" -symbolilla (ilman lainausmerkkejä). Luodaan esimerkiksi virhe ja lähetetään tulos muulle työkalulle. Tässä esimerkissä kirjoitin vain jonkin satunnaisen komennon ja välitin virheen "grep".

adsfds | & grep n

Lopulliset ajatukset

Vaikka itse "putki" on luonteeltaan melko yksinkertainen, sen toimintatapa tarjoaa erittäin monipuolisen tavan käyttää menetelmää äärettömillä tavoilla. Jos olet kiinnostunut Bash-komentosarjoista, se on paljon hyödyllisempi. Joskus voit vain tehdä hulluja asioita suoraan! Lisätietoja Bash-komentosarjoista.

How to change Mouse pointer and cursor size, color & scheme on Windows 10
The mouse pointer and cursor in Windows 10 are very important aspects of the operating system. This can be said for other operating systems as well, s...
Ilmaiset ja avoimen lähdekoodin pelimoottorit Linux-pelien kehittämiseen
Tämä artikkeli kattaa luettelon ilmaisista ja avoimen lähdekoodin pelimoottoreista, joita voidaan käyttää 2D- ja 3D-pelien kehittämiseen Linuxissa. Tä...
Shadow of the Tomb Raider for Linux -opetusohjelma
Shadow of the Tomb Raider on kahdestoista lisäys Tomb Raider -sarjaan - toiminta-seikkailupelisarja, jonka on luonut Eidos Montreal. Kriitikot ja fani...