Yeni yazı: Kümenin Kapağını Açalım: Kubernetes Bileşenleri Birbirini Neden Hiç Aramaz?
Linux'da Dosya İçeriğini Görüntüleme: Less, Tail, Head Komutları

Linux'da Dosya İçeriğini Görüntüleme: Less, Tail, Head Komutları

İçindekiler

Bir sunucuda sorun ararken ilk yaptığınız şey bir log dosyasına bakmaktır. Ama o dosya 2 GB ise ve siz cat yazdıysanız, terminaliniz dakikalarca akar ve aradığınız satır çoktan yukarı kaymıştır. Dosyanın tamamını okumakla bir kısmını okumak farklı komutların işidir.

Bu yazıda dört komutu ve hangisinin ne zaman doğru seçim olduğunu göreceğiz: cat, less, tail ve head.

Cat Komutu

cat (concatenate), dosyanın tamamını ekrana basar. Basit bir kullanımı vardır ve bir veya daha fazla dosyayı birleştirip ekrana çıktı verir.

cat dosya.txt

Adı “birleştirmek"ten gelir; asıl işi budur:

cat bolum1.txt bolum2.txt > tamamı.txt

Büyük dosyalarda cat kullanmayın. Dosyanın tamamı terminalden akar, ekranınızda yalnızca son ekranlık kısım kalır ve bu sırada terminal boşuna meşgul olur. Böyle dosyalar less‘in işidir. Aynı şekilde bir ikili dosyayı (.jpg, .so, disk imajı) cat ile ekrana basarsanız terminal karakter setiniz bozulur — reset komutu düzeltir.

Less Komutu

less, büyük dosyaları sayfa sayfa görüntülemenizi sağlar. Dosya içeriğini incelemek için kullanışlıdır ve okuma sırasında ileri ve geri gitme yetenekleri sunar.

less buyuk_dosya.log

less dosyanın tamamını belleğe almaz, yalnızca gösterdiği kısmı okur; bu yüzden gigabaytlık bir dosyayı da anında açar.

less komutu kullanırken:

  • İleri gitmek için “Space”, geri gitmek için “b” tuşunu kullanabilirsiniz.
  • Dosyanın sonuna gitmek için “G”, başına dönmek için “g”.
  • Arama: /hata yazıp Enter’a basın; sonraki eşleşmeye “n”, öncekine “N” ile geçersiniz. Büyük bir log dosyasında aradığınız satırı bulmanın en hızlı yolu budur.
  • Çıkmak için “q” tuşunu kullanabilirsiniz.

Tail(Kuyruk) Komutu

tail, dosyanın sonundan başlayarak belirli bir sayıda satırı görüntüler. Genellikle günlük dosyalarını izlemek veya canlı log verilerini görüntülemek için kullanılır.

tail -n 10 dosya.log

Bu örnekte, dosyanın son 10 satırını görüntülemek için “-n” parametresini kullanıyoruz.

tail‘in asıl gücü -f seçeneğidir. Komut dosyanın sonunda bekler ve yeni satır yazıldıkça ekrana düşürür; bir servisi yeniden başlatırken logu canlı izlemenin yolu budur. Çıkmak için Ctrl+C:

tail -f /var/log/syslog

Log dosyaları logrotate tarafından döndürülüyorsa -f eski dosyaya bağlı kalır ve yeni kayıtları göremezsiniz. Uzun süre izleyeceğiniz durumlarda -F kullanın — dosya adı yeniden oluşturulduğunda ona geçer:

tail -F /var/log/nginx/access.log

Head(Baş) Komutu

head , dosyanın başlangıcından belirli bir sayıda satırı görüntüler. Özellikle büyük dosyaların başlangıcını incelemek için kullanışlıdır.

head -n 20 dosya.txt

Kardeş komutu olan tail‘deki gibi, dosyanın başlangıcındaki ilk 20 satırı görüntülemek için “-n” parametresini kullanıyoruz. Bir CSV dosyasının sütun başlıklarını görmek ya da tanımadığınız bir dosyanın gerçekten metin olup olmadığını anlamak için en hızlı yol budur.

Sonuç

Dördü de dosya okur; seçim dosyanın boyutuna ve neye baktığınıza göre değişir:

  • cat dosyanın tamamını basar, bu yüzden yalnızca küçük dosyalar içindir. Büyük bir log dosyasında terminali doldurur, ikili dosyada karakter setini bozar.
  • less dosyayı belleğe almadan gezdirir. / ile arama, n ile sonraki eşleşme — büyük bir dosyada aradığınız satırı bulmanın en hızlı yolu.
  • tail -f logu canlı izler, -F ise dosya döndürüldüğünde bile izlemeye devam eder. Bir servisi yeniden başlatırken açık tutulacak pencere budur.

Yol haritasında sırada dosyalara kimin erişebildiği var: Dosya Türleri ve İzinleri (chmod, chown, chgrp). Serinin tamamına GNU/Linux Öğrenme Yolculuğu sayfasından ulaşabilirsiniz.

Paylaş :

İlgili Yazılar

Subnet Calculator

Subnet Calculator

Subnet, büyük bir IP ağını daha küçük, daha yönetilebilir parçalara bölen bir yapıdır. Alt ağlar, ağ trafiğini daha iyi yönetmek, güvenliği artırmak ve kaynakları daha verimli kullanmak için kullanılır. Her alt ağ, kendi benzersiz IP adres aralığına ve alt ağ maskesine sahip olabilir. Subnetler, ağdaki cihazların birbirleriyle doğrudan iletişim kurabilmeleri ve aynı alt ağda bulunan diğer cihazlara erişebilmeleri için bir köprü görevi görür. Alt ağlar, bir ağı daha küçük, daha ölçeklenebilir ve daha organize bir yapıya dönüştürerek ağ yöneticilerine daha fazla kontrol ve esneklik sağlar.

HomeLab Deneyimi

HomeLab Deneyimi

Bu fikir ‘Hardware Haven’ youtube kanalını izlerken aklıma geldi. Evimizde bir bilgisayarı alıp sunucu şekline getirmek. Tabi daha bir çok içeriği de gene internetten ‘homelab tour’ yazarak daha fazla içeriğe ulaşabilirsiniz çok harika fikirler var. Fiziksel olarak kendi evimde server, nas, firewall ve Backbone(omurga) switch gibi teçhizatlar yok ve almak sanırım Türkiye şartlarında çok pahalıya gelir tabi elektrik faturası da cabası.

GNU/Linux Öğrenme Yolculuğu

GNU/Linux Öğrenme Yolculuğu

Eğer imkanlarınız dahilindeyse “Mustafa Akgül Özgür Yazılım Yaz Kampı” ziyaret ederek tamamen gönüllülerden oluşan ücretsiz eğitim kampını ziyaret edebilir ve yüz yüze bir eğitim alabilirsiniz. Sadece Linux için de değil bir çok alanda kurslar da var. Beni bu alanda bir kariyer edinmemi sağlayan kursa ve eğitmenlerime teşekkürü borç bilirim.