Aloittelijan opas Shell-komentosarjojen lisäämiseen 3 Lisää peruskomentoja ja -ketjuja
Olet oppinut luomaan komentosarjoja, käyttämään argumentteja ja rakentamaan silmukoita. Katsokaamme nyt joitakin perusparametreja, tekstitiedostojen manipulointia ja tulon ja lähdön uudelleenohjausta tiedostoihin ja muihin komentoihin.
Jotkut peruskäyttökomennot
Olemme jo antaneet sinulle perustiedot komentosarjojen skripteistä ja esimerkkipohjaisesta piiristä silmukoita varten, mutta muista tarkistaa nämä artikkelit, jos olet unohtanut kuoren komentosarjojen opas toistaiseksi.
Komentorivi on ihana monista syistä, ja uudelleenohjaus on yksi näkyvimmistä. Jos joudut merkitsemään ja toistamaan jokaisen käskyn tuotoksen, jotta voisit ryhtyä lisätoimiin tai käyttää sitä jostain muusta, olisimme kaikki menneet hulluksi kauan sitten. Uudelleenohjaus antaa meille mahdollisuuden käyttää tätä lähtöä ja tallentaa sen tai käyttää sitä välittömästi toisen komennon tulona. Voimme myös käyttää tiedostoja muiden komentojen syötteinä.
Ennen kuin siirrymme, katetaan joitakin peruskomentoja, jotka voivat olla hyödyllisiä monissa eri paikoissa.
kaiku - Tämä komento tulostaa (näyttää) sen argumentin kokonaisuuden komentorivillä lähdönä
echo argumentti tiloilla
Kuten näette, erikoismerkit on pakotettava, jotta niitä kohdellaan normaalisti. Tämä tehdään käyttämällä merkin edessä olevaa kääntöväriä (\ t On parempi ajatus käyttää lainausmerkkejä. Echo-komento toimii myös muuttujien kanssa.
Kuten näette, yksittäiset ja kaksinkertaiset lainaukset käyttäytyvät eri tavalla. Jos haluat lisätietoja, tarkista, mitä eroa yksittäisten ja kaksinkertaisten lainausten välillä on Bash Shellissä?
kissa - Tämä komento näyttää tekstitiedostojen sisällön tuotoksena.
kissa file_to_be_read
Oletetaan, että luomme tämän tekstitiedoston nano:
Kun käytämme tiedoston komentokomentoa, näemme sen lähdön.
grep - Tämä on yksi tehokkaimmista ja käyttökelpoisimmista käskyistä, jotka ovat käytettävissä Linuxissa. Se tarkoittaa Global / Regular Expression -tulostusta. Se näyttää tiedoston ja tulostaa minkä tahansa rivin, joka vastaa tiettyä kuviota. Koska tämä kuvio perustuu "säännölliseen lausekkeeseen", tiivis viiva voi tuottaa useita sovittavia kuvioita. Ei kuitenkaan voi syöttää terniä etsimiseen.
grep-kuviotiedosto
Vakuutan teille, että grep voi tehdä enemmän, mutta nyt pidämme kiinni helpommasta tavarasta.
Tulosten ohjaaminen uudelleen
Jos haluat ohjata komennon lähdön tiedostoon, käytämme erikoismerkkiä, joka on suurempi kuin symboli (>).
Muutetaanko listaamme, vai mitä? Anna seuraava komento:
echo pepperoni> lista
Näet, että kaiku ei enää näytä riviä, ja kun tarkastelemme "luettelotiedoston" sisältöä, näemme, mitä me toistimme siellä.
Huomaa myös, että aiempi luettelo luettelosta poistettiin. Yritä uudelleen:
Tämä voi olla hyödyllistä, kun haluat käyttää tiedostoa uudelleen, mutta usein haluamme vain lisätä olemassa olevaan tiedostoon. Tätä varten käytämme kahta peräkkäistä suurempaa kuin symbolia:
echo keltainen paprika >> lista
Helppo! Käyttäkäämme tätä komentoa luodaksesi suuremman listan?
Siellä me menemme. Luulen, että voit nähdä, miksi niin monet geeksit käyttävät komentoriviä tekemään tehtäviä ja vastaavia, mutta se paranee.
Otetaan komento ja lähetä se tiedostoon:
ls -al /> ~ / rootlist
Tiedostojen luetteloiden tekeminen, muokkaaminen ja komentojen suorittaminen haluamillasi henkilöillä ei ole koskaan ollut helpompaa. Ja vaikka teemme näitä perusfunktioita komentorivillä, nämä toimivat myös skripteissä.
Putkisto tai ketju
Putkisto on niin nimetty, koska se käyttää putkea, (|; jaetaan useimmissa näppäimistöissä). Pohjimmiltaan se ottaa yhden komennon lähdön ja syöttää sen suoraan toiselle. Voit luoda pitkiä komentoketjuja, jotta saat näin hyvin tarkan halutun ulostulon, ja se on erittäin kätevä komennoille, kuten grep.
Se toimii paljon kuin ">", paitsi että se voidaan ketjuttaa useita kertoja ja sen vaikutus on yleisempi siinä mielessä, että sen ei tarvitse mennä tekstitiedoston läpi.
Kuten näette, grep on kirjainkohtainen. Voit käyttää “-i” -lippua, jotta se jätetään huomiotta.
Uudelleenohjaaminen
Voit myös ottaa syötteitä komentojen tiedostoista käyttämällä vähemmän kuin symbolia (<).
kissa < list
"Se ei ole erilainen kuin argumentin käyttäminen!" No, olisit oikeassa tässä tapauksessa. Jos tulon uudelleenohjaus todella on kätevä, ketjutetaan komentoja yhdessä.
Oletetaan, että haluamme suodattaa minkä tahansa sanan, jossa siinä on "pep" nykyisestä "list" -tiedostostamme uuteen tiedostoon, jonka nimi on "versiot".
grep pep-tarkistukset
Let's toistaa tämän komennon ja lisää jonkinlaisen lajittelun.
grep pep-tarkistukset
Tämä käyttää hakuterminä "pep" syötetiedostosta "lista", lajittele sen aakkosjärjestyksessä (kaikki suuret kirjaimet, joita seuraa kaikki pienet ehdot), ja lähetä se sitten "tarkistus" -tiedostoon.
Voit havainnollistaa lajittelukomentoa seuraavalla esimerkillä:
Kuten näette, "-f" -lippun lisääminen lajittelukomentoon sallii sinun jättää huomiotta tapauksen. Tämä tekee meille helpon tekstiviestien rivien aakkosjärjestyksen ja jättää huomiotta pääoman aktivoinnin, kun se ei ole väliä.
Yksinkertainen komentosarja
Luodaan skripti, jolla on seuraava muoto:
script searchterm listfile
Se vie sanan ja käyttää grepiä hakutoiminnossa luettelotiedostossa, lajittelemaan tulokset ja tulostamaan ne sitten toiseen tiedostoon.
Tässä on hakemisto, jota testataan komentosarjassa:
Ja voimme luoda luettelon siitä, mitä täällä on, ja suorita sitten komentosarja.
Ole hyvä! Mitä enemmän opit säännöllisten lausekkeiden sääntöjä, sitä tarkemmin voit koota hakukomennon. Ja mikä tahansa, joka on voimassa lainauksissa, voidaan korvata ensimmäisellä argumentilla!
Mitä tulee lajitteluun, voit tehdä enemmän kuin vain lajitella aakkosjärjestyksessä. Tutustu man-sivuun joitakin seuraavista komennoista:
- tsort - kehittyneempi topologinen lajittelutoiminto
- tr - voit kartoittaa tiettyjä merkkejä muihin merkkeihin ja kirjoittaa niiden välillä.
- uniq - poistaa kaikki ei-ainutlaatuiset (lue: kaksoiskappale)
- awk - todella kehittynyt tekstinkäsittelykieli / -toiminto, jota voidaan käyttää kenttien erottamiseen tiedostonimissä
- leikkaa, liitä / liitä - komennot, jotka ovat hyödyllisiä kenttien erottamiseksi tekstitiedostoista ja uusien tietojen lisääminen sarakkeisiin
- ulkoasu - hakuja, kuten grep, mutta käyttää hakutoimintoa (joka voi olla käyttäjän määrittämä) hakuun
- wc - voit saada sanamäärän, rivien määrän, merkkien määrän ja paljon muuta
Tutustuimme joihinkin perusasioihin, jotka voivat olla yhtä hyödyllisiä komentorivillä kuin skripteissä. Tekstipohjaiset tiedot ovat usein keskeisiä asioita, joita käytämme päivittäin, jotta pystymme työskentelemään sen kanssa, etsimään sitä ja käsittelemään sitä on avain.
Mitkä ovat suosikkikoodisi? Onko tekstissä käytettäviä tiedostoja varten erikoiskäyttöisiä skriptejä? Jaa, mitä tiedät kommenteissa!