15%

Tüm Hosting Hizmetlerinde %15 indirim

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın:

Skills
Başlayın
10.11.2023

Linux’ta `less` Komutu: Sözdizimi, Seçenekler ve Gerçek Dünya Kullanımıyla Eksiksiz Kılavuz

Linux’taki less komutu, terminal tabanlı bir sayfalayıcı yardımcı programıdır; metin dosyalarının ve komut çıktılarının içeriğini, dosyanın tamamını belleğe yüklemeden etkileşimli olarak görüntülemenizi sağlar. Vim veya Nano gibi metin editörlerinin aksine, less dosyaları salt okunur, sayfalandırılmış bir görünümde açar; bu da onu herhangi bir Unix benzeri sistemde büyük log dosyalarını, yapılandırma dosyalarını ve komut çıktı akışlarını incelemek için tercih edilen araç haline getirir.

Hızlı bir yanıt için: less filename herhangi bir metin dosyasını etkileşimli, kaydırılabilir bir görüntüleyicide açar. Dosyayı değiştirmeden ileri ve geri gezinebilir, kalıpları arayabilir ve temiz bir şekilde çıkabilirsiniz.

less Sistem Yöneticileri İçin Neden Önemlidir

Bir Linux sunucusunu yönetirken, uygulama logları, çekirdek mesajları, Apache veya Nginx erişim logları, yapılandırma dökümleri ve daha fazlası gibi binlerce satır uzunluğundaki dosyalarla düzenli olarak ilgilenirsiniz. Bunları tam bir editörde açmak hem verimsizdir hem de yanlışlıkla değişiklik yapma riski taşır. less sayfalayıcısı içeriği talep üzerine yükler; yani yalnızca o anda görüntülenen dosya bölümünü okur. Bu, gigabayt boyutundaki dosyalar için son derece verimli olmasını sağlar.

Bu davranış, dosyanın tamamını bir kerede standart çıktıya döken cat gibi komutlardan ya da yalnızca sabit bir bölümü gösteren head/tail‘den temelden farklıdır. less, dosya boyutuyla orantılı herhangi bir bellek yükü olmaksızın gezinme üzerinde tam etkileşimli kontrol sağlar.

Bir VPS Hosting ortamı veya Dedicated Server yönetiyorsanız, less günlük iş akışınızda en sık kullanılan tanılama araçlarından biri olacaktır; özellikle /var/log/syslog, /var/log/auth.log veya uygulamaya özgü log dizinlerini takip ederken.

less ile more: Teknik Bir Karşılaştırma

more komutu, less‘dan önce gelir ve onun kavramsal öncülüdür. Her ikisi de sayfalayıcı olsa da yetenekleri önemli ölçüde farklılık gösterir. “less” adı kasıtlı bir Unix şakasıdır: *less is more than more* (less, more’dan daha fazlasıdır).

Özelliklessmore
İleri kaydırmaEvetEvet
Geri kaydırmaEvetHayır
Ok tuşuyla gezinmeEvetSınırlı
İleri arama (/pattern)EvetEvet
Geri arama (?pattern)EvetHayır
Satır numarasına atlamaEvetHayır
Okunan dosya yüzdesiEvetHayır
Pipe desteğiEvetEvet
Birden fazla dosya açmaEvetHayır
Büyük dosyalar için bellek kullanımıSabit (talep üzerine)Daha yüksek
Minimal sistemlerde kullanılabilirlikBazen önceden kurulu değilNeredeyse her zaman mevcut

Pratik sonuç: more‘ı yalnızca less kullanılamadığında, örneğin son derece sade container imajlarında veya eski gömülü sistemlerde kullanın. Diğer tüm durumlarda less kesinlikle daha üstündür.

Temel Sözdizimi

less [OPTIONS] filename

Ayrıca çıktıyı doğrudan less‘a pipe edebilirsiniz:

command | less

Örnekler:

less /var/log/syslog
grep "error" /var/log/nginx/access.log | less
dmesg | less
cat /etc/nginx/nginx.conf | less

Pipe kalıbı özellikle güçlüdür. Ayrıntılı çıktı üreten herhangi bir komut — ps aux, netstat -tulnp, find / -name "*.conf"less‘a pipe edildiğinde yönetilebilir hale gelir.

Varsayılan Gezinme Tuş Bağlamaları

less içindeyken, aşağıdaki klavye kısayolları gezinmeyi kontrol eder. Bunlar isteğe bağlı bayraklar değildir; dosya açıkken yazdığınız etkileşimli komutlardır.

