LFCS #1: Jak používat příkaz 'sed' pro manipulaci se soubory v Linuxu
Linux Foundation oznámila certifikaci LFCS (Linux Foundation Certified Sysadmin), nový program, jehož cílem je pomoci jednotlivcům na celém světě získat certifikaci pro základní až středně pokročilé úlohy správy systému pro systémy Linux.
To zahrnuje podporu běžících systémů a služeb spolu s řešením problémů a analýzou z první ruky a inteligentním rozhodováním, aby se problémy eskalovaly inženýrským týmům.
Od poslední revize dne 11. srpna 2023 jsme pečlivě zaúčtovali domény a kompetence v souladu s datem účinnosti 11. května 2023, jak bylo oficiálně deklarováno Linux Foundation.
Série se bude jmenovat Příprava na LFCS (Linux Foundation Certified Sysadmin) části 1 až 33 a pokryje následující témata:
- Part 1
Jak používat příkaz „Sed“ k manipulaci se soubory v systému Linux
- Part 2
-
Jak nainstalovat a používat Vi/Vim v Linuxu
- Part 3
Jak komprimovat soubory a adresáře a najít soubory v Linuxu
- Part 4
Rozdělení úložných zařízení, formátování souborových systémů a konfigurace odkládacího oddílu
- Part 5
Připojit/odpojit místní a síťové (Samba a NFS) souborové systémy v Linuxu
- Part 6
Sestavení oddílů jako zařízení RAID – Vytváření a správa záloh systému
- Part 7
Správa procesu spouštění systému a služeb (SysVinit, Systemd a Upstart
- Part 8
Jak spravovat uživatele a skupiny, oprávnění k souborům a sudo přístup
- Part 9
Linux Package Management s Yum, RPM, Apt, Dpkg, Aptitude a Zypper
- Part 10
Naučte se základní skriptování Shell a odstraňování problémů se souborovým systémem
- Part 11
Jak spravovat a vytvářet LVM pomocí příkazů vgcreate, lvcreate a lvextend
- Part 12
-
Jak prozkoumat Linux pomocí nainstalované dokumentace nápovědy a nástrojů
- Part 13
Jak konfigurovat a řešit problémy s Grand Unified Bootloader (GRUB)
- Part 14
Monitorujte využití zdrojů linuxových procesů a nastavujte limity procesů na základě jednotlivých uživatelů
- Part 15
Jak nastavit nebo upravit parametry běhu jádra v systémech Linux
- Part 16
Implementace povinného řízení přístupu pomocí SELinux nebo AppArmor v Linuxu
- Part 17
Jak nastavit seznamy řízení přístupu (ACL) a diskové kvóty pro uživatele a skupiny
- Part 18
Instalace síťových služeb a konfigurace automatického spouštění při spouštění
- Part 19
Dokonalý průvodce nastavením FTP serveru pro anonymní přihlášení
- Part 20
Nastavte základní server DNS s rekurzivním ukládáním do mezipaměti a nakonfigurujte zóny pro doménu
- Part 21
Jak nainstalovat, zabezpečit a vyladit výkon databázového serveru MariaDB
- Part 22
-
Jak nainstalovat a nakonfigurovat server NFS pro sdílení systému souborů
- Part 23
Jak nastavit Apache s virtuálním hostingem založeným na názvu s certifikátem SSL
- Part 24
Jak nastavit Iptables Firewall pro povolení vzdáleného přístupu ke službám v Linuxu
- Part 25
Jak proměnit Linux ve směrovač, který zvládne provoz staticky a dynamicky
- Part 26
Jak nastavit šifrované systémy souborů a vyměnit je pomocí nástroje Cryptsetup Tool
- Part 27
Jak sledovat využití systému, výpadky a odstraňování problémů se servery Linux
- Part 28
Jak nastavit síťové úložiště pro instalaci nebo aktualizaci balíčků
- Part 29
Jak auditovat výkon sítě, zabezpečení a odstraňování problémů
- Part 30
Jak nainstalovat a spravovat virtuální stroje a kontejnery
- Part 31
Naučte se základy Git pro efektivní správu projektů
- Part 32
Průvodce pro začátečníky konfigurací IPv4 a IPv6 adres v Linuxu
- Part 33
Průvodce pro začátečníky vytvářením síťových vazeb a přemostění v Ubuntu
Tento příspěvek je částí 1 série výukových programů, která pokryje nezbytné domény a kompetence, které jsou vyžadovány pro certifikační zkoušku LFCS. Jak již bylo řečeno, zapněte svůj terminál a můžeme začít.
Zpracování textových proudů v Linuxu
Linux zachází se vstupem a výstupem z programů jako s proudy (nebo sekvencemi) znaků. Abychom mohli začít chápat přesměrování a roury, musíme nejprve porozumět třem nejdůležitějším typům I/O (vstupních a výstupních) toků, což jsou ve skutečnosti speciální soubory (podle konvence v UNIXu a Linuxu datové toky a periferie nebo soubory zařízení, jsou také považovány za běžné soubory).
Rozdíl mezi >
(operátor přesměrování) a |
(operátor potrubí) je v tom, že zatímco první spojuje příkaz se souborem, druhý spojuje výstup příkazu s jiným příkaz.
command > file
command1 | command2
Vzhledem k tomu, že operátor přesměrování vytváří nebo přepisuje soubory tiše, musíme jej používat s extrémní opatrností a nikdy si jej nespleteme s potrubím.
Jednou z výhod rour v systémech Linux a UNIX je, že s rorou není spojen žádný mezisoubor – stdout prvního příkazu se nezapisuje do souboru a pak se nečte druhým příkazem.
Pro následující procvičovací cvičení použijeme báseň „Šťastné dítě “ (anonymní autor).
Pomocí příkazu sed
Název sed je zkratka pro editor streamu. Pro ty, kteří tento termín neznají, se používá editor proudů k provádění základních textových transformací na vstupním proudu (souboru nebo vstupu z kanálu).
V souboru změňte malá písmena na velká
Nejzákladnějším (a nejoblíbenějším) použitím sed je nahrazování znaků. Začneme změnou každého výskytu malého y
na VELKÁ Y
a přesměrováním výstupu do ahappychild2.txt.
Příznak g
označuje, že sed by měl provést náhradu za všechny výskyty výrazu na každém řádku souboru. Pokud je tento příznak vynechán, sed nahradí pouze první výskyt termínu na každém řádku.
Základní syntaxe Sed:
sed ‘s/term/replacement/flag’ file
Náš příklad:
sed ‘s/y/Y/g’ ahappychild.txt > ahappychild2.txt
Hledat a nahradit Word v souboru
Pokud chcete vyhledat nebo nahradit speciální znak (např. /
, \
, &
), musíte jej ve výrazu escapovat nebo náhradní řetězce se zpětným lomítkem.
Například za ampersand nahradíme slovo a. Zároveň nahradíme slovo I
slovem You
, když se první najde na začátku řádku.
sed 's/and/\&/g;s/^I/You/g' ahappychild.txt
Ve výše uvedeném příkazu je ^
(stříška) dobře známý regulární výraz, který se používá k reprezentaci začátku řádku.
Jak vidíte, můžeme kombinovat dva nebo více substitučních příkazů (a používat v nich regulární výrazy) tak, že je oddělíme středníkem a uzavřeme sadu do jednoduchých uvozovek.
Tisk vybraných řádků ze souboru
Další použití sed je zobrazení (nebo smazání) vybrané části souboru. V následujícím příkladu zobrazíme prvních 5 řádků /var/log/messages z 8. června.
sed -n '/^Jun 8/ p' /var/log/messages | sed -n 1,5p
Všimněte si, že ve výchozím nastavení sed vytiskne každý řádek. Toto chování můžeme přepsat volbou -n a pak říct sed, aby vytiskl (označeno p) pouze tu část souboru (nebo roura), která odpovídá vzoru (8. června na začátku řádku v prvním případě a řádky 1 až 5 včetně ve druhém případě).
Konečně může být užitečné při kontrole skriptů nebo konfiguračních souborů zkontrolovat samotný kód a vynechat komentáře. Následující jednořádkový sed odstraní (d
) prázdné řádky nebo řádky začínající #
(znak |
označuje booleovský NEBO< mezi dvěma regulárními výrazy).
sed '/^#\|^$/d' apache2.conf
příkaz uniq
Příkaz uniq nám umožňuje nahlásit nebo odstranit duplicitní řádky v souboru, ve výchozím nastavení zapisovat do stdout. Musíme poznamenat, že uniq nedetekuje opakované řádky, pokud nejsou sousedící.
Proto se uniq běžně používá spolu s předchozím tříděním (které se používá k řazení řádků textových souborů). Ve výchozím nastavení třídění bere jako klíčové pole první pole (oddělené mezerami). Chcete-li zadat jiné pole klíče, musíme použít volbu -k
.
Příklady příkazů Uniq
Příkaz du -sch /cesta/k/adresáři/* vrací využití místa na disku na podadresáře a soubory v zadaném adresáři ve formátu čitelném pro člověka (ukazuje také celkový počet za adresář) a nevrací seřaďte výstup podle velikosti, ale podle podadresáře a názvu souboru.
K řazení podle velikosti můžeme použít následující příkaz.
du -sch /var/* | sort –h
Počet událostí v protokolu můžete spočítat podle data tak, že řeknete uniq, aby provedl porovnání pomocí prvních 6 znaků (-w 6)
každého řádku (kde je datum je zadáno) a předpona každému výstupnímu řádku počtem výskytů (-c
) s následujícím příkazem.
cat /var/log/mail.log | uniq -c -w 6
Nakonec můžete kombinovat sort a uniq (jak to obvykle bývá). Zvažte následující soubor se seznamem dárců, datem daru a částkou. Předpokládejme, že chceme vědět, kolik jedinečných dárců existuje.
Následující příkaz cat použijeme k vyříznutí prvního pole (pole jsou oddělena dvojtečkou), seřazení podle názvu a odstranění duplicitních řádků.
cat sortuniq.txt | cut -d: -f1 | sort | uniq
Příkaz grep
Příkaz grep vyhledává v textových souborech nebo (výstup příkazu) výskyt zadaného regulárního výrazu a vypisuje jakýkoli řádek obsahující shodu se standardním výstupem.
Příklady příkazů Grep
Zobrazit informace z /etc/passwd pro uživatele gacanepa, bez ohledu na velikost písmen.
grep -i gacanepa /etc/passwd
Zobrazit veškerý obsah /etc, jehož název začíná rc následovaným libovolným číslem.
ls -l /etc | grep rc[0-9]
tr Použití příkazu
Příkaz tr lze použít k překladu (změně) nebo odstranění znaků ze stdin a zapsání výsledku do stdout.
Změňte všechna malá písmena na velká v souboru sortuniq.txt.
cat sortuniq.txt | tr [:lower:] [:upper:]
Zmáčkněte oddělovač ve výstupu ls –l pouze na jednu mezeru.
ls -l | tr -s ' '
Použití příkazu Cut
Příkaz cut extrahuje části vstupních řádků (ze stdin nebo souborů) a zobrazí výsledek na standardním výstupu na základě počtu bajtů (volba -b
), znaků (-c
), nebo pole (-f
).
V tomto posledním případě (na základě polí) je výchozím oddělovačem polí tabulátor, ale pomocí volby -d
lze zadat jiný oddělovač.
Příklady příkazů Cut
Extrahujte uživatelské účty a k nim přiřazené výchozí shelly z /etc/passwd (volba –d
nám umožňuje zadat oddělovač pole a –f
přepínač označuje, která pole budou extrahována.
cat /etc/passwd | cut -d: -f1,7
Když to shrneme, vytvoříme textový proud skládající se z prvního a třetího neprázdného souboru výstupu příkazu poslední. Použijeme grep jako první filtr ke kontrole relací uživatele gacanepa a poté zmáčkneme oddělovače pouze na jednu mezeru (tr -s ' '
).
Dále extrahujeme první a třetí pole pomocí cut a nakonec seřadíme podle druhého pole (v tomto případě IP adres), které je jedinečné.
last | grep gacanepa | tr -s ' ' | cut -d' ' -f1,3 | sort -k2 | uniq
Výše uvedený příkaz ukazuje, jak lze kombinovat více příkazů a kanálů, abychom získali filtrovaná data podle našich přání. Neváhejte jej také spouštět po částech, abyste viděli výstup, který je zřetězen od jednoho příkazu k dalšímu (mimochodem, může to být skvělá zkušenost s učením!).
souhrn
Ačkoli se tento příklad (spolu se zbytkem příkladů v aktuálním tutoriálu) nemusí na první pohled zdát příliš užitečný, je příjemným výchozím bodem pro zahájení experimentování s příkazy, které se používají k vytváření, úpravám a manipulaci se soubory z Linuxu. příkazový řádek.
Neváhejte a zanechte své dotazy a komentáře níže – budeme velmi oceněni!
eKniha LFCS je nyní k dispozici k zakoupení. Objednejte si svou kopii ještě dnes a začněte svou cestu stát se certifikovaným správcem systému Linux!
Product Name | Price | Buy |
---|---|---|
The Linux Foundation’s LFCS Certification Preparation Guide | $19.99 | [Buy Now] |
V neposlední řadě zvažte nákup voucheru na zkoušku pomocí následujících odkazů, abyste nám vydělali malou provizi, která nám pomůže tuto knihu aktualizovat.