Linux Foundation oznámila LFCS (Sysadmin certifikovaný pre Linux Foundation) certifikácia, nový program, ktorého cieľom je pomôcť jednotlivcom na celom svete získať osvedčenie o základných až stredne pokročilých úlohách správy systému pre systémy Linux. To zahŕňa podporu spustených systémov a služieb spolu s riešením a analýzou problémov z prvej ruky a inteligentné rozhodovanie o eskalácii problémov inžinierskym tímom.
Pozrite si nasledujúce video, ktoré ukazuje o certifikačnom programe Linux Foundation.
Séria bude mať názov Príprava na LFCS (Sysadmin certifikovaný pre Linux Foundation) Diely 1 cez 10 a pokrývajú nasledujúce témy pre Ubuntu, CentOS a openSUSE:
Časť 1: Ako používať príkaz GNU „sed“ na vytváranie, úpravu a manipuláciu so súbormi v systéme Linux
Dôležité: Vzhľadom na zmeny v certifikačných požiadavkách LFCS účinné Február 2, 2016, Do série LFCS, ktorá je tu uverejnená, zaraďujeme nasledujúce nevyhnutné témy. Ak sa chcete pripraviť na túto skúšku, dôrazne sa odporúča používať Séria LFCE tiež.
Tento príspevok je súčasťou 1 a Séria s 20 lekciami, ktorý pokryje potrebné domény a kompetencie, ktoré sú potrebné pre LFCS certifikačná skúška. To znamená, že zapnite terminál a začnime.
Linux považuje vstupy a výstupy z programov za toky (alebo sekvencie) znakov. Aby sme pochopili presmerovanie a kanály, musíme najskôr porozumieť trom najdôležitejším typom vstupno -výstupných (vstupných a výstupných) prúdov, ktoré sú v skutočnosti špeciálnymi súbormi (podľa konvencií v systémoch UNIX a Linux sa s dátovými tokmi a perifériami alebo so súbormi zariadení taktiež zaobchádza ako s bežnými súbormi).
Rozdiel medzi > (operátor presmerovania) a | (operátor pipeline) je ten, že zatiaľ čo prvý spája príkaz so súborom, druhý spája výstup príkazu s iným príkazom.
# príkaz> súbor. # príkaz1 | príkaz 2.
Pretože operátor presmerovania vytvára alebo prepisuje súbory potichu, musíme ho používať s mimoriadnou opatrnosťou a nikdy si ho nepomýlite s pipeline. Jednou z výhod rúrok v systémoch Linux a UNIX je, že s nimi nie je spojený žiadny prechodný súbor fajka - výstup prvého príkazu nie je zapísaný do súboru a potom je prečítaný druhým príkaz.
Na nasledujúce cvičné cvičenia použijeme báseň „Šťastné dieťa“(Anonymný autor).
Názov sed je skratka pre editor streamov. Pre tých, ktorí nie sú oboznámení s týmto pojmom, sa editor streamov používa na vykonávanie základných transformácií textu na vstupnom toku (súbor alebo vstup z potrubia).
Najzákladnejším (a najpopulárnejším) použitím sed je substitúcia znakov. Začneme tým, že zmeníme každý výskyt malých písmen r do UPPERCASE Y a presmerovanie výstupu na ahappychild2.txt. The g príznak naznačuje, že sed by mal vykonať substitúciu pre všetky inštancie výrazu na každom riadku súboru. Ak tento príznak vynecháte, sed nahradí iba prvý výskyt výrazu v každom riadku.
# sed ‘s/term/replacement/flag‘ súbor.
# sed ‘s/y/Y/g‘ ahappychild.txt> ahappychild2.txt.
Ak chcete vyhľadať alebo nahradiť špeciálny znak (ako napr /, \, &) musíte mu uniknúť, v termíne alebo náhradných reťazcoch, so spätným lomítkom.
Napríklad nahradíme slovom a za ampersandom. Súčasne nahradíme slovo Ja s Ty keď sa prvý nachádza na začiatku riadka.
# sed/s/a/\ &/g; s/^I/You/g 'ahappychild.txt.
Vo vyššie uvedenom príkaze a ^ (znak caret) je známy regulárny výraz, ktorý sa používa na reprezentáciu začiatku riadka.
Ako vidíte, môžeme kombinovať dva alebo viac substitučných príkazov (a používať v nich regulárne výrazy) tak, že ich oddelíme bodkočiarkou a množinu uzavrieme do jednoduchých úvodzoviek.
Ďalším použitím sed je zobrazenie (alebo vymazanie) zvolenej časti súboru. V nasledujúcom príklade zobrazíme prvých 5 riadkov súboru /var/log/messages od 8. júna
# sed -n '/^8. júna/p'/var/log/správy | sed -n 1,5 str.
Všimnite si toho, že v predvolenom nastavení sed vytlačí každý riadok. Toto správanie môžeme prepísať príponou -n možnosť a potom povedzte sedu, aby sa vytlačilo (označené p) iba časť súboru (alebo fajka), ktorá zodpovedá vzoru (8. júna na začiatku riadka v prvom prípade a riadkov 1 až 5 vrátane v druhom prípade).
Nakoniec môže byť užitočné pri kontrole skriptov alebo konfiguračných súborov skontrolovať samotný kód a vynechať komentáre. Nasledujúca sed one-liner vymaže (d) prázdne riadky alebo riadky začínajúce na # ( | znak označuje booleovskú hodnotu ALEBO medzi dvoma regulárnymi výrazmi).
# sed '/^# \ |^$/d' apache2.conf.
The uniq príkaz nám umožňuje nahlásiť alebo odstrániť duplicitné riadky v súbore a v predvolenom nastavení zapisovať do štandardného výstupu. Musíme to poznamenať uniq nedetekuje opakujúce sa čiary, pokiaľ nie sú priľahlé. Preto uniq sa bežne používa spolu s predchádzajúcim triediť (ktorý sa používa na triedenie riadkov textových súborov). Predvolene, triediť berie prvé pole (oddelené medzerami) ako pole kľúča. Na zadanie iného poľa kľúča musíme použiť -k možnosť.
The du –sch/cesta/do/adresára/* príkaz vráti využitie miesta na disku podľa podadresárov a súborov v zadanom adresári v čitateľnom pre človeka formát (zobrazuje tiež súčet za adresár) a neusporiadava výstup podľa veľkosti, ale podľa podadresára a názvu súboru. Na triedenie podľa veľkosti môžeme použiť nasledujúci príkaz.
# du -sch /var /* | triediť - h.
Počet udalostí v protokole podľa dátumu môžete spočítať tak, že to poviete uniq vykonať porovnanie pomocou prvých 6 znakov (-w 6) každého riadka (kde je uvedený dátum) a predradiť každý výstupný riadok počtom výskytov (-c) s nasledujúcim príkazom.
# cat /var/log/mail.log | uniq -c -w 6.
Nakoniec môžete kombinovať triediť a uniq (ako obvykle sú). Pozrite sa na nasledujúci súbor so zoznamom darcov, dátumom darovania a sumou. Predpokladajme, že chceme vedieť, koľko je unikátnych darcov. Nasledujúci príkaz použijeme na vyrezanie prvého poľa (polia sú oddelené dvojbodkou), zoradenie podľa názvu a odstránenie duplicitných riadkov.
# mačka sortuniq.txt | cut -d: -f1 | triediť | uniq.
Prečítajte si tiež: 13 Príklady príkazov „mačka“
grep vyhľadáva v textových súboroch alebo (výstup príkazu) výskyt zadaného regulárneho výrazu a vydáva ľubovoľný riadok obsahujúci zhodu so štandardným výstupom.
Zobraziť informácie z /etc/passwd pre používateľa gacanepa, ignorovanie veľkých a malých písmen.
# grep -i gacanepa /etc /passwd.
Zobraziť všetok obsah priečinka /etc ktorého meno sa začína na rc za ktorým nasleduje jedno jediné číslo.
# ls -l /atď | grep rc [0-9]
Prečítajte si tiež: 12 Príklady príkazov „grep“
The tr príkaz možno použiť na preklad (zmenu) alebo vymazanie znakov zo štandardného súboru a zapísanie výsledku do štandardného výstupu.
V súbore sortuniq.txt zmeňte všetky malé písmená na veľké písmená.
# mačka sortuniq.txt | tr [: lower:] [: upper:]
Stlačte oddeľovač na výstupe z ls –l len do jedného priestoru.
# ls -l | tr -s '
The rezať príkaz extrahuje časti vstupných riadkov (zo stdin alebo zo súborov) a zobrazí výsledok na štandardnom výstupe podľa počtu bajtov (-b možnosť), znaky (-c) alebo polia (-f). V tomto poslednom prípade (na základe polí) je predvoleným oddeľovačom polí karta, ale iný oddeľovač je možné určiť pomocou -d možnosť.
Extrahujte používateľské účty a z nich priradené predvolené shelly /etc/passwd ( –D voľba nám umožňuje určiť oddeľovač polí a –F prepínač označuje, ktoré polia budú extrahované.
# cat /etc /passwd | strih -d: -f1,7.
Keď to zhrnieme, vytvoríme textový prúd pozostávajúci z prvého a tretieho prázdneho súboru výstupu súboru posledný príkaz. Použijeme grep ako prvý filter na kontrolu relácií používateľa gacanepa, potom stlačte oddeľovače iba na jedno miesto (tr -s ‘ ‘). Ďalej extrahujeme prvé a tretie pole pomocou rezaťa nakoniec zoradiť podľa druhého poľa (v tomto prípade IP adries) zobrazujúceho jedinečné.
# posledný | grep gacanepa | tr -s '' | cut -d '' -f1,3 | triediť -k2 | uniq.
Vyššie uvedený príkaz ukazuje, ako je možné kombinovať viac príkazov a kanálov, aby sa získali filtrované údaje podľa našich prianí. Nebojte sa ho spustiť aj po častiach, aby ste videli, ktorý výstup je prepojený z jedného príkazu na druhý (mimochodom, môže to byť skvelý učebný zážitok!).
Aj keď sa tento príklad (spolu so zvyškom príkladov v aktuálnom návode) na prvý pohľad nemusí zdať veľmi užitočný, ide o pekný východiskový bod na začiatok experimentovania s príkazmi, ktoré sa používajú na vytváranie, úpravu a manipuláciu so súbormi z príkazu Linux riadok. Neváhajte zanechať svoje otázky a komentáre nižšie - budú veľmi cenené!