Tuşİşlev
Space veya fBir tam ekran ileri kaydır
bBir tam ekran geri kaydır
Down arrow veya jBir satır ileri kaydır
Up arrow veya kBir satır geri kaydır
dYarım ekran ileri kaydır
uYarım ekran geri kaydır
gDosyanın başına atla
GDosyanın sonuna atla
nG veya ngn satır numarasına atla
/patternBir kalıbı ileri yönde ara
?patternBir kalıbı geri yönde ara
nSon aramayı aynı yönde tekrarla
NSon aramayı ters yönde tekrarla
qless‘tan çık
hYardım ekranını görüntüle
FTakip modu — tail -f gibi, yeni içeriği akışa alır

F tuşu (takip modu) özel bir ilgiyi hak eder. less‘ı canlı bir log izleyicisine dönüştürür; tail -f‘a eşdeğerdir, ancak takibi durdurmak için Ctrl+C‘a basıp önceden yüklenmiş içerikte geriye doğru gezinme ek özelliğine sahiptir. Bu, tail -f‘ın yapamayacağı bir şeydir.

Komut Satırı Seçenekleri Referansı

Bu bayraklar, less‘ı komut satırından çağırırken iletilir ve dosya açılmadan önce davranışını değiştirir.

SeçenekAçıklama
-NSol kenarda satır numaralarını görüntüle
-nSatır numaralarını gizle (bazı sistemlerde varsayılan)
-iBüyük/küçük harf duyarsız arama (büyük/küçük harfi yoksayar)
-IKalıbın kendisi için bile büyük/küçük harf duyarsız arama
-SUzun satırları sarmak yerine kırp (geniş CSV veya log dosyaları için kullanışlı)
-p patternDosyayı aç ve belirtilen kalıbın ilk geçtiği yere doğrudan atla
-cKaydırma yerine ekranı yukarıdan yeniden boyat (yavaş terminallerde titreşimi azaltır)
-gYalnızca en son arama tarafından bulunan dizeyi vurgula, tüm eşleşmeleri değil
-GTüm arama sonucu vurgulamayı tamamen devre dışı bırak
-FDosyanın tamamı tek ekrana sığıyorsa otomatik olarak çık
-Xless çıkışında ekranı temizleme (içeriği terminalde görünür bırakır)
-RANSI renk kaçış dizilerini işle (renkli çıktı pipe edilirken gereklidir)
-eİkinci dosya sonu işaretinde otomatik olarak çık
+nn satır numarasından başla
+/patternpattern‘ın ilk geçtiği yerden başla (-p‘a alternatif sözdizimi)
-mİstemde okunan dosya yüzdesini göster (more gibi)
-MSatır numaraları ve yüzde dahil daha ayrıntılı istem göster

Pratik Seçenek Kombinasyonları

Satır numaraları, büyük/küçük harf duyarsız arama ve satır kaydırma olmadan bir log dosyasını görüntüle:

less -NiS /var/log/apache2/error.log

Bir dosyayı aç ve doğrudan “segfault”un ilk geçtiği yere atla:

less -p "segfault" /var/log/kern.log

Renkli komut çıktısını pipe et ve renkleri koru:

grep --color=always "FAILED" /var/log/auth.log | less -R

Bir dosyayı aç ve tek ekrana sığıyorsa hemen çık:

less -F /etc/hosts

less İçinde Arama: Gelişmiş Teknikler

less‘taki arama işlevi yalnızca değişmez dizeleri değil, düzenli ifadeleri destekler. Bu, birçok kullanıcının gözden kaçırdığı kritik bir ayrımdır.

/error|warning|critical

Bu kalıp, standart POSIX genişletilmiş regex sözdizimini kullanarak “error”, “warning” veya “critical” içeren herhangi bir satırla eşleşir. Büyük/küçük harf duyarsızlığı için -i ile birleştirildiğinde, grep‘a ön işlemci olarak ihtiyaç duymadan güçlü bir satır içi log analiz aracı haline gelir.

Birden fazla dosyada arama:

less file1.log file2.log file3.log

Sonraki dosyaya geçmek için :n, öncekine dönmek için :p kullanın. /pattern araması yalnızca geçerli dosya içinde geçerlidir, ancak dosyalar arasında manuel olarak tekrarlayabilirsiniz.

Birden Fazla Dosya ve Adlandırılmış Pipe’larla Çalışma

less birden fazla dosyayı sırayla açabilir:

less /var/log/syslog /var/log/kern.log /var/log/auth.log

