Jūs esat iemācījušies veidot skriptus, izmantot argumentus un veidot cilpas. Tagad aplūkosim dažas pamata komandas, teksta failu manipulācijas un ievades un izvades novirzīšanu uz failiem un citām komandām.
Mēs jau esam jums iedevuši pamata čaulas skriptu iedalījumu un cilpas, kuru pamatā ir piemērs, taču noteikti izlasiet šos rakstus, ja līdz šim esat izlaidis mūsu čaulas skriptu rokasgrāmatu.
Komandu līnija ir brīnišķīga daudzu iemeslu dēļ, un novirzīšana ir viena no visredzamākajām. Ja jums vajadzēja ņemt vērā un reproducēt katras komandas izlaidi, lai veiktu turpmākas darbības vai izmantotu to kaut ko citu, tad mēs visi jau sen pagājuši crazy. Pāradresācija ļauj mums izmantot šo izvadi un saglabāt to vai nekavējoties to izmantot kā ievadi citai komandai. Mēs varam arī izmantot failus kā ievades citām komandām.
Pirms mēs turpināsim, apskatīsim dažas pamata komandas, kas var būt noderīgas daudzās dažādās vietās.
echo - Šī komanda vienkārši izdrukā (parāda) visu tās argumentu komandrindā kā izvadi
atbalss arguments ar atstarpēm
Kā redzat, speciālajām rakstzīmēm jābūt "izbēgtām", lai tās būtu normāli apstrādātas. Tas tiek darīts, izmantojot rakstzīmi priekšā, lietojot backslash (\). Labāka ideja ir izmantot citātus. Echo komanda darbojas arī ar mainīgajiem lielumiem.
Kā redzat, vienas un divkāršas pēdiņas izturas atšķirīgi. Lai iegūtu vairāk informācijas, izskatiet, kāda ir atšķirība starp vienreizējiem un divkāršiem ceturkšņiem Bash apvalkā?
kaķis - Šī komanda parāda teksta failu saturu kā izeju.
kaķis file_to_be_read
Pieņemsim, ka mēs izveidojam šo teksta failu nano:
Kad mēs izmantojam kau komandu failā, mēs redzam, ka tā ir izlaide.
grep - šī ir viena no visspēcīgākajām un noderīgākajām komandām, kas jums pieejama Linux. Tas ir par globālo / regulāro izteiksmju izdruku. Tas izskata failu un izdrukā jebkuru līniju, kas atbilst konkrētam modelim. Tā kā šis modelis ir balstīts uz "regulārām izteiksmēm", kodolīga līnija var dot daudzu paraugu saskaņošanai. Jo ne, tomēr jūs varat ievadīt ternu meklēšanai.
grep raksta fails
Es jums apliecinu, ka grep var paveikt vairāk, bet tagad pieņemsimies vieglāk.
Lai novirzītu komandas izvadi uz failu, mēs izmantojam īpašu rakstzīmi, lielāku par simbolu (>).
Vai mēs mainīsim savu sarakstu? Ievadiet šādu komandu:
echo pepperoni> saraksts
Jūs varat redzēt, ka echo vairs nerada līniju, un, aplūkojot faila "saraksts" saturu, mēs redzam, ko mēs atbalsojām tur.
Ņemiet arī vērā, ka iepriekšējais "saraksta" saturs tika noņemts. Izmēģiniet vēlreiz:
Tas var būt noderīgs, ja vēlaties atkārtoti izmantot failu, bet bieži vien mēs vienkārši vēlamies pievienot esošu failu. Šim nolūkam mēs izmantojam divus secīgus lielākus simbolus:
echo dzeltena paprika >> saraksts
Viegli! Izmantosim šo komandu, lai izveidotu lielāku sarakstu, vai mēs to darām?
Tur ejam Es domāju, ka jūs varat redzēt, kāpēc tik daudzi geeks izmanto komandrindu, lai izveidotu uzdevumu sarakstus un tamlīdzīgus, bet tas kļūst vēl labāk.
Let's ņemt komandas izvadi un ievietot to failā:
ls -al /> ~ / rootlist
Failu sarakstu izveidošana, to rediģēšana un pēc tam komandu palaišana uz tām, kuras vēlaties, nekad nav bijusi vienkāršāka. Un, kamēr mēs veicam šīs pamatfunkcijas komandrindā, tie labi darbojas arī skriptos.
Cauruļvads ir tik nosaukts, jo tas izmanto cauruli (|, koplietota ar \ taustiņu lielākajā daļā tastatūru). Būtībā tas aizņem vienas komandas izlaidi un tieši nodod to citai. Jūs varat izveidot garas komandu ķēdes, lai iegūtu ļoti konkrētu vēlamo izvadi šādā veidā, un tas ir ļoti ērti komandām, piemēram, grep.
Tas darbojas daudz, piemēram, ">", izņemot to, ka to var vairākkārtēji sasaistīt, un tā iedarbība ir vispārīgāka, jo tai nav jāiet cauri teksta failam.
Kā jūs varat redzēt, grep ir reģistrjutīga. Varat izmantot "-i" karodziņu, lai ignorētu gadījumu.
Jūs varat arī ievadīt komandas failu failus, izmantojot mazāk nekā simbolu (<).
kaķis <saraksts
"Tas nav atšķirīgs no argumenta izmantošanas!", Jūs varētu teikt. Nu, šajā gadījumā jūs būtu pareizi. Ja ieejas pārorientēšana patiešām ir noderīga, tas ir apvienojot komandas kopā.
Pieņemsim, ka mēs vēlamies filtrēt jebkuru vārdu, kas tajā ir "pep" no mūsu pašreizējā "saraksta" faila uz jaunu failu ar nosaukumu "pārskatīšana".
grep pep revisions
Atkārtošu šo komandu un pievienojam šķirošanu.
grep pep revisions
Izmantojot ievadfailu "saraksts", meklēšanas lodziņā tiks izmantots "pep", kārtot to alfabētiskā secībā (visi lielo burtu termiņi, kam seko visi mazajiem burtiem), pēc tam izvadiet to failā "revisions".
Lai ilustrētu kārtulas komandu, aplūkosim šādu piemēru:
Kā jūs varat redzēt, pievienojot karti "-f", lai kārtotu komandu, jūs varat ignorēt gadījumu. Tādējādi mēs varam vienkārši apzīmēt līnijas teksta failos un ignorēt lielo burtu lietošanu, ja tas nav svarīgi.
Izveidosim skriptu, kuram ir šāda forma:
skripta meklēšanas termiņu sarakstsfile
Tas aizņem terminu un izmantos grep, lai meklētu saraksta failu, kārtotu rezultātus un pēc tam izvadītu tos citā failā.
Šeit ir katalogs, kurā mēs skenēšanu pārbaudīsim:
Un mēs varam izveidot sarakstu ar to, kas šeit, tad palaist skriptu.
Lūdzu! Jo vairāk jūs apgūsiet regulāro izteiksmju noteikumus, jo precīzāk varēsiet salikt meklēšanas komandu. Un viss, kas der citātiem, var aizstāt ar savu pirmo argumentu!
Attiecībā uz šķirošanu, jūs varat darīt vairāk nekā tikai kārtot alfabēta kārtā. Apskatiet vīrusa lapu dažām no šīm komandām:
Mēs apskatījām vēl dažus pamatus šodien, kas var būt tikpat noderīgi kā komandrindā, kā skriptos. Teksta dati bieži vien ir to lietu pamatā, kuras mēs katru dienu lietojam, lai varētu ar to strādāt, meklēt to un manipulēt ar tiem ir atslēga.
Kādi ir daži no jūsu iecienītākajiem skriptiem? Vai jums ir kādi īpaša lietojuma skripti teksta failiem? Kopīgojiet to, ko jūs zināt, komentāros!