LFCS #1: Linux'ta Dosya İşleme için 'sed' Komutu Nasıl Kullanılır


Linux Vakfı, dünyanın her yerindeki bireylerin Linux sistemleri için temel ve orta düzey sistem yönetimi görevlerinde sertifika almalarına yardımcı olmayı amaçlayan yeni bir program olan LFCS (Linux Foundation Certified Sysadmin) sertifikasyonunu duyurdu.

Bu, çalışan sistemlerin ve hizmetlerin desteklenmesinin yanı sıra ilk elden sorun giderme ve analiz ve sorunları mühendislik ekiplerine iletmek için akıllı karar almayı da içerir.

11 Ağustos 2023'teki son revizyondan itibaren, alan adlarını ve yetkinlikleri, Microsoft tarafından resmi olarak açıklanan 11 Mayıs 2023 yürürlük tarihine uygun olarak titizlikle hesapladık. Linux Vakfı.

Bu serinin başlığı LFCS (Linux Foundation Sertifikalı Sistem Yöneticisi) Bölümleri 1'den 33'e kadar Hazırlık olacak ve aşağıdaki konuları kapsayacaktır: Sonraki başlıklar:

Part 1

Linux'ta Dosyaları Değiştirmek İçin 'Sed' Komutu Nasıl Kullanılır

Part 2

Linux'ta Vi/Vim Nasıl Kurulur ve Kullanılır

Part 3

Linux'ta Dosyaları ve Dizinleri Sıkıştırma ve Dosya Bulma

Part 4

Depolama Aygıtlarını Bölümlendirme, Dosya Sistemlerini Biçimlendirme ve Takas Bölümünü Yapılandırma

Part 5

Linux'ta Yerel ve Ağ (Samba ve NFS) Dosya Sistemlerini Bağlama/Çıkarma

Part 6

Bölümleri RAID Aygıtları Olarak Birleştirme – Sistem Yedeklemeleri Oluşturma ve Yönetme

Part 7

Sistem Başlatma Sürecini ve Hizmetlerini Yönetme (SysVinit, Systemd ve Upstart)

Part 8

Kullanıcı ve Gruplar, Dosya İzinleri ve Sudo Erişimi Nasıl Yönetilir

Part 9

Yum, RPM, Apt, Dpkg, Aptitude ve Zypper ile Linux Paket Yönetimi

Part 10

Temel Kabuk Komut Dosyalarını ve Dosya Sistemi Sorunlarını Gidermeyi Öğrenme

Part 11

Vgcreate, lvcreate ve lvextend Komutlarını Kullanarak LVM Nasıl Yönetilir ve Oluşturulur

Part 12

Yüklü Yardım Belgeleri ve Araçlarla Linux Nasıl Keşfedilir?

Part 13

Grand Unified Bootloader (GRUB) Nasıl Yapılandırılır ve Sorun Giderilir

Part 14

Linux Süreçlerinin Kaynak Kullanımını İzleyin ve Kullanıcı Bazında Süreç Sınırlarını Belirleyin

Part 15

Linux Sistemlerinde Çekirdek Çalışma Zamanı Parametreleri Nasıl Ayarlanır veya Değiştirilir

Part 16

Linux'ta SELinux veya AppArmor ile Zorunlu Erişim Denetiminin Uygulanması

Part 17

