Girdi/Çıktı Yönlendirme (>, >>, <)
Komut çıktısını dosyalara yönlendirmeyi ve dosyaları komutlar için girdi olarak kullanmayı öğrenerek betiklerin esnekliğini artırın.
Girdi/Çıktı Yönlendirme (>, >>, <), CoddyKit'te ücretsiz bir DevOps Bootcamp dersidir. Bu, 4 dersinin 2. 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, DevOps Bootcamp öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
Girdi/Çıktı Yönlendirmesi Nedir?
Linux'ta komutlar genellikle çıktı üretir veya girdi gerektirir. Girdi/Çıktı (I/O) yönlendirmesi, bir komutun girdisini nereden alacağını veya çıktısını nereye göndereceğini değiştirmenizi sağlar.
Çıktıyı yalnızca ekranınızda (terminalde) görmek yerine bir dosyaya kaydedebilir veya bir dosyanın içeriğini doğrudan başka bir komuta aktarabilirsiniz.
Standart Veri Akışlarını Anlama
Her Linux komutu üç "standart" veri akışıyla etkileşim kurar:
- Standart Girdi (STDIN): Bir komutun girdi almayı beklediği yer (genellikle klavyeniz).
- Standart Çıktı (STDOUT): Bir komutun normal çıktısını gönderdiği yer (genellikle ekranınız).
- Standart Hata (STDERR): Bir komutun hata iletilerini gönderdiği yer (bu da genellikle ekranınızdır).
Yönlendirme, bu varsayılan hedefleri veya kaynakları değiştirmemizi sağlar.
'>' ile Çıktıyı Yakalama
> işleci, bir komutun Standart Çıktısını (STDOUT) bir dosyaya yönlendirmek için kullanılır. Komutun çıktısı ekrana yazdırılmak yerine belirtilen dosyaya yazılır.
Önemli: Dosya zaten varsa >, yeni çıktıyla dosyanın tüm içeriğinin üzerine yazar. Önemli verileri yanlışlıkla silmemeye dikkat edin!
Örnek: Komut Çıktısını Kaydetme
ls -l komutunun çıktısını my_files.txt adlı bir dosyaya kaydedelim. Ardından cat kullanarak dosyanın içeriğini görüntüleyelim.
ls -l > my_files.txt
cat my_files.txt'>>' ile Dosyaya Ekleme
Bazen bir dosyanın üzerine yazmak istemez, sonuna yeni içerik eklemek istersiniz. >> işleci bu durumda kullanılır!
>>, Standart Çıktıyı (STDOUT) bir dosyaya yönlendirir; ancak dosya zaten varsa mevcut içeriği koruyarak yeni çıktıyı dosyanın sonuna ekler.
Örnek: Günlük Dosyasına Ekleme
Önce basit bir dosya oluşturun. Ardından dosyaya başka bir satır eklemek için >> kullanın. Özgün içeriğin nasıl korunduğunu gözlemleyin.
echo "First line of log." > app_log.txt
echo "Second line added." >> app_log.txt
cat app_log.txt'2>' ile Hataları Yönetme
Hata iletileri ne olacak? Bunlar Standart Hataya (STDERR) gider. STDERR'yi bir dosyaya yönlendirmek için 2 dosya tanımlayıcısının ardından > işleci, yani 2> kullanılır.
Bu, ana çıktınızı gereksiz içerikle doldurmadan hataları günlüğe kaydetmek veya betiklerde hata ayıklamak için son derece kullanışlıdır.
Örnek: Hata İletilerini Günlüğe Kaydetme
Var olmayan bir dizini listelemeyi deneyelim. Hata iletisi normalde ekranda görünür. Bunun yerine bu iletiyi errors.log dosyasına yönlendireceğiz.
ls /this/path/does/not/exist 2> errors.log
echo "Command finished. Check errors.log."
cat errors.log'<' ile Girdi Sağlama
< işleci Standart Girdiyi (STDIN) yönlendirmek için kullanılır. Bir komutun klavyeden girdi yazmanızı beklemesi yerine komut, girdisini doğrudan belirtilen dosyadan okur.
Bu yöntem, bir komutun çok miktarda girdi beklediği görevleri otomatikleştirmek veya bir dosyanın içeriğini doğrudan işlemek için oldukça etkilidir.
Örnek: Dosyadan Sıralama
Sıralanmamış adların bulunduğu bir dosya oluşturacağız, ardından < kullanarak sort komutunun girdisini bu dosyadan okumasını sağlayacağız.
echo -e "Charlie\nAlice\nBob" > names.txt
sort < names.txtKısa Kontrol: Yönlendirme
Standart çıktıyı yönlendirmeyi, çıktıya ekleme yapmayı, hataları yönetmeyi ve dosyalardan girdi sağlamayı öğrendiniz. Anlayışınızı sınayalım.
Özet: I/O Yönlendirmesinin Gücü
Harika iş çıkardınız! Linux'ta I/O yönlendirmesinin temellerinde ustalaştınız.
>, STDOUT'u dosyaların üzerine yazarak yönlendirir.>>, STDOUT'u dosyaların sonuna ekleyerek yönlendirir.2>, STDERR'yi hata iletilerini yakalayarak yönlendirir.<, STDIN'i yönlendirerek komutların dosyalardan okumasını sağlar.
Bu işleçler betik yazma, günlük kaydı ve görevleri otomatikleştirme açısından son derece güçlüdür. Alıştırma yapmaya devam edin!
Sıkça Sorulan Sorular
“Girdi/Çıktı Yönlendirme (>, >>, <)” dersi ücretsiz mi?
Evet — “Girdi/Çıktı Yönlendirme (>, >>, <)” 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 DevOps Bootcamp kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
“Girdi/Çıktı Yönlendirme (>, >>, <)” dersinde ne öğreneceğim?
Komut çıktısını dosyalara yönlendirmeyi ve dosyaları komutlar için girdi olarak kullanmayı öğrenerek betiklerin esnekliğini artırın. DevOps Bootcamp 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.
DevOps Bootcamp öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te DevOps Bootcamp, 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 2. dersidir.
“Girdi/Çıktı Yönlendirme (>, >>, <)” 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 DevOps Bootcamp dersinde kod yazıp çalıştırabilir miyim?
Evet. Her DevOps Bootcamp 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
- Süreçleri Yönetme (ps, top, kill)
- Girdi/Çıktı Yönlendirme (>, >>, <)
- Komutları Borulama (|)
- Arka Plan İşleri ve İş Denetimi