linux ls komutu nedir?

Ls Command in Linux (List Files and Directories) - TecNStuff

ls komutu, bir dizinin içeriğinin görüntülemek için ve dosyalar hakkında daha detaylı bilgileri vermektedir.

syntax

ls [OPTION]... [FILE]...

ls kullanımı

 Varsayılan olarak, hiç bir opsiyon ve argüman kullanılmadığında geçerli dizindeki dosyaları listeler.

ls 

ls komutu ayrıca dosya sistemindeki herhangi bir dizinin içeriğini listelemek için kullanılır. Dizine giden yolu söylemeniz yeterlidir. Örnek olarak /boot dizinin içini listeleyelim.

ls /boot 

Bir çok linux dağıtımında komut dosya türünü ayırt etmek için renk kullanılır. Örneğin, dizinler mavi, çalıştırılabilir dosyalar yeşil, arşivlenmiş dosyalar kırmızı ve sembolik bağlantılar turkuaz görüntülenebilir.

Gizli Dosyaları Listeleme

ls komutunu çalıştırdığımızda tüm dosyalar otomatik olarak gösterilir. Varsayılan olarak gizli dosya ve dizinler listelenmez. (.) nokta ile başlaya herhangi bir dosya veya dizin gizlidir.
Gizli dosya ve dizinleri görmek için ls -a komutunu çalıştırıyorum. Görseldeki gibi bir çok dosya ve dizin geldi.

ls -a 

Peki bu dosyalar ilk başta neden gizlidir. Linuxta kabuğun veya programlarının nasıl çalıştığını özelleştirmek için tasarlanmış özelleştirme dosyaları vardır. Örneğin .bashrc ana dizindeki bu dosya, değişkenleri ve takma adları oluşturmak veya değiştirme gibi kabuğun özelliklerini özelleştirir. Bu özelleştirme dosyaları, düzenli olarak çalıştığınız dosyalar değildir bu yüzden dosyaların görüntülenmesi ve bulunması daha da zordur.

Uzun Ekran Listesi

Her dosyanın kendisiyle ilişki meta veri adı verilen ayrıntıları vardır. Bu, boyut sahiplik veya zaman damgaları gibi bilgileri içerebilir. Bu bilgileri görüntülemek için -l opsiyonunu kullanmamız gerekmektedir. Örnek olarak /var/log çıktılarının bir listesine bakalım.

ls -l /var/log 

Yineleme Listeleri

Bir dizindeki tüm dosyaları ve bu dizinin altındaki tüm alt dizinlerdeki tüm dosyaları görüntülemek istediğiniz zamanlar vardır. Buna Recursive Listing (Yineleme Listesi) denir.
Yinelemeli bir listeleme gerçekleştirmek için, ls komutu ile R opsiyonunu kullanmalıyız.

 ls -R 

Örneğin, kök dizinde komutu çalıştırmak, sistemdeki herhangi bir takılı USB cihazındaki ve DVD’deki tüm dosyalar dahil olmak üzere dosya sistemindeki her dosyayı listeler. Yinelemeli listelerinin kullanımını daha küçük dizin yapılarıyla sınırlayın.

Listeyi Sıralama

ls komutu ile bize faydalı olacak bir kaç tane daha opsiyonları inceleyelim. Örneklerde “l” opsiyonunu ile uzun liste çıktıları alarak daha anlaşılır olması için hepsinde kullanacağım.

ls -l 

Varsayılan olarak çıktılar alfabetik sıraya göre listelenir. Bazı durumlarda alfabetik sıranın tam tersi almak isteyebiliriz. Bu durumlarda r opsiyonunu kullanmamız yeterlidir.

ls -r 

Liste alfabetik sıraya geldiği için dosya boyutuna göre sıralı değildir. Dosya boyutuna göre sıralamak için -S opsiyonunu kullanıyoruz. Bu opsiyon ile büyükten küçüğe doğru sıralayacaktır.

ls -Sl 

Dosyaları büyükten küçüğe sıralamıştık. Biraz daha kafa yorarsak küçükten büyüğe nasıl sıralayabileceğimizi anlayabiliriz. r opsiyonun ters işlemlerde işimize yarıyordu. Yani ben ls -lrS kombinasyonunu uyguladığım zaman küçükten büyüğe sıralaması gerekiyor. Hemen örnekleyelim.

ls -rSl 

-h opsiyonu önemli bir komut olduğu için tekrar vurgulamakta fayda görüyorum. Bu opsiyon ile anlayabileceğimiz bir şekilde dosya boyutlarını görüntüleyebiliyoruz. Görselde görüldüğü gibi komut, argüman ve opsiyon şeklinde bir sıralama ile çıktı aldım.

ls /var/log/ -lhS 

Geldik güvenlik alanında önemli opsiyonlardan bir tanesine. Yapılan işlemlerin saat ve tarihini bilmek çok önemlidir. Opsiyonu söylemeden önce modifiye edilmiş zamana dayalı dosyaları sıralar. İlk olarak en son değiştirilen dosyaları listeleyecektir. Ek olarak eski dosyalar için yalnızca tarih gösterildiğini de unutmayalım.  -t opsiyonunu kullanıyorum.

ls -lt 

Peki ya tam tersi yani değişiklik zamanının en yeni yerine en eskiden yeniye göre listelemek istersek ne yapmalıydım? Yine -r opsiyonunu kullanıp, bir kombinasyon yapıyorum.

ls -ltr 

Dizinlerdeki değiştirilme tarihinin, bir dosyanın dizine en son eklendiği veya dizinden kaldırıldığı zamanı temsil ettiğini unutmamak önemlidir.

Bir dizindeki dosyalar günler veya aylar önce değiştirildiyse, eski dosyalar için yalnızca tarih sağlandığından tam olarak ne zaman değiştirildiklerini söylemek zor olabilir. Daha ayrıntılı değişiklik zamanı bilgisi –full –time yazarak tam zaman damgasını (saatler, dakikalar, saniyeler dahil) görüntüleme seçeneğini kullanabilirsiniz. -l opsiyonunu kendi üstleneceği için yazmamıza gerek yoktur.

ls -t –full-time 

Fark ettiyseniz opsiyonların sürekli sırasını karıştırarak uyguladım hepsinde çalıştı ve aynı çıktıyı verdi. Yani bir önemi yok, istisnalar dışında ilerleyen konularda bunlardan da bahsedeceğim.

Blog'a Dön