LFCS #1: A „sed” parancs használata fájlkezeléshez Linux alatt
A Linux Foundation bejelentette az LFCS (Linux Foundation Certified Sysadmin) tanúsítványt, egy új programot, amelynek célja, hogy világszerte segítse az egyéneket a Linux rendszerek alap- és középszintű rendszeradminisztrációs feladataira vonatkozó minősítés megszerzésében.
Ez magában foglalja a futó rendszerek és szolgáltatások támogatását, valamint az első kézből történő hibaelhárítást és elemzést, valamint az intelligens döntéshozatalt, amely a problémákat a mérnöki csapatok elé terjeszti.
A legutóbbi, 2023. augusztus 11-i átdolgozáskor alaposan elszámoltuk a domaineket és a kompetenciákat, igazodva a 2023. május 11-i hatálybalépési dátumhoz, amint azt hivatalosan kijelentette: a Linux Alapítvány.
A sorozat a Preparation for the LFCS (Linux Foundation Certified Sysadmin) 1. és 33. közötti rész címe lesz, és a következő témák:
- Part 1
A „Sed” parancs használata a fájlok kezeléséhez Linux alatt
- Part 2
-
A Vi/Vim telepítése és használata Linuxban
- Part 3
Fájlok és könyvtárak tömörítése és fájlok keresése Linuxban
- Part 4
Tárolóeszközök particionálása, fájlrendszerek formázása és cserepartíció konfigurálása
- Part 5
Helyi és hálózati (Samba és NFS) fájlrendszerek csatlakoztatása/leválasztása Linuxban
- Part 6
Partíciók összeállítása RAID-eszközként – Rendszermentések létrehozása és kezelése
- Part 7
Rendszerindítási folyamatok és szolgáltatások kezelése (SysVinit, Systemd és Upstart
- Part 8
A felhasználók és csoportok, a fájlengedélyek és a Sudo Access kezelése
- Part 9
Linux csomagkezelés Yum, RPM, Apt, Dpkg, Aptitude és Zypper segítségével
- Part 10
Az alapvető shell-parancsfájlok és a fájlrendszer-hibaelhárítás elsajátítása
- Part 11
LVM kezelése és létrehozása a vgcreate, lvcreate és lvextend parancsokkal
- Part 12
-
Hogyan fedezze fel a Linuxot a telepített súgódokumentációkkal és eszközökkel
- Part 13
A Grand Unified Bootloader (GRUB) konfigurálása és hibaelhárítása
- Part 14
Figyelje a Linux-folyamatok erőforrás-használatát és állítsa be a folyamatkorlátokat felhasználónként
- Part 15
A kernel futásidejű paramétereinek beállítása vagy módosítása Linux rendszereken
- Part 16
Kötelező hozzáférés-vezérlés megvalósítása SELinux vagy AppArmor segítségével Linux alatt
- Part 17
Hozzáférés-vezérlési listák (ACL) és lemezkvóták beállítása felhasználók és csoportok számára
- Part 18
A hálózati szolgáltatások telepítése és az automatikus indítás konfigurálása rendszerindításkor
- Part 19
Végső útmutató az FTP-kiszolgáló beállításához, hogy lehetővé tegye a névtelen bejelentkezést
- Part 20
Állítson be egy alapvető rekurzív gyorsítótárazó DNS-kiszolgálót, és állítsa be a zónákat a tartományhoz
- Part 21
A MariaDB Database Server telepítése, biztonságossá tétele és teljesítményhangolása
- Part 22
-
Az NFS-kiszolgáló telepítése és konfigurálása fájlrendszer-megosztáshoz
- Part 23
Az Apache beállítása névalapú virtuális tárhely használatával SSL-tanúsítvánnyal
- Part 24
Hogyan állítsunk be egy Iptables tűzfalat a szolgáltatások távoli eléréséhez Linux alatt
- Part 25
Hogyan alakítsunk át egy Linuxot routerré a forgalom statikus és dinamikus kezelésére
- Part 26
Titkosított fájlrendszerek beállítása és csere a Cryptsetup Tool segítségével
- Part 27
A rendszerhasználat, a kimaradások figyelése és a Linux-kiszolgálók hibaelhárítása
- Part 28
Hálózati tároló beállítása csomagok telepítéséhez vagy frissítéséhez
- Part 29
A hálózat teljesítményének, biztonságának és hibaelhárításának ellenőrzése
- Part 30
Virtuális gépek és tárolók telepítése és kezelése
- Part 31
Tanulja meg a Git alapjait a projektek hatékony menedzseléséhez
- Part 32
Útmutató kezdőknek az IPv4- és IPv6-címek konfigurálásához Linuxban
- Part 33
Útmutató kezdőknek Hálózati kötés és áthidalás létrehozásához Ubuntuban
Ez a bejegyzés 1. része egy 33 oktatóanyagból álló sorozatnak, amely lefedi az LFCS minősítő vizsgához szükséges területeket és kompetenciákat. Ennek ellenére indítsa be a terminált, és kezdjük.
Szövegfolyamok feldolgozása Linux alatt
A Linux a programok bemenetét és kimenetét karakterfolyamként (vagy sorozatként) kezeli. Az átirányítás és a csövek megértéséhez először meg kell értenünk az I/O (bemeneti és kimeneti) adatfolyamok három legfontosabb típusát, amelyek valójában speciális fájlok (UNIX és Linux rendszerben konvenció szerint adatfolyamok és perifériák, vagy eszközfájlok, közönséges fájlként is kezelik).
A különbség a >
(átirányítási operátor) és a |
(csővezeték operátor) között az, hogy míg az első egy parancsot köt össze egy fájllal, az utóbbi a parancs kimenetét egy másikkal. parancs.
command > file
command1 | command2
Mivel az átirányítási operátor csendben hoz létre vagy írja felül a fájlokat, rendkívül óvatosan kell használnunk, és soha ne tévessze össze egy folyamattal.
A pipes Linux és UNIX rendszereken az egyik előnye, hogy nincs köztes fájl a pipe-hez – az első parancs stdoutja nem íródik fájlba, majd a második parancs olvassa el.
A következő gyakorló gyakorlatokhoz a „Boldog gyermek” című verset használjuk (névtelen szerző).
A sed Command használata
A sed név a streamszerkesztő rövidítése. Azok számára, akik nem ismerik ezt a kifejezést, egy adatfolyam-szerkesztőt használnak az alapvető szövegátalakítások végrehajtására egy bemeneti adatfolyamon (fájlon vagy csővezetékről származó bemeneten).
Módosítsa a kisbetűt nagybetűre a fájlban
A sed legalapvetőbb (és legnépszerűbb) használata a karakterek helyettesítése. Kezdjük azzal, hogy a kisbetűs y
minden előfordulását NAGYBETŐS Y
-ra változtatjuk, és a kimenetet átirányítjuk az ahappychild2.txt fájlra.
A g
jelző azt jelzi, hogy a sed-nek végre kell hajtania a helyettesítést a kifejezés minden előfordulása esetén a fájl minden sorában. Ha ezt a jelzőt kihagyjuk, a sed csak a kifejezés első előfordulását fogja lecserélni minden sorban.
Sed alapszintaxis:
sed ‘s/term/replacement/flag’ file
Példánk:
sed ‘s/y/Y/g’ ahappychild.txt > ahappychild2.txt
A Word keresése és cseréje a fájlban
Ha speciális karaktert (például /
, \
, &
) szeretne keresni vagy lecserélni, ki kell lépnie a kifejezésből. vagy cserekarakterláncok, visszafelé perjellel.
Például az "és" jelet a és szóval helyettesítjük. Ugyanakkor az I
szót a You
szóra cseréljük, ha az első szót a sor elején találjuk.
sed 's/and/\&/g;s/^I/You/g' ahappychild.txt
A fenti parancsban a ^
(caret jel) egy jól ismert reguláris kifejezés, amely egy sor elejét jelöli.
Amint látja, két vagy több helyettesítési parancsot kombinálhatunk (és használhatunk reguláris kifejezéseket bennük), ha pontosvesszővel választjuk el őket, és a halmazt egyetlen idézőjelbe zárjuk.
Kijelölt sorok nyomtatása fájlból
A sed másik használata a fájl egy kiválasztott részének megjelenítése (vagy törlése). A következő példában a /var/log/messages első 5 sorát jelenítjük meg június 8-tól.
sed -n '/^Jun 8/ p' /var/log/messages | sed -n 1,5p
Vegye figyelembe, hogy alapértelmezés szerint a sed minden sort kinyomtat. Ezt a viselkedést felülbírálhatjuk a -n kapcsolóval, majd megmondhatjuk a sed-nek, hogy csak a fájlnak (vagy a csőnek) azt a részét nyomtassa ki (ezt a p jelzi) (Az első esetben június 8. a sor elején, a második esetben az 1-5. sorok között).
Végül a szkriptek vagy konfigurációs fájlok vizsgálatakor hasznos lehet magát a kódot megvizsgálni, és elhagyni a megjegyzéseket. A következő sed egysoros törli (d
) az üres sorokat vagy a #
karakterrel kezdődő sorokat (a |
karakter logikai VAGY< karaktert jelez a két reguláris kifejezés között).
sed '/^#\|^$/d' apache2.conf
egyedi parancs
A uniq parancs lehetővé teszi, hogy jelentsük vagy távolítsuk el a fájl ismétlődő sorait, alapértelmezés szerint az stdout-ba írva. Meg kell jegyeznünk, hogy az uniq nem észleli az ismétlődő sorokat, hacsak nem szomszédosak.
Így az uniq kifejezést általában az azt megelőző rendezés mellett használják (amely a szövegfájlok sorainak rendezésére szolgál). Alapértelmezés szerint a rendezés az első mezőt (szóközökkel elválasztva) kulcsmezőként használja. Más kulcsmező megadásához a -k
opciót kell használnunk.
Egyedi parancspéldák
A du -sch /útvonal/könyvtár/* parancs visszaadja a lemezterület-használatot alkönyvtáronként és a megadott könyvtáron belüli fájlonként ember által olvasható formátumban (könyvtáronkénti végösszeget is), és nem Rendezze a kimenetet méret szerint, de alkönyvtár és fájlnév szerint.
A következő paranccsal méret szerint rendezhetjük.
du -sch /var/* | sort –h
Megszámolhatja a naplóban lévő események számát dátum szerint, ha megmondja az uniq parancsot, hogy az összehasonlítást az egyes sorok első 6 karakterével (-w 6)
(ahol a dátum meg van adva), és minden kimeneti sor előtagja az előfordulások számával (-c
) a következő paranccsal.
cat /var/log/mail.log | uniq -c -w 6
Végül kombinálhatja a rendezést és az egyediet (ahogy általában). Tekintse meg a következő fájlt az adományozók listájával, az adományozás dátumával és összegével. Tegyük fel, hogy tudni akarjuk, hány egyedi donor van.
A következő cat paranccsal kivágjuk az első mezőt (a mezőket kettőspont választja el), név szerint rendezzük, és eltávolítjuk az ismétlődő sorokat.
cat sortuniq.txt | cut -d: -f1 | sort | uniq
grep parancs
A grep parancs szöveges fájlokban vagy (parancskimenetben) keres egy meghatározott reguláris kifejezés előfordulását, és minden olyan sort kiír, amely a szabványos kimenettel megegyezik.
Példák a Grep parancsokra
A gacanepa felhasználó adatainak megjelenítése a /etc/passwd fájlból, figyelmen kívül hagyva a kis- és nagybetűket.
grep -i gacanepa /etc/passwd
Mutassa meg a(z) /etc összes tartalmát, amelynek neve az rc karakterrel kezdődik, amelyet egyetlen szám követ.
ls -l /etc | grep rc[0-9]
tr Parancshasználat
A tr paranccsal lefordíthatjuk (megváltoztathatjuk) vagy törölhetjük az stdin karaktereit, és az eredményt az stdout-ba írhatjuk.
Módosítsa az összes kisbetűt nagybetűre a sortuniq.txt fájlban.
cat sortuniq.txt | tr [:lower:] [:upper:]
Nyomja össze a határolót az ls –l kimenetében, hogy csak egy szóköz legyen.
ls -l | tr -s ' '
Vágja le a parancshasználatot
A cut parancs kivonja a bemeneti sorok egy részét (stdin-ből vagy fájlokból), és az eredményt a szabványos kimeneten jeleníti meg a bájtok száma (-b
opció), karakterek (-c
) alapján. ), vagy mezők (-f
).
Ez utóbbi esetben (a mezők alapján) az alapértelmezett mezőelválasztó egy tabulátor, de a -d
kapcsolóval más elválasztó is megadható.
Vágási parancs példák
Bontsa ki a felhasználói fiókokat és a hozzájuk rendelt alapértelmezett parancsértelmezőket az /etc/passwd fájlból (a –d
opció lehetővé teszi a mezőhatároló és a –f
megadását A kapcsoló jelzi, hogy melyik mező(k) kerülnek kibontásra.
cat /etc/passwd | cut -d: -f1,7
Összegezve, létrehozunk egy szövegfolyamot, amely az utolsó parancs kimenetének első és harmadik nem üres fájljából áll. A grep szűrőt használjuk első szűrőként a gacanepa felhasználó munkameneteinek ellenőrzésére, majd csak egy szóközhöz szorítjuk a határolókat (tr -s ' '
).
Ezután kibontjuk az első és a harmadik mezőt a kivágás elemmel, végül pedig a második mező (ebben az esetben az IP-címek) alapján rendezzük az egyediséget.
last | grep gacanepa | tr -s ' ' | cut -d' ' -f1,3 | sort -k2 | uniq
A fenti parancs megmutatja, hogyan lehet több parancsot és csővezetéket kombinálni, hogy kívánságunknak megfelelően szűrt adatokat kapjunk. Nyugodtan futtathatja részekre bontva is, hogy segítsen látni a kimenetet, amely egyik parancsról a másikra fut (ez egyébként nagyszerű tanulási élmény lehet!).
Összegzés
Bár ez a példa (az aktuális oktatóanyag többi példájával együtt) első pillantásra nem tűnik túl hasznosnak, jó kiindulópontot jelentenek a Linux fájlok létrehozására, szerkesztésére és manipulálására használt parancsokkal való kísérletezéshez. parancs sor.
Nyugodtan hagyja meg kérdéseit és megjegyzéseit alább – nagyra értékeljük!
Az LFCS e-könyv már megvásárolható. Rendelje meg példányát még ma, és induljon útnak okleveles Linux rendszergazdává válása felé!
Product Name | Price | Buy |
---|---|---|
The Linux Foundation’s LFCS Certification Preparation Guide | $19.99 | [Buy Now] |
Végül, de nem utolsósorban, kérjük, vegye fontolóra a vizsgautalvány megvásárlását a következő linkek segítségével, hogy egy kis jutalékot kapjunk, amely segít a könyv frissítésében.