Dok koristite naredbeni redak, možete izravno proslijediti izlaz jednog programa (na primjer alat koji generira neke informacije o sustavu ili statistiku) kao ulaz za drugi program (npr filtriranje teksta ili pretraživanje uzoraka alati poput grep, sed ili awk, za daljnju obradu), pomoću cjevovoda.
Pročitajte također: Naučite osnove funkcioniranja Linux I/O (Input/Output) preusmjeravanja
Dva najvažnija pomoćna programa naredbenog retka koja se mogu koristiti s cjevovodima za izgradnju naredbenih linija su:
xargs
- čita nizove podataka sa standardnog unosa, zatim generira i izvršava naredbene retke.tee
- čita sa standardnog ulaza i istovremeno zapisuje na standardni izlaz i jednu ili više datoteka. To je više naredba za preusmjeravanje.U ovom jednostavnom članku opisat ćemo kako izgraditi i izvršiti više naredbi iz standardnog ulaza pomoću cijevi, tee i xargs naredbe u Linuxu.
Najjednostavnija sintaksa za korištenje a cijev, koju ste možda već vidjeli u naredbama u mnogim Linux vodičima, je sljedeća. Ali možete izgraditi duži naredbeni redak s nekoliko naredbi.
$ command1 argumenti | command2 args ILI. # command1 args | command2 args | command3 args...
Dolje je primjer korištenja cjevovoda za prijenos rezultata dmesg naredba do komanda glave.
$ dmesg | glava.
U ovom primjeru, druga naredba pretvara više-linijski izlaz u jedan redak pomoću xargs-a.
$ ls -1 *.sh. $ ls -1 *.sh | xargs.
Za prebrojavanje broja redaka/riječi/znakova u svakoj datoteci na popisu, koristite donje naredbe.
$ ls *.sh | xargs wc -l #count broj redaka u svakoj datoteci. $ ls *.sh | xargs wc -w #broji broj riječi u svakoj datoteci. $ ls *.sh | xargs wc -c #count broj znakova u svakoj datoteci. $ ls *.sh | xargs wc #broji retke, riječi i znakove u svakoj datoteci.
Naredba u nastavku pronalazi i rekurzivno briše imenik s imenom svi
u trenutnom direktoriju.
$ pronaći. -Ime "svi"-tip d -print0 | xargs -0 /bin /rm -rf" {} "
The pronaći naredbu s opcijom -tisak0
radnja omogućuje ispis pune putanje direktorija na standardni izlaz, nakon čega slijedi null znak i -0 xargova
flag se bavi prostorom u nazivima datoteka.
Možete pronaći i druge praktične naredba xargs primjeri upotrebe u ovim člancima:
Ovaj primjer pokazuje kako poslati izlaz naredbe na standardni izlaz i spremiti u datoteku; naredba u nastavku omogućuje vam pregled vodeći procesi po najvećoj upotrebi memorije i procesora u Linuxu.
$ ps -eo cmd, pid, ppid,%mem,%cpu --sort = -%mem | glava | tee topprocs.txt. $ cat topprocs.txt.
Da biste dodali podatke u postojeće datoteke, proslijedite datoteku -a
zastava.
$ ps -eo cmd, pid, ppid,%mem,%cpu --sort = -%mem | glava | tee -a topprocs.txt
Više informacija možete pronaći u tee i xargs man stranice.
$ man xargs. $ man tee.
To je sve! Ne zaboravite pogledati naš poseban članak: A - Z naredbe Linuxa - Pregled s primjerima.
U ovom smo članku opisali kako generirati naredbene retke pomoću cjevovoda; xargs i tee naredbe. Možete postaviti bilo kakva pitanja ili podijeliti bilo koje mišljenje putem donjeg obrasca za povratne informacije.