Bir sonraki toplantınız için tüm önemli bilgileri içeren dosyayı arıyorsunuz. Tüm dosyalarınızı manuel olarak mı arıyorsunuz? Bu zaman alacak. Bunun yerine biraz Linux komut satırı büyüsü kullanıyoruz. Grep belirli bir metin için dosya ve dizinlerin içinde arama yapmak için kullanabileceğimiz bir kalıp eşleştirme komutudur. Grep genellikle bir komutun çıktısı ile kullanılır ve grep komutunun girdisi olarak kullanılır. Örneğin, belirli bir metin dizisini kullanarak bir dosyanın içinde arama yapabiliriz. az komutunu verin ve çıktıyı şuraya yönlendirin: grep.
Bu nasıl yapılır’da kullanacağız grep Dosyalar içinde belirli veri dizilerini aramak için komut ve yaygın olarak eklenen bağımsız değişkenler. Küçük bir test dosyaları dizini oluşturarak başlayacağız, çünkü tüm dosya sistemini aramak biraz zaman alabilir ve birçok sonuç oluşturabilir.
Bu nasıl yapılırdaki tüm komutlar çoğu Linux makinesinde çalışacaktır. Bir Ubuntu 20.04 kurulumu kullandık, ancak bu nasıl yapılır Ahududu Pi. Tüm nasıl yapılır, Terminal aracılığıyla gerçekleştirilir. Çoğu Linux makinesinde düğmesine basarak bir terminal penceresi açabilirsiniz. ctrl, alt ve t.
grep için bir Test Ortamı Ayarlayın
Gibi grep bir dizin ve kullanımlarını keşfetmemize izin veren bazı içerikler oluşturmamız gereken birçok farklı şekilde kullanılabilir. Bu bölümde bu test ortamını oluşturacağız.
1. bir Ölçek dizini ve dizini, içinde olmanız için değiştirin.
mkdir test
cd test
2.4 dosya oluşturun, test1, test2, test3 ve test4.
touch test1 test2 test3 test4
ls
3. Düzenlemek test1 kullanarak nano aşağıdaki isimleri ayrı satırlarda içermek için. Şuna dikkat edin: test1 isimlerin hiçbiri büyük harf içermez. düzenlemeden sonra nano basmak kontrol x çıkmak için basın y kaydetmeyi onaylamak için ve ardından giriş.
nano test1
4. Dosyaya aşağıdaki metni ekleyin. Ardından kaydedip çıkmak için CTRL + X, ardından Y ve Enter tuşlarına basın.
ali
mohamed
claire
aled
steve
5. Düzenlemek test2 kullanarak nano. İçinde test2 adını içeren daha uzun tek bir test satırı ekleyeceğiz steve.
nano test2
6. Dosyaya aşağıdaki metni ekleyin. Ardından kaydedip çıkmak için CTRL + X, ardından Y ve Enter tuşlarına basın.
this is a long line of test that contains the name steve
7. Düzenlemek test3 içinde nano. Benzer test1 ayrı satırlarda bir isim listesi ekleyeceğiz ama bu liste isim içerecek steven.
nano test3
8. Dosyaya aşağıdaki metni ekleyin. Ardından kaydedip çıkmak için CTRL + X, ardından Y ve Enter tuşlarına basın.
alice
geoff
murbarak
mohamed
steven
9. Sonunda düzenle test4 test ortamımızı tamamlamak için. Bu dosyanın başında büyük harf kullandığımızı unutmayın. Steve.
nano test4
10. Dosyaya aşağıdaki metni ekleyin. Ardından kaydedip çıkmak için CTRL + X, ardından Y ve Enter tuşlarına basın.
Steve ?
grep ile Basit Aramalar
Belirli bir dize için bir dosya aramak son derece yararlıdır. Örneğin, bir günlük dosyasındaki bir hatayı ayıklarken. kullanmaya başlayalım grep en temel haliyle.
bu grep komut sözdizimi basitçe grep ardından herhangi bir argüman, ardından aramak istediğimiz dize ve son olarak da aranacak yer.
1. Aramak test1 dize için steve grep kullanarak. Arama kriterleri büyük/küçük harfe duyarlıdır, bu nedenle doğru arama yaptığınızdan emin olun. Dikkat edin, kelime steve dosyada bulunduğunu belirtmek için kırmızı renkle döndürülür.
grep steve test1
2. Aynı dizeyi birden çok dosyada arayın. Dosyaların bir listesini basitçe ekleyebiliriz. grep araması için komut verin. Birden çok arama alanıyla, döndürülen sonuçların, sonucun bulunduğu her dosya adıyla etiketlendiğine dikkat edin. Şuna da dikkat edin: grep aranan dizeyi içeren metnin tam satırını döndürür.
grep steve test1 test2
3. Dizindeki tüm dosyaları arayın. Yıldız işareti kuvvetleri ekleme grep geçerli dizindeki tüm dosyaları aramak için. Döndürülen sonuçların şu sonucu içerdiğine dikkat edin: test3 arama dizisi nerede steve Steven’ın içinde bulunur. Ayrıca, bu sonuçların şu sonucu içermediğini unutmayın: test4 temel biçiminde olduğu gibi grep komut büyük/küçük harf duyarlıdır.
grep steve *
4. Argümanı ekle -ben yapmak grep büyük/küçük harfe duyarsız. Bu, dizindeki test dosyalarının dördünün de sonuçlarını döndürür.
grep -i steve *
grep için boru çıkışı
Grep’in en güçlü kullanım durumu, başka bir komutla eşleştirildiği zamandır. Boruları kullanarak bir komutun çıktısını gönderiyoruz. grep ve kalıpları/anahtar kelimeleri aramak için kullanın.
1. Yeni bir terminal penceresi açın.
2. Kullanmak lsusb makinenize bağlı tüm USB aygıtlarını listelemek için Bu aynı zamanda dizüstü bilgisayar web kameraları gibi dahili USB aygıtlarını da listeleyecektir. Çıktı, makinenize bağlı olarak değişecektir, ancak bir metin duvarı ile karşılaşmalısınız.
lsusb
3. Kullan lsusb tekrar komut verin, ancak bu sefer kullanın grep Linux’u aramak için. Arasına bir boru ekleyerek lsusb ve grep ilk komutun çıktısı, ikinci komutun girdisi olarak kullanılır.
lsusb | grep Linux
Çekirdek Halka Tamponunu İncelemek için dmesg ve grep kullanma
Biraz daha karmaşık bir şey deneyelim. Bu sefer kullanacağız mesaj ve grep Çekirdek Halka Tamponunu (esas olarak çekirdeğin günlük dosyası) incelemek için. İçinde bir anahtar kelime arayacağız mesaj“secureboot” ve etkinleştirildiğini onaylayın.
1. Bir terminal açın ve dmesg komutunu sudo olarak çalıştırın. Bu, grep kullanarak arayabileceğimiz bir şey olan terminale bir konsol çıktısı duvarı yazdıracaktır.
sudo dmesg
2. Kullan grep içinde “güvenli önyükleme” arama komutu mesaj çıktı. Kullan -ben argüman Secureboot’un her oluşumunu yakalayabilmemiz için büyük/küçük harf duyarlılığını kapatmak. Çıktı, güvenli önyüklemenin göründüğü satırları gösterecektir. mesaj.
sudo dmesg | less | grep -i secureboot
grep’in Diğer Kullanımları
Pek çok Linux komutu gibi, pek çok yararlı eklemeler ve türevler vardır. grep emretmek. Birkaç ilginç örneğe bakalım.
1. kullanarak ters bir arama yapın. -v argüman. Bu, arama dizesini içermeyen test ortamı dosyalarından her satırın bir listesini döndürür. Steve. Bu argüman, bir sorunda hata ayıklarken günlüklerdeki veya dosyalardaki dizelerin oluşumunu reddetmek için kullanışlıdır. Yine sonuçların büyük/küçük harfe duyarlı olduğunu ve bu nedenle büyük harfle yazılan satırı içerdiğini unutmayın. Steve mi? itibaren test4.
grep -v steve *
2. birleştirin -v ve -ben büyük/küçük harfe bakılmaksızın tüm eşleşen dizeleri hariç tutmak için argümanlar.
grep -vi steve *
3. Alfasayısal olmayan metin veya boşluk içeren bir dize arayın. Boşluk içeren bir arama dizesi veya alfasayısal olmayan başka bir metin eklerseniz, bu, grep komut sözdizimi, bunları içeren bir arama dizesi oluşturmak için dizeyi içermek üzere tırnak işaretleri kullanmanız gerekir. Bu adımda “Steve ?”i arıyoruz. içinde yer alan test4 dosya.
grep “Steve ?” *
grep ile Alt Dizinleri Arama
Pek çok Linux komutu gibi, pek çok yararlı eklemeler ve türevler vardır. grep emretmek. Birkaç ilginç örneğe bakalım.
1. kullanarak ters bir arama yapın. -v argüman. Bu, arama dizesini içermeyen test ortamı dosyalarından her satırın bir listesini döndürür. Steve. Bu argüman, bir sorunda hata ayıklarken günlüklerdeki veya dosyalardaki dizelerin oluşumunu reddetmek için kullanışlıdır. Yine sonuçların büyük/küçük harfe duyarlı olduğunu ve bu nedenle büyük harfle yazılan satırı içerdiğini unutmayın. Steve mi? itibaren test4.
grep -v steve *
2. birleştirin -v ve -ben büyük/küçük harfe bakılmaksızın tüm eşleşen dizeleri hariç tutmak için argümanlar.
grep -vi steve *
3. Alfasayısal olmayan metin veya boşluk içeren bir dize arayın. Boşluk içeren bir arama dizesi veya alfasayısal olmayan başka bir metin eklerseniz, bu, grep komut sözdizimi, bunları içeren bir arama dizesi oluşturmak için dizeyi içermek üzere tırnak işaretleri kullanmanız gerekir. Bu adımda “Steve ?”i arıyoruz. içinde yer alan test4 dosya.
grep “Steve ?” *
grep ile Alt Dizinleri Arama
Genellikle alt dizinlerde bulunan dosyalarda bir dizi aramak isteriz. Bunu basitçe ekleyerek yapabiliriz. -r özyinelemeli argüman grep emretmek.
1. içinde bir test dosyası içeren bir alt dizin oluşturun. Ölçek dizin.
mkdir sub_directory
cd sub_directory
touch test5
2. Nano metin düzenleyiciyi kullanarak test5’i açın ve dosyaya “steve in a sub directory” metnini ekleyin. Ardından CTRL + X’e, ardından Y’ye ve Enter’a basın kaydetmek ve çıkmak için.
nano test5.
3. Dönmek Ölçek dizin ve ekleyerek bir arama yapın -r seçenek. Sonuç için dikkat edin test5 çıktıda listelenen dosyanın konumunu içerir.
cd ..
grep -r steve *
Linux’ta grep ile, sisteminizde dosya içeriğini aramak için iyi bir yaklaşım koleksiyonuna sahipsiniz. Pek çok Linux komutunda olduğu gibi, ekleyebileceğiniz tüm çeşitli argümanları görmek için yardım menüsüne bakmak faydalı olabilir. grep. Çalıştırmak grep –h tüm seçenekleri kontrol etmek için bir terminal öykünücüsünde.
DAHA FAZLA: Linux’ta Disk Kullanımı Nasıl Kontrol Edilir
DAHA FAZLA: Linux’ta Bir İşlem Nasıl Öldürülür
DAHA FAZLA: Linux’ta Dosyalar Nasıl Bulunur?