LFCS #1: Kuinka käyttää "sed"-komentoa tiedostojen käsittelyyn Linuxissa
Linux Foundation julkisti LFCS (Linux Foundation Certified Sysadmin) -sertifioinnin, uuden ohjelman, jonka tavoitteena on auttaa ihmisiä kaikkialla maailmassa saamaan sertifioinnin perus- ja keskitason järjestelmänhallintatehtävissä Linux-järjestelmissä.
Tämä sisältää käynnissä olevien järjestelmien ja palveluiden tukemisen, ensikäden vianetsinnän ja analyysin sekä älykkään päätöksenteon ongelmien eskaloimiseksi suunnittelutiimeille.
Viimeisimmästä, 11. elokuuta 2023 tehdystä versiosta lähtien olemme ottaneet huomioon verkkotunnukset ja kompetenssit huolellisesti voimaantulopäivämäärän mukaisesti 11. toukokuuta 2023, jonka virallisesti julisti Linux Foundation.
Sarjan nimi on Preparation for the LFCS (Linux Foundation Certified Sysadmin) osien 1–33 ja se kattaa seuraavat aiheet:
- Part 1
Kuinka Sed-komentoa käytetään tiedostojen käsittelyyn Linuxissa
- Part 2
-
Vi/Vimin asentaminen ja käyttö Linuxissa
- Part 3
Tiedostojen ja hakemistojen pakkaaminen ja tiedostojen etsiminen Linuxissa
- Part 4
Tallennuslaitteiden osiointi, tiedostojärjestelmien muotoilu ja sivutusosion määrittäminen
- Part 5
Liitä/irrota paikallis- ja verkkotiedostojärjestelmät (Samba & NFS) Linuxissa
- Part 6
Osioiden kokoaminen RAID-laitteiksi – Järjestelmän varmuuskopioiden luominen ja hallinta
- Part 7
Järjestelmän käynnistysprosessin ja -palvelujen hallinta (SysVinit, Systemd ja Upstart
- Part 8
Käyttäjien ja ryhmien, tiedostojen käyttöoikeuksien ja Sudo Accessin hallinta
- Part 9
Linux-pakettien hallinta Yumin, RPM:n, Apt:n, Dpkg:n, Aptituden ja Zypperin avulla
- Part 10
Shell-komentosarjan ja tiedostojärjestelmän vianmäärityksen oppiminen
- Part 11
LVM:n hallinta ja luominen vgcreate-, lvcreate- ja lvextend-komennoilla
- Part 12
-
Linuxin tutkiminen asennettujen ohjedokumenttien ja työkalujen avulla
- Part 13
Grand Unified Bootloaderin (GRUB) määrittäminen ja vianmääritys
- Part 14
Tarkkaile Linux-prosessien resurssien käyttöä ja aseta prosessirajoituksia käyttäjäkohtaisesti
- Part 15
Kuinka asettaa tai muokata ytimen ajonaikaisia parametreja Linux-järjestelmissä
- Part 16
Pakollisen pääsynhallinnan käyttöönotto SELinuxilla tai AppArmorilla Linuxissa
- Part 17
Käyttöoikeusluetteloiden (ACL) ja levykiintiöiden asettaminen käyttäjille ja ryhmille
- Part 18
Verkkopalvelujen asentaminen ja automaattisen käynnistyksen määrittäminen käynnistyksen yhteydessä
- Part 19
Lopullinen opas FTP-palvelimen määrittämiseen anonyymien kirjautumisten sallimiseksi
- Part 20
Määritä perusrekursiivisen välimuistin DNS-palvelin ja määritä alueet verkkotunnukselle
- Part 21
MariaDB-tietokantapalvelimen asentaminen, suojaus ja suorituskyvyn viritys
- Part 22
-
NFS-palvelimen asentaminen ja määrittäminen tiedostojärjestelmän jakamista varten
- Part 23
Kuinka määrittää Apache nimipohjaisella virtuaalipalvelimella SSL-sertifikaatilla
- Part 24
Iptables-palomuurin määrittäminen mahdollistamaan palvelujen etäkäyttö Linuxissa
- Part 25
Kuinka tehdä Linuxista reititin, joka hallitsee liikennettä staattisesti ja dynaamisesti
- Part 26
Salattujen tiedostojärjestelmien määrittäminen ja vaihtaminen Cryptsetup Toolin avulla
- Part 27
Kuinka seurata järjestelmän käyttöä, katkoksia ja vianmääritys Linux-palvelimia
- Part 28
Verkkovaraston määrittäminen pakettien asentamista tai päivittämistä varten
- Part 29
Verkon suorituskyvyn, suojauksen ja vianmäärityksen tarkastaminen
- Part 30
Kuinka asentaa ja hallita virtuaalikoneita ja säilöjä
- Part 31
Opi Gitin perusteet projektien tehokkaaseen hallintaan
- Part 32
Aloittelijan opas IPv4- ja IPv6-osoitteiden määrittämiseen Linuxissa
- Part 33
Aloittelijan opas verkkoliitoksen ja siltojen luomiseen Ubuntussa
Tämä viesti on osa 1 33 opetusohjelmasarjasta, joka kattaa LFCS-sertifiointikokeeseen vaadittavat alueet ja kompetenssit. Tästä huolimatta käynnistä terminaalisi ja aloitetaan.
Tekstivirtojen käsittely Linuxissa
Linux käsittelee ohjelmien syötteitä ja tulosteita merkkivirroina (tai -sarjoina). Jotta voisimme ymmärtää uudelleenohjausta ja putkia, meidän on ensin ymmärrettävä kolme tärkeintä I/O-virtatyyppiä (Input and Output), jotka ovat itse asiassa erikoistiedostoja (UNIX- ja Linux-käytännön mukaan tietovirtoja ja oheislaitteita tai laitetiedostoja, käsitellään myös tavallisina tiedostoina).
Ero >
(uudelleenohjausoperaattori) ja |
(putkioperaattori) välillä on, että kun ensimmäinen yhdistää komennon tiedostoon, jälkimmäinen yhdistää komennon tulosteen toiseen. komento.
command > file
command1 | command2
Koska uudelleenohjausoperaattori luo tai korvaa tiedostoja äänettömästi, meidän on käytettävä sitä äärimmäisen varovaisesti, emmekä koskaan erehdy sitä liukuhihnaan.
Yksi putkien etu Linux- ja UNIX-järjestelmissä on, että putkeen ei liity välitiedostoa – ensimmäisen komennon stdout-koodia ei kirjoiteta tiedostoon, vaan toinen komento lukee sitä.
Seuraavissa harjoitustehtävissä käytämme runoa "Onnellinen lapsi" (anonyymi kirjoittaja).
Käytä sed-komentoa
Nimi sed on lyhenne sanoista stream editor. Niille, jotka eivät tunne termiä, stream-editoria käytetään perustekstimuunnosten tekemiseen syöttövirralle (tiedostolle tai syöttöputkesta).
Vaihda tiedostossa pienet kirjaimet isoiksi kirjaimiksi
Yleisin (ja suosituin) sed:n käyttötapa on merkkien korvaaminen. Aloitamme vaihtamalla kaikki pienten y
-kirjainten esiintymät isoilla kirjaimilla Y
ja ohjaamalla tulosteen tiedostoon happychild2.txt.
Lippu g
osoittaa, että sed:n tulee korvata kaikki termin esiintymät tiedoston jokaisella rivillä. Jos tämä lippu jätetään pois, sed korvaa vain termin ensimmäisen esiintymän kullakin rivillä.
Sedin perussyntaksi:
sed ‘s/term/replacement/flag’ file
Esimerkkimme:
sed ‘s/y/Y/g’ ahappychild.txt > ahappychild2.txt
Etsi ja korvaa Word tiedostossa
Jos haluat etsiä tai korvata erikoismerkin (kuten /
, \
, &
), sinun on vältettävä se termissä. tai korvaavia merkkijonoja taaksepäin vinoviivalla.
Korvaamme esimerkiksi et-merkin sanan ja. Samanaikaisesti korvaamme sanan I
sanalla Sinä
, kun ensimmäinen löytyy rivin alusta.
sed 's/and/\&/g;s/^I/You/g' ahappychild.txt
Yllä olevassa komennossa ^
(merkki) on hyvin tunnettu säännöllinen lauseke, jota käytetään esittämään rivin alkua.
Kuten näet, voimme yhdistää kaksi tai useampia korvauskomentoja (ja käyttää niiden sisällä säännöllisiä lausekkeita) erottamalla ne puolipisteellä ja sulkemalla joukon yksittäisten lainausmerkkien sisään.
Tulosta valitut rivit tiedostosta
Toinen sed:n käyttötapa on tiedoston valitun osan näyttäminen (tai poistaminen). Seuraavassa esimerkissä näytämme ensimmäiset 5 riviä /var/log/messages 8. kesäkuuta.
sed -n '/^Jun 8/ p' /var/log/messages | sed -n 1,5p
Huomaa, että oletusarvoisesti sed tulostaa jokaisen rivin. Voimme ohittaa tämän toiminnon vaihtoehdolla -n ja sitten käskeä sed tulostamaan (merkitty p) vain sen osan tiedostosta (tai putkesta), joka vastaa kuviota. (8. kesäkuuta rivin alussa ensimmäisessä tapauksessa ja rivit 1–5 toisessa tapauksessa).
Lopuksi voi olla hyödyllistä tarkastaa komentosarjoja tai asetustiedostoja tarkastaa itse koodi ja jättää kommentit pois. Seuraava yksirivinen sed poistaa (d
) tyhjät rivit tai ne, jotka alkavat kirjaimella #
(merkki |
tarkoittaa loogista TAI< kahden säännöllisen lausekkeen välissä).
sed '/^#\|^$/d' apache2.conf
ainutlaatuinen komento
Uniq-komento antaa meille mahdollisuuden raportoida tai poistaa tiedoston päällekkäisiä rivejä kirjoittamalla oletuksena stdoutiin. Huomaa, että uniq ei havaitse toistuvia rivejä, elleivät ne ole vierekkäin.
Näin ollen uniq käytetään yleisesti edeltävän lajittelun kanssa (jolla lajitellaan tekstitiedostojen rivejä). Oletusarvon mukaan lajittelu ottaa ensimmäisen kentän (välilyönnillä erotettuna) avainkenttään. Jos haluat määrittää toisen avainkentän, meidän on käytettävä -k
-vaihtoehtoa.
Ainutlaatuiset komentoesimerkit
Komento du -sch /polku/hakemistoon/* palauttaa levytilan käytön määritetyn hakemiston alihakemistojen ja tiedostojen mukaan ihmisen luettavassa muodossa (näyttää myös kokonaismäärän hakemistoa kohti), eikä Järjestä tulosteet koon mukaan, mutta alihakemiston ja tiedostonimen mukaan.
Voimme käyttää seuraavaa komentoa lajitellaksesi koon mukaan.
du -sch /var/* | sort –h
Voit laskea lokin tapahtumien määrän päivämäärän mukaan käskemällä uniq suorittaa vertailun käyttämällä kunkin rivin 6 ensimmäistä merkkiä (-w 6)
(jossa päivämäärä on määritetty) ja lisäämällä kunkin tulosrivin etuliitteen esiintymien lukumäärällä (-c
) seuraavalla komennolla.
cat /var/log/mail.log | uniq -c -w 6
Lopuksi voit yhdistää lajittelu ja yksilöllinen (kuten ne yleensä ovat). Harkitse seuraavaa tiedostoa, jossa on luettelo lahjoittajista, lahjoituspäivämäärä ja -summa. Oletetaan, että haluamme tietää, kuinka monta ainutlaatuista luovuttajaa on.
Käytämme seuraavaa cat-komentoa ensimmäisen kentän leikkaamiseen (kentät on erotettu kaksoispisteellä), lajitella nimen mukaan ja poistaa päällekkäiset rivit.
cat sortuniq.txt | cut -d: -f1 | sort | uniq
grep komento
Grep-komento etsii tekstitiedostoista tai (komennon tuloste) tietyn säännöllisen lausekkeen esiintymisen ja tulostaa minkä tahansa rivin, joka sisältää vastaavuuden vakiotulosteeseen.
Grep-komentoesimerkkejä
Näytä tiedot tiedostosta /etc/passwd käyttäjälle gacanepa, kirjainkoko huomioimatta.
grep -i gacanepa /etc/passwd
Näytä kaikki tiedoston /etc sisältö, jonka nimi alkaa kirjaimella rc, jota seuraa mikä tahansa yksittäinen numero.
ls -l /etc | grep rc[0-9]
tr Komennon käyttö
tr-komennolla voidaan kääntää (muuttaa) tai poistaa merkkejä stdinistä ja kirjoittaa tulos stdoutiin.
Vaihda kaikki pienet kirjaimet isoiksi sortuniq.txt-tiedostossa.
cat sortuniq.txt | tr [:lower:] [:upper:]
Purista erotin tulosteessa ls –l vain yhteen välilyöntiin.
ls -l | tr -s ' '
Leikkaa komennon käyttö
Leikkaa-komento poimii osia syöttöriveistä (stdinistä tai tiedostoista) ja näyttää tuloksen vakiotulosteessa tavujen (optio -b
), merkkien (-c
) perusteella ) tai kentät (-f
).
Tässä viimeisessä tapauksessa (kenttien perusteella) oletuskenttien erotin on sarkain, mutta eri erotin voidaan määrittää käyttämällä -d
-vaihtoehtoa.
Leikkaa komentoesimerkit
Pura käyttäjätilit ja niille määritetyt oletuskomentotulokset tiedostosta /etc/passwd (vaihtoehto –d
antaa meille mahdollisuuden määrittää kentän erottimen ja –f
-kytkin osoittaa, mitkä kentät puretaan.
cat /etc/passwd | cut -d: -f1,7
Yhteenvetona luomme tekstivirran, joka koostuu viimeisen komennon tulosteen ensimmäisestä ja kolmannesta ei-tyhjestä tiedostosta. Käytämme grep-suodatinta ensimmäisenä suodattimena tarkistaaksemme käyttäjän gacanepa istunnot ja puristamme sitten erottimet vain yhteen välilyöntiin (tr -s ' ' '
).
Seuraavaksi poimimme ensimmäisen ja kolmannen kentän leikkauksella ja lajittelemme lopuksi toisen kentän mukaan (tässä tapauksessa IP-osoitteet), joka näyttää yksilöivän.
last | grep gacanepa | tr -s ' ' | cut -d' ' -f1,3 | sort -k2 | uniq
Yllä oleva komento näyttää, kuinka useita komentoja ja putkia voidaan yhdistää, jotta saadaan suodatettua dataa toiveidemme mukaan. Voit myös ajaa sitä osittain, jotta näet tulosteen, joka on liukuhihnassa komennosta toiseen (tämä voi muuten olla loistava oppimiskokemus!).
Yhteenveto
Vaikka tämä esimerkki (muiden nykyisen opetusohjelman esimerkkien kanssa) ei ehkä vaikuta kovin hyödylliseltä ensi silmäyksellä, ne ovat hyvä lähtökohta kokeilla komentoja, joita käytetään tiedostojen luomiseen, muokkaamiseen ja käsittelyyn Linuxista. komentorivi.
Jätä kysymyksesi ja kommenttisi alle – niitä arvostetaan suuresti!
LFCS eBook on nyt ostettavissa. Tilaa kopiosi tänään ja aloita matkasi sertifioiduksi Linux-järjestelmänvalvojaksi!
Product Name | Price | Buy |
---|---|---|
The Linux Foundation’s LFCS Certification Preparation Guide | $19.99 | [Buy Now] |
Viimeisenä, mutta ei vähäisimpänä, harkitse koekupongin ostamista seuraavien linkkien avulla ansaitaksesi meille pienen palkkion, joka auttaa meitä pitämään tämän kirjan ajan tasalla.