Ayrıca gelişmiş kabuk betiklemede kullanışlı olan adlandırılmış pipe’lar (FIFO’lar) ve süreç ikamesi ile de doğru şekilde çalışır:

less <(journalctl -u nginx --since "1 hour ago")

Bu, journalctl‘ın çıktısını tam geriye doğru kaydırma özelliğiyle sanki bir dosyaymış gibi açar; düz bir pipe, tüm kabuk ortamlarında geriye doğru gezinme için bunu desteklemez.

Gerçek Dünya Uç Durumları ve Tuzaklar

İkili dosyalar: İkili bir dosyada (derlenmiş çalıştırılabilirler, sıkıştırılmış arşivler) less çalıştırmak bozuk karakterler görüntüler ve bir uyarı tetikleyebilir. Zorla açmak için less -f kullanın, ancak çıktı büyük ölçüde okunamaz olacaktır. İkili inceleme için doğru araç xxd veya hexdump‘dır.

Çok geniş satırlar: Belirli Java çerçeveleri veya JSON ağırlıklı uygulamalar tarafından oluşturulan log dosyaları genellikle son derece uzun tek satırlar içerir. -S olmadan, less bu satırları sarar ve okunmalarını zorlaştırır. -S bayrağı ok tuşlarıyla yatay kaydırmayı etkinleştirir; bu çok daha pratiktir.

Sıkıştırılmış dosyalar: lesspipe yapılandırılmış sistemlerde (Debian/Ubuntu’da yaygın), less .gz, .bz2, .zip ve diğer sıkıştırılmış formatları şeffaf bir şekilde açabilir. echo $LESSOPEN ile etkin olup olmadığını kontrol edin. Yapılandırılmamışsa, gzip ile sıkıştırılmış dosyalar için zless (bir sarmalayıcı betik) kullanın.

Pipe’larda renk çıktısı kaybı: grep --color, ls --color veya diff gibi araçlardan çıktı pipe edilirken renk kodları ANSI kaçış dizileridir. -R olmadan, less bunları ham kaçış karakterleri olarak görüntüler. Renkli çıktı pipe ederken her zaman less -R kullanın.

LESSOPEN ve LESSCLOSE: Bu ortam değişkenleri, less‘ın dosyaları görüntülemeden önce üzerinde çalıştırdığı ön işlemci ve son işlemci betiklerini tanımlar. Düzgün yapılandırılmış bir sistemde bu, less‘ın arşivlerin, PDF’lerin ve hatta görüntülerin (ASCII sanatı olarak) içeriğini şeffaf bir şekilde görüntülemesine olanak tanır. Bu, önemli tanılama faydası olan az kullanılan bir özelliktir.

less‘ı LESS Ortam Değişkeniyle Kalıcı Olarak Yapılandırma

Her seferinde bayrak yazmak yerine, kabuk profilinizde (~/.bashrc veya ~/.zshrc) LESS ortam değişkeni aracılığıyla varsayılan seçenekleri ayarlayabilirsiniz:

export LESS="-NiRMS"

Bu, her less çağrısına otomatik olarak -N (satır numaraları), -i (büyük/küçük harf duyarsız arama), -R (renk işleme), -M (ayrıntılı istem) ve -S (satır kaydırma yok) uygular. Bu, log analizinin sık yapıldığı üretim sunucularında standart bir uygulamadır.

Kabuk Betiklerinde ve Otomasyonda less Kullanımı

less öncelikle etkileşimli olsa da yönetim betiklerine temiz bir şekilde entegre olur. Yaygın bir kalıp, yalnızca etkileşimli bir terminalde çalışırken koşullu olarak çağırmaktır:

if [ -t 1 ]; then
    some_command | less -R
else
    some_command
fi

-t 1 testi, standart çıktının bir terminale bağlı olup olmadığını kontrol eder. Bu, less‘ın etkileşimli olmayan pipeline’ları veya cron işlerini engellemesini önler.

Sunucu Yönetimi Bağlamında less

Bir cPanel’li VPS veya herhangi bir kontrol paneli yönetimli ortamda, less bir GUI mevcut olsa bile SSH tabanlı yönetim için vazgeçilmez olmaya devam eder. Kontrol panelleri sınırlı log görünümleri sunar; less ile doğrudan SSH erişimi, sistem davranışına filtresiz, gerçek zamanlı görünürlük sağlar.

Yüksek trafikli uygulamalar için Dedicated Server temin ederken, less, grep, awk ve sed etrafında oluşturulmuş yapılandırılmış log analizi iş akışları olay müdahalesinin omurgasını oluşturur. 2 GB’lık bir erişim logunda belleğe yüklemeden verimli şekilde gezinmeyi bilmek, temel bir sistem yöneticisi becerisidir.