Kullanıcılar ve Gruplar için Erişim Kontrol Listeleri (ACL'ler) ve Disk Kotaları Nasıl Ayarlanır?

Part 18

Ağ Hizmetlerini Yükleme ve Önyükleme Sırasında Otomatik Başlatmayı Yapılandırma

Part 19

Anonim Oturum Açmalara İzin Verecek FTP Sunucusunu Ayarlamaya Yönelik Temel Kılavuz

Part 20

Temel Özyinelemeli Önbelleğe Alma DNS Sunucusu Kurulumu ve Etki Alanı için Bölgeleri Yapılandırma

Part 21

MariaDB Veritabanı Sunucusunun Kurulumu, Güvenliği ve Performans Ayarlaması Nasıl Yapılır

Part 22

Dosya Sistemi Paylaşımı için NFS Sunucusu Nasıl Kurulur ve Yapılandırılır

Part 23

SSL Sertifikalı İsme Dayalı Sanal Barındırma ile Apache Nasıl Kurulur

Part 24

Linux'ta Hizmetlere Uzaktan Erişimi Etkinleştirmek için Iptables Güvenlik Duvarı Nasıl Kurulur

Part 25

Trafiği Statik ve Dinamik Olarak Yönetmek için Linux'u Yönlendiriciye Dönüştürme

Part 26

Şifrelenmiş Dosya Sistemlerini Kurma ve Cryptsetup Aracını Kullanarak Değiştirme

Part 27

Sistem Kullanımı, Kesintiler Nasıl İzlenir ve Linux Sunucularında Sorun Giderilir

Part 28

Paketleri Kurmak veya Güncellemek İçin Ağ Havuzu Nasıl Kurulur

Part 29

Ağ Performansı, Güvenliği ve Sorun Giderme Nasıl Denetlenir

Part 30

Sanal Makineler ve Konteynerler Nasıl Kurulur ve Yönetilir

Part 31

Projeleri Verimli Bir Şekilde Yönetmek için Git'in Temellerini Öğrenin

Part 32

Linux'ta IPv4 ve IPv6 Adreslerini Yapılandırmaya Yeni Başlayanlar Kılavuzu

Part 33

Ubuntu'da Ağ Bağlantısı ve Köprü Oluşturma İçin Yeni Başlayanlar Kılavuzu

Bu gönderi, LFCS sertifika sınavı için gereken gerekli alanları ve yeterlilikleri kapsayacak olan 33 eğitimlik serinin 1 Bölümüdür. Olduğu söyleniyor, terminalinizi çalıştırın ve başlayalım.

Linux'ta Metin Akışlarını İşleme

Linux, programların girdilerini ve çıktılarını karakter akışları (veya dizileri) olarak ele alır. Yeniden yönlendirmeyi ve kanalları anlamaya başlamak için öncelikle, aslında özel dosyalar olan (UNIX ve Linux'taki geleneksel olarak, veri akışları ve çevre birimleri veya aygıt dosyaları, aynı zamanda sıradan dosyalar olarak kabul edilir).

> (yönlendirme operatörü) ile | (boru hattı operatörü) arasındaki fark, ilkinin bir komutu bir dosyaya bağlarken, ikincisinin bir komutun çıktısını bir başkasına bağlamasıdır. emretmek.

command > file
command1 | command2

Yeniden yönlendirme operatörü dosyaları sessizce oluşturduğundan veya üzerine yazdığından, onu çok dikkatli kullanmalı ve hiçbir zaman boru hattıyla karıştırmamalıyız.

Linux ve UNIX sistemlerinde boruların bir avantajı, boruya dahil olan herhangi bir ara dosyanın bulunmamasıdır; ilk komutun stdout'u bir dosyaya yazılmaz ve ardından ikinci komut tarafından okunmaz.

Aşağıdaki alıştırmalarda “Mutlu Bir Çocuk” (anonim yazar) şiirini kullanacağız.

sed Komutunu Kullanma

sed adı akış düzenleyicinin kısaltmasıdır. Terime aşina olmayanlar için, bir akış düzenleyicisi, bir giriş akışında (bir dosya veya bir boru hattından gelen giriş) temel metin dönüşümlerini gerçekleştirmek için kullanılır.

Dosyada Küçük Harfi Büyük Harfe Dönüştür

sed'in en temel (ve popüler) kullanımı karakterlerin değiştirilmesidir. Küçük harf y'nin her oluşumunu BÜYÜK HARF Y olarak değiştirip çıktıyı ahappychild2.txt'ye yönlendirerek başlayacağız.

g bayrağı, sed'in dosyanın her satırındaki tüm terim örnekleri için değiştirme işlemi yapması gerektiğini belirtir. Bu bayrak atlanırsa sed, terimin her satırda yalnızca ilk geçtiği yerin yerini alır.

Sed Temel Söz Dizimi:
sed ‘s/term/replacement/flag’ file
Örneğimiz:
sed ‘s/y/Y/g’ ahappychild.txt > ahappychild2.txt

Dosyadaki Word'ü Ara ve Değiştir

Özel bir karakteri (/, \, & gibi) aramak veya değiştirmek isterseniz, terim içinde ondan kaçmanız gerekir. veya ters eğik çizgiyle yedek dizeler.

Örneğin, ve sözcüğünü ve işaretinin yerine koyacağız. Aynı zamanda satır başında ilk kelime bulunduğunda I kelimesini Siz ile değiştireceğiz.

sed 's/and/\&/g;s/^I/You/g' ahappychild.txt

Yukarıdaki komutta ^ (şapka işareti), bir satırın başlangıcını temsil etmek için kullanılan, iyi bilinen bir düzenli ifadedir.

Gördüğünüz gibi, iki veya daha fazla yerine koyma komutunu noktalı virgülle ayırarak ve kümeyi tek tırnak içine alarak birleştirebiliriz (ve içlerinde normal ifadeler kullanabiliriz).

Dosyadan Seçilen Satırları Yazdır

sed'in başka bir kullanımı da dosyanın seçilen bir bölümünü göstermektir (veya silmektir). Aşağıdaki örnekte, 8 Haziran'a ait /var/log/messages dosyasının ilk 5 satırını görüntüleyeceğiz.

sed -n '/^Jun  8/ p' /var/log/messages | sed -n 1,5p

Varsayılan olarak sed'in her satırı yazdırdığını unutmayın. Bu davranışı -n seçeneğiyle geçersiz kılabilir ve ardından sed'e dosyanın (veya borunun) yalnızca kalıpla eşleşen kısmını yazdırmasını (p ile gösterilir) söyleyebiliriz (İlk durumda 8 Haziran'da satırın başında ve ikinci durumda 1'den 5'e kadar olan satırlar dahil).

Son olarak, komut dosyalarını veya yapılandırma dosyalarını incelerken kodun kendisini incelemek ve yorumları dışarıda bırakmak yararlı olabilir. Aşağıdaki tek satırlık satır, (d) boş satırları veya # ile başlayan satırları siler (| karakteri bir boole OR< değerini belirtir) iki normal ifade arasında).

sed '/^#\|^$/d' apache2.conf

benzersiz Komut

Uniq komutu, varsayılan olarak stdout'a yazarak bir dosyadaki yinelenen satırları raporlamamıza veya kaldırmamıza olanak tanır. uniq'in bitişik olmadıkları sürece tekrarlanan satırları algılamadığını unutmamalıyız.

Bu nedenle, uniq genellikle önceki sort (metin dosyalarının satırlarını sıralamak için kullanılır) ile birlikte kullanılır. Varsayılan olarak sort, ilk alanı (boşluklarla ayrılmış) anahtar alan olarak alır. Farklı bir anahtar alanı belirtmek için -k seçeneğini kullanmamız gerekiyor.

Benzersiz Komut Örnekleri

du -sch /path/to/directory/* komutu, belirtilen dizindeki alt dizinler ve dosyalar başına disk alanı kullanımını insan tarafından okunabilir biçimde döndürür (aynı zamanda dizin başına toplamı da gösterir) ve çıktıyı boyuta göre, ancak alt dizine ve dosya adına göre sıralayın.

Boyuta göre sıralamak için aşağıdaki komutu kullanabiliriz.

du -sch /var/* | sort –h

uniq'e her satırın ilk 6 karakterini (-w 6) kullanarak karşılaştırma yapmasını söyleyerek bir günlükteki olay sayısını tarihe göre sayabilirsiniz (burada tarih belirtilir) ve aşağıdaki komutla her çıkış satırının önüne oluşum sayısına göre (-c) eklenir.

cat /var/log/mail.log | uniq -c -w 6

Son olarak, sort ve uniq'i (genellikle oldukları gibi) birleştirebilirsiniz. Bağışçıların, bağış tarihinin ve miktarının listesini içeren aşağıdaki dosyayı inceleyin. Kaç tane benzersiz bağışçının olduğunu bilmek istediğimizi varsayalım.

İlk alanı kesmek (alanlar iki nokta üst üste ile ayrılmıştır), ada göre sıralamak ve yinelenen satırları kaldırmak için aşağıdaki cat komutunu kullanacağız.

cat sortuniq.txt | cut -d: -f1 | sort | uniq

grep Komutu

grep komutu, metin dosyalarında veya (komut çıktısında) belirtilen bir düzenli ifadenin oluşumunu arar ve standart çıktıyla eşleşme içeren herhangi bir satırın çıktısını verir.

Grep Komut Örnekleri

Gacanepa kullanıcısı için /etc/passwd dosyasındaki bilgileri büyük/küçük harf göz ardı ederek görüntüleyin.

grep -i gacanepa /etc/passwd

Adı rc ile başlayan ve ardından herhangi bir sayı gelen /etc dosyasının tüm içeriğini gösterin.

ls -l /etc | grep rc[0-9]

tr Komut Kullanımı

Tr komutu stdin'deki karakterleri çevirmek (değiştirmek) veya silmek ve sonucu stdout'a yazmak için kullanılabilir.

sortuniq.txt dosyasındaki tüm küçük harfleri büyük harfe değiştirin.

cat sortuniq.txt | tr [:lower:] [:upper:]

ls –l çıktısındaki sınırlayıcıyı yalnızca bir boşluğa sıkıştırın.

ls -l | tr -s ' '

Kesme Komutu Kullanımı

Cut komutu, giriş satırlarının bölümlerini (stdin veya dosyalardan) çıkarır ve bayt sayısına (-b seçeneği), karakterlere (-c ) dayalı olarak sonucu standart çıktıda görüntüler. ) veya alanları (-f) kullanın.

Bu son durumda (alanlara dayalı olarak), varsayılan alan ayırıcı bir sekmedir ancak -d seçeneği kullanılarak farklı bir sınırlayıcı belirtilebilir.

Kesme Komutu Örnekleri

Kullanıcı hesaplarını ve onlara atanan varsayılan kabukları /etc/passwd'den çıkarın (–d seçeneği alan sınırlayıcısını ve –f<'yi belirtmemize olanak tanır anahtarı hangi alanların çıkarılacağını belirtir.

cat /etc/passwd | cut -d: -f1,7

Özetle last komutunun çıktısının birinci ve üçüncü boş olmayan dosyalarından oluşan bir metin akışı oluşturacağız. gacanepa kullanıcısının oturumlarını kontrol etmek için ilk filtre olarak grep'i kullanacağız, ardından sınırlayıcıları yalnızca bir boşluğa sıkıştıracağız (tr -s ' ' ).

Daha sonra, cut ile birinci ve üçüncü alanları çıkaracağız ve son olarak benzersiz görünen ikinci alana (bu durumda IP adresleri) göre sıralayacağız.

last | grep gacanepa | tr -s ' ' | cut -d' ' -f1,3 | sort -k2 | uniq

Yukarıdaki komut, arzularımıza göre filtrelenmiş veriler elde etmek için birden fazla komutun ve borunun nasıl birleştirilebileceğini gösterir. Bir komuttan diğerine aktarılan çıktıyı görmenize yardımcı olması için bunu parçalar halinde çalıştırmaktan da çekinmeyin (bu arada, bu harika bir öğrenme deneyimi olabilir!).

Özet

Her ne kadar bu örnek (mevcut eğitimdeki diğer örneklerle birlikte) ilk bakışta pek kullanışlı görünmese de, Linux'ta dosya oluşturmak, düzenlemek ve değiştirmek için kullanılan komutları denemeye başlamak için güzel bir başlangıç noktasıdır. Komut satırı.

Sorularınızı ve yorumlarınızı aşağıya bırakmaktan çekinmeyin; bunlar çok takdir edilecektir!

LFCS e-Kitabı artık satın alınabilir. Kopyanızı bugün sipariş edin ve sertifikalı bir Linux sistem yöneticisi olma yolculuğunuza başlayın!

Product Name Price Buy
The Linux Foundation’s LFCS Certification Preparation Guide $19.99 [Buy Now]

Son olarak, lütfen bize küçük bir komisyon kazandırmak için aşağıdaki bağlantıları kullanarak sınav kuponunuzu satın almayı düşünün; bu, bu kitabı güncel tutmamıza yardımcı olacaktır.