Linux-kommandoer

Linux-rørkommando

Linux-rørkommando
Denne "pipe" -kommandoen er lett tilgjengelig på UNIX / Linux-plattformer. Denne kommandoen rør utgangen fra forrige kommando til neste kommando. Det er bokstavelig talt massevis av situasjoner der denne metoden gir seriøs verdi.Før du hopper dypere, er det noe å vite om. Hvert enkelt program i UNIX / Linux-systemet har 3 innebygde datastrømmer.

Når vi skal jobbe med "pipe" -triks, vil "pipe" ta STDOUT av en kommando og overføre den til STDIN i neste kommando.

La oss sjekke ut noen av de vanligste måtene du kan innlemme "pipe" -kommandoen i din daglige bruk.

Rørkommando

Grunnleggende bruk

Det er bedre å utdype arbeidsmetoden for "pipe" med et live eksempel, ikke sant? La oss komme i gang. Følgende kommando vil fortelle “pacman”, standard pakkebehandling for Arch og alle Arch-baserte distroer, om å skrive ut alle installerte pakker på systemet.

pacman -Qqe

Det er en virkelig LANG liste over pakker. Hva med å plukke opp bare noen få komponenter? Vi kan bruke “grep”. Men hvordan? En måte kan være å dumpe utdataene til en midlertidig fil, "grep" ønsket utdata og slette filen. Denne oppgaveserien kan i seg selv gjøres om til et manus. Men vi skript bare for veldig store ting. La oss påkalle kraften til "rør" for denne oppgaven!

pacman -Qqe | grep

Fantastisk, ikke sant? "|" tegnet er kallet til "pipe" -kommandoen. Den griper STDOUT fra venstre seksjon og mater den inn i STDIN på høyre seksjon.

I det nevnte eksemplet passerte "pipe" -kommandoen faktisk utgangen på slutten av "grep" -delen. Slik spiller det ut.

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

Flere rør

I utgangspunktet er det ikke noe spesielt med den avanserte bruken av "pipe" -kommandoen. Det er helt opp til deg hvordan du bruker det.

La oss for eksempel starte med å stable flere rør.

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

Pacman-kommandoutgangen filtreres lenger og lenger av "grep" gjennom en serie rørledninger.

Noen ganger, når vi jobber med innholdet i en fil, kan den være veldig, veldig stor. Det kan være vanskelig å finne ut riktig sted for ønsket oppføring. La oss søke etter alle oppføringene som inneholder sifre 1 og 2.

kattdemo.txt | grep -n 1 | grep -n 2

Manipulere liste over filer og kataloger

Hva du skal gjøre når du har å gjøre med en katalog med TONS filer? Det er ganske irriterende å bla gjennom hele listen. Visst, hvorfor ikke gjøre det mer utholdelig med rør? I dette eksemplet, la oss sjekke ut listen over alle filene i "/ usr / bin" -mappen.

ls -l | mer

Her skriver “ls” ut alle filene og deres informasjon. Deretter sender "pipe" den til "mer" for å jobbe med det. Hvis du ikke visste, er "mer" et verktøy som gjør tekster til en skjermvisning om gangen. Imidlertid er det et gammelt verktøy, og ifølge den offisielle dokumentasjonen anbefales "mindre" mer.

ls -l / usr / bin | mindre

Sortering av utdata

Det er et innebygd verktøy "sorter" som tar tekstinndata og sorterer dem. Dette verktøyet er en ekte perle hvis du jobber med noe veldig rotete. For eksempel fikk jeg denne filen full av tilfeldige strenger.

kattdemo.tekst

Bare rør den for å "sortere".

kattdemo.txt | sortere

Det er bedre!

Skrive ut fyrstikker av et bestemt mønster

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

Dette er en ganske vridd kommando, ikke sant? Først skriver “ls” ut listen over alle filene i katalogen. "Finn" -verktøyet tar utdataene, søker etter ".txt ”filer og innkaller“ grep ”for å søke etter“ 00110011 ”. Denne kommandoen vil sjekke hver eneste tekstfil i katalogen med TXT-utvidelsen og se etter kampene.

Skriv ut filinnhold i et bestemt område

Når du jobber med en stor fil, er det vanlig å ha behov for å sjekke innholdet i et bestemt område. Vi kan gjøre nettopp det med en smart kombinasjon av "katt", "hode", "hale" og selvfølgelig "rør". "Hode" -verktøyet sender ut den første delen av et innhold og "halen" gir den siste delen.

katt | hodet -6

katt | hale -6

Unike verdier

Når du jobber med dupliserte utganger, kan det være ganske irriterende. Noen ganger kan dupliserte innspill forårsake alvorlige problemer. I dette eksemplet, la oss kaste "uniq" på en tekststrøm og lagre den i en egen fil.

Her er for eksempel en tekstfil som inneholder en stor liste med tall som er to sifre lange. Det er definitivt duplisert innhold her, ikke sant?

katt duplikat.txt | sortere

La oss nå utføre filtreringsprosessen.

katt duplikat.txt | sorter | uniq> unik.tekst

Sjekk utdataene.

flaggermus unik.tekst

Ser bedre ut!

Feilrør

Dette er en interessant rørmetode. Denne metoden brukes til å omdirigere STDERR til STDOUT og fortsette med rørene. Dette er betegnet med "| &" symbol (uten anførselstegn). La oss for eksempel lage en feil og sende utdataene til et annet verktøy. I dette eksemplet skrev jeg bare inn en tilfeldig kommando og sendte feilen til "grep".

adsfds | & grep n

Siste tanker

Selv om "pipen" i seg selv er ganske enkel, tilbyr den måten den fungerer på, en veldig allsidig måte å bruke metoden på uendelige måter. Hvis du er interessert i Bash-skripting, er det mye mer nyttig. Noen ganger kan du bare gjøre sprø ting direkte! Lær mer om Bash-skripting.

Mus Microsoft Sculpt Touch Wireless Mouse Review
Microsoft Sculpt Touch Wireless Mouse Review
Jeg har nylig lest om Microsoft Sculpt Touch trådløs mus og bestemte meg for å kjøpe den. Etter å ha brukt den en stund bestemte jeg meg for å dele mi...
Mus AppyMouse Pekeplate og musepeker på skjermen for Windows-nettbrett
AppyMouse Pekeplate og musepeker på skjermen for Windows-nettbrett
Nettbrettbrukere savner ofte musepekeren, spesielt når de bruker vanlige bærbare datamaskiner. Berøringsskjermen Smarttelefoner og nettbrett har mange...
Mus Midterste museknapp fungerer ikke i Windows 10
Midterste museknapp fungerer ikke i Windows 10
De midtre museknapp hjelper deg med å bla gjennom lange websider og skjermer med mye data. Hvis det stopper, vil du ende opp med å bruke tastaturet ti...