Dosya Arama (find, grep)
Sisteminiz genelinde dosyaları ve dosyaların içindeki belirli metin kalıplarını bulmak için 'find' ve 'grep' gibi güçlü komutları keşfedin.
Dosya Arama (find, grep), CoddyKit'te ücretsiz bir Linux Command Line & Bash Scripting Mastery dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Linux Command Line & Bash Scripting Mastery öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Linux Command Line & Bash Scripting Mastery kursu toplamda 4 dersten oluşur.
Linux'ta Neden Arama Yapılır?
Dosyaları ve metinleri bulmak Linux'ta günlük bir iştir. Büyük bir projede belirli bir yapılandırma dosyasını veya bir kod satırını bulmanız gerektiğini düşünün!
İki güçlü komut öğreneceğiz: dosyaları/dizinleri bulmak için find ve dosyaların *içinde* metin kalıplarını aramak için grep.
`find` Komutuyla Tanışın
find komutu, bir dizin hiyerarşisinde dosya ve dizinleri arar. Son derece esnektir!
Temel yapısı şöyledir: find [path] [expression]. [path], find'in aramaya nereden başlayacağını belirtir; [expression] ise ne aranacağını tanımlar.
Ada Göre Dosya Bulma
find komutunu kullanmanın en yaygın yolu, -name seçeneğiyle ada göre arama yapmaktır. * gibi joker karakterler kullanabilirsiniz.
Geçerli dizinde .txt ile biten tüm dosyaları bulalım.
cd /tmp
touch report.txt document.pdf notes.txt
find . -name "*.txt"Türe Göre Dosya Bulma
find'in hangi tür girdiyi araması gerektiğini -type seçeneğiyle belirtebilirsiniz:
- Normal dosyalar için
f - Dizinler için
d
Geçerli konumdaki tüm dizinleri bulalım.
cd /tmp
mkdir mydir anotherdir
touch file.txt
find . -type dBoyuta Göre Dosya Bulma
Büyük dosyaları bulmanız mı gerekiyor? -size seçeneğini kullanın. c (bayt), k (KB), M (MB), G (GB) gibi birimler belirtebilirsiniz.
+10M: 10 MB'tan büyük-5k: 5 KB'tan küçük100c: tam olarak 100 bayt
1 KB'tan büyük dosyaları bulun.
cd /tmp
dd if=/dev/zero of=small_file bs=100 count=1 2>/dev/null
dd if=/dev/zero of=large_file bs=2k count=1 2>/dev/null
find . -size +1k`grep` Komutuyla Tanışma
find dosyaları bulurken, grep (Global Regular Expression Print) belirli metin kalıplarını dosyaların *içinde* arar.
Temel söz dizimi şöyledir: grep [pattern] [file...]. [pattern], aradığınız metindir; [file...] ise içinde arama yapılacak dosyalardır.
Basit Metin İçin `grep`
Basit bir metin dosyası oluşturalım ve içindeki bir kelimeyi bulmak için grep kullanalım. grep, kalıbı içeren her satırı yazdırır.
cd /tmp
echo "Hello CoddyKit learners!" > greeting.txt
echo "This is a great lesson." >> greeting.txt
echo "CoddyKit is fun." >> greeting.txt
grep "CoddyKit" greeting.txt`grep` Seçenekleri: -i ve -n
grep için kullanışlı iki seçenek:
-i: Arama sırasında büyük-küçük harf ayrımını yok sayar.-n: Eşleşmenin bulunduğu satır numarasını gösterir.
"coddykit" ifadesini (büyük-küçük harfe duyarsız olarak) bulalım ve satır numaralarını görelim.
cd /tmp
echo "Hello CoddyKit learners!" > greeting.txt
echo "This is a great lesson." >> greeting.txt
echo "coddykit is fun." >> greeting.txt
grep -i -n "coddykit" greeting.txt`find` ve `grep` Komutlarını Birleştirme
find ve grep komutlarını birleştirerek hem dosyaları hem de içeriklerini arayabilirsiniz. find komutunun -exec seçeneği, bulunan her dosya üzerinde başka bir komut çalıştırmanızı sağlar.
Burada tüm .txt dosyalarını bulup içlerinde "CoddyKit" arıyoruz.
cd /tmp
echo "Hello CoddyKit" > file1.txt
echo "Hello World" > file2.txt
echo "CoddyKit rocks" > file3.txt
find . -name "*.txt" -exec grep -l "CoddyKit" {} +Hızlı Kontrol
Birden çok dosya içeren bir dizininiz var. Boyutu 50 KB'tan büyük olan ve adı log.txt veya error.log olan tüm dosyaları hangi komut bulur?
Özet: Dosya Arama
Harika iş çıkardınız! Linux'ta dosyaları ve içeriklerini verimli bir şekilde nasıl arayacağınızı öğrendiniz:
find: Dosyaları ve dizinleri ad, tür ve boyut gibi çeşitli ölçütlere göre bulur.grep: Büyük-küçük harf duyarlılığı ve satır numaraları için seçenekler sunarak dosyaların *içinde* belirli metin kalıplarını arar.- Ayrıca
findvegrepkomutlarının güçlü içerik keşfi için birlikte çalışabileceğini gördük.
Linux'ta gezinme becerilerinizi geliştirmek için bu komutları kullanmaya devam edin!
Sıkça Sorulan Sorular
“Dosya Arama (find, grep)” dersi ücretsiz mi?
Evet — “Dosya Arama (find, grep)” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Linux Command Line & Bash Scripting Mastery kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Linux Command Line & Bash Scripting Mastery kursu toplamda 4 dersten oluşur.
“Dosya Arama (find, grep)” dersinde ne öğreneceğim?
Sisteminiz genelinde dosyaları ve dosyaların içindeki belirli metin kalıplarını bulmak için 'find' ve 'grep' gibi güçlü komutları keşfedin. Linux Command Line & Bash Scripting Mastery ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Linux Command Line & Bash Scripting Mastery öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Linux Command Line & Bash Scripting Mastery, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Dosya Arama (find, grep)” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Linux Command Line & Bash Scripting Mastery dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Linux Command Line & Bash Scripting Mastery dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Dosya İçeriğini Görüntüleme (cat, less, head, tail)
- Dosya İzinlerini Anlama (chmod, chown)
- Dosya Arama (find, grep)
- Bağlantı Oluşturma: Sabit Bağlantılar ve Sembolik Bağlantılar