Email Hosting altyapısını yöneten ekipler için less, Postfix mail loglarını (/var/log/mail.log) ve Dovecot kimlik doğrulama loglarını incelemek için standart araçtır; burada teslimat hatalarını izlemek için satır satır geriye doğru gezinme gereklidir.

Hızlı Referans Karar Matrisi

Dosya içeriğini görüntülerken hangi aracı kullanacağınıza karar vermek için bu matrisi kullanın:

SenaryoÖnerilen Araç
Büyük bir log dosyasını etkileşimli olarak görüntüleless -NiS
Bir log dosyasını gerçek zamanlı izleless +F veya tail -f
Yalnızca son N satırı görüntületail -n N
Yalnızca ilk N satırı görüntülehead -n N
Etkileşim olmadan ara ve filtrelegrep
Sıkıştırılmış .gz dosyasını görüntülezless veya less ile lesspipe
İkili/hex içeriği incelexxd veya hexdump
Sözdizimi vurgulamasıyla görüntülebat (üçüncü taraf sayfalayıcı)
Küçük dosyayı hızlıca döküm alcat
Minimal sistem, less mevcut değilmore

Temel Teknik Çıkarımlar

  • less dosya içeriğini talep üzerine yükler — bellek kullanımı dosya boyutuyla ölçeklenmez, bu da onu çok gigabaytlık dosyalar için güvenli kılar.
  • -R bayrağı, renkli çıktı pipe edilirken zorunludur; atlanması okunamaz kaçış dizileri üretir.
  • Takip modu (F tuşu), tamponlanmış içerikte geriye doğru kaydırma ek özelliğiyle tail -f işlevselliği sağlar.
  • Düzenli ifadeler arama kalıplarında yerel olarak desteklenir — kalıp eşleştirme için grep ile ön filtrelemeye gerek yoktur.
  • Makul varsayılanları genel olarak uygulamak için kabuk profilinizde export LESS="-NiRMS" ayarlayın.
  • Geriye doğru kaydırma dahil komut çıktısının tam etkileşimli gezinmesi için süreç ikamesiyle less <(command) kullanın.
  • LESSOPEN değişkeni şeffaf sıkıştırma açma ve format dönüştürmeyi etkinleştirir — sunucularınızda yapılandırılıp yapılandırılmadığını doğrulayın.
  • less mevcut olduğunda büyük dosyalarda asla cat kullanmayın; terminal tamponunu doldurur ve gezinme özelliği sunmaz.

Sıkça Sorulan Sorular

Linux’ta less ile cat arasındaki fark nedir?

cat dosyanın tüm içeriğini bir kerede standart çıktıya verir; etkileşim veya sayfalama yoktur. less dosyayı kaydırabildiğiniz, arayabildiğiniz ve gezinebildiğiniz etkileşimli bir sayfalayıcıda açar. Terminal yüksekliğinizden daha uzun herhangi bir dosya için less doğru araçtır.

less dosyaları düzenleyebilir mi?

Hayır. less kesinlikle salt okunur bir görüntüleyicidir. Hiçbir koşulda dosyaları değiştirmez. Düzenlemek için vim, nano veya başka bir metin editörü kullanın.

less‘ta bir kelimeyi nasıl ararım?

Dosya less‘ta açıkken, ileri yönde aramak için /word yazın ve Enter’a basın. Geriye doğru aramak için ?word kullanın. Sonraki eşleşmeye atlamak için n‘e, öncekine gitmek için N‘e basın. Aramalar düzenli ifadeleri destekler.

Renkli çıktı pipe ettiğimde less neden bozuk karakterler gösteriyor?

ANSI renk kaçış dizileri varsayılan olarak işlenmez. Renkleri doğru şekilde işlemek için -R bayrağını — less -R olarak ya da kabuk profilinizde export LESS="-R" ayarlayarak — geçirin.

less tüm Linux dağıtımlarında mevcut mu?

less, Debian, Ubuntu, CentOS, RHEL, Fedora ve Arch Linux dahil neredeyse tüm büyük Linux dağıtımlarında varsayılan olarak bulunur. Minimal Docker temel imajlarında veya Alpine Linux’ta, apk add less veya eşdeğer paket yöneticisi komutuyla açıkça kurulması gerekebilir.

15%

Tüm Hosting Hizmetlerinde %15 indirim

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın:

Skills
Başlayın