İçerik Menüsü

6.Doküman

Bilgi Alma Komutları

Konu Etiketleri

bilgi alma , uname , hostname , lsb_release , whoami , who , w , uptime , date , cal , which , whereis , locate , dmidecode , fdisk , df , du , free , modinfo , stat , vmstat , history

Bilgi Almak

Bilgi alma komutları sistemimizde bulunan herhangi bir şey hakkında(programlar, dosyalar, kayıtlar, ayarlar vb..) bilgi almamızı sağlayan komutlara verilen genel isimdir ve bu komutlara gerekli durumlarda çok sık başvururuz. Şimdi bilgi alma komutlarının neler olduğuna ve kullanım şekillerine bakalım.

uname

Tek başına çekirdek adını verse de aldığı parametreler ile farklı bilgiler de sunabilir. Kısaca bilmemiz gereken; bu komut genel olarak sistemde kullanılan çekirdek hakkında bilgiler verir. Hangi parametrenin ne iş yaptığını man uname komutu ile öğrenebileceğinizi biliyorsunuz. Bizde kullanım şekillerini man kılavuz sayfası üzerinden açıklayalım.

Eğer parametresiz kullanıldıysa -s parametresi gibi yalnızca çekirdek ismini gösterir. Yani uname komutu ile uname -s komutu aynıdır. Parametreler ve ifade ettikleri;

 -a, --all
        Bu parametre ile bütün bilgileri aşağıdaki seçenek sırasıyla gösterilir; -p ve -i bilinmiyorsa atlanır.

 -s, --
        çekirdek ismini gösterir.

 -n, --nodename
        ağ düğümü konak ismini diğer bir değişle hostname(host adını) gösterir.

 -r, --kernel-release
        çekirdeğin derleniş sürümünü gösterir.

 -v, --kernel-version
        çekirdeğin sürümünü gösterir.

 -m, --machine
        makine donanım ismini gösterir.

 -p, --processor
        işlemci türünü veya "unknown" gösterir.

 -i, --hardware-platform
        donanım platformunu veya "unknown" gösterir.

 -o, --operating-system
        işletim sistemini gösterir.

 --help 
        Bu yardım iletisini gösterir ve çıkar.

 --version
        Sürüm bilgilerini gösterir ve çıkar.

hostname

Bilgisayarımızın adını, diğer bir deyişle bilgisayarımızın ağ üzerindeki adını verir. Eğer isterseniz bu adı değiştirebilirsiniz. Örneğin; komut satırına hostname burak yazarsanız hostname yani bilgisayarınızın adı burak olarak değişmiş olacaktır.

Ancak bu ayar kalıcı değildir. Oturumu kapatıp tekrar açtığınızda değiştirmiş olduğunuz adın tekrar eski haline döndüğünü görebilirsiniz. Kalıcı olmasını ayarlardan kolaylıkla sağlayabiliriz. Sürümden sürüme değişiklik gösterse de sırasıyla; **Ayarlar >Sistem >Ayrıntılar >Genel aygıt adı: ** kutusuna istediğiniz ismi yazabilirsiniz. Eğer dediğim yoldan ulaşamadıysanız ayarları biraz kurcalayarak bulabilirsiniz.

Ayrıca tamamen komut satırından da kalıcı bir hostname değişikliği yapmak mümkün. Bunun için /etc/hostname konumunda yer alan hostname dosyasını açmamız gerek. Dosyamızı açmak için konsola nano -w /etc/hostname komutunu veriyoruz. Komutun ardından açılan dosyada ismimizin yerine istediğimiz ismi yazıyoruz. Ve Ctrl + X tuş kombinasyonu ile dosyamızdaki değişiklikleri kaydederek çıkıyoruz.

Değişikliğin geçerli olması için oturumun kapatılıp tekrar açılması gerek daha sonra hostname yani bilgisayarınızın ismi değişmiş olacaktır.

lsb_release

Bu komut kullandığımız dağıtım hakkında farklı bilgiler sunan parametrelere sahiptir. Detaylı bilgi için man kılavuz sayfasını kontrol edebilirsiniz. Ben örnek olması açısından lsb_release -a komutunun çıktısını veriyorum.

whoami

Sinemayı takip eden arkadaşların aklına ilk ne geldi biliyorum :)

Bu komut kimlik sorgu işlevi görüyor. Komut satırımıza komutumuzu vererek sonucuna bakalım.

Komut çıktısı bize mevcut kullanıcının root kimliği ile çalıştığını göstermiş oldu.

Yine whoami komutuna benzer ancak çok ufak farkların olduğu birkaç komutu daha peş peşe komut satırına girerek çıkan sonuçlar üzerinden anlatıma devam edelim.

Sıra sıra bakalım:

whoami: mevcut kullanıcının hangi kimlikle çalıştığını gösteriyor.

who: sistemde hangi kullanıcının çalıştığını gösteriyor.

w: hangi kullanıcı hangi uygulamayı çalıştırıyor bunun bilgisini gösteriyor.

Bunun dışında bu komutlar da parametre alabiliyorlar. Hangi parametreleri aldıklarını nasıl öğrenebileceğinizi zaten biliyorsunuz.

uptime

uptime komutu sistemimizin ne kadar zamandır açık olduğu bilgisini verir.

date

İsminden de anlaşılacağı gibi bu komut bize sistemin o anki tarih ve saat bilgisini veriyor.

cal

Komutumuz Türkçe olarak takvim anlamına gelen İngilizce "Calendar" ifadesinin kısaltmasıdır. Komutumuz tek başına kullanıldığında bize konsol ekranı üzerinden, bulunduğumuz tarihin takvim bilgisini verir.

Ancak daha önceki veya sonraki tarihlerde yer alan takvim bilgilerine komutumuzu cal ay yıl şeklinde kullanarak ulaşabiliyoruz.

Örnek üzerinden açıklayalım.

Eğer 2002 yılının Ocak ayına gitmek istiyorsam komutumu cal 1 2002 şeklinde kullanırım.

Eğer ileri bir tarihe yani 3003 yılının Haziran ayına gitmek istersem de komutumu cal 6 3003 şeklinde kullanırım.

Gördüğünüz gibi ileri geri herhangi bir tarih hakkında takvim bilgisi almak istesek cal komutunu kullanabiliyoruz.

which

Herhangi bir komutun tam yol bilgisini öğrenmek için kullanılır.

whereis

Bu komutunda özel parametreleri vardır man sayfasından kontrol edin lütfen. Bunun dışında parametresiz hali apropos komutuna benzer şekilde bir çıktı verir. Ancak apropos komutundan farklı olarak ilgili komutun man sayfası konumunun tam dizin adresini belirtir.

Ayrıca diğer parametrelerini de kesinlikle man sayfasından inceleyin.

locate

Bu komut ile aradığımız bir dosyanın nerede olduğunu öğrenebiliriz. Komutun çıktısı bize dosyanın bulunduğu dizin veya dizinleri veriyor. Örneğin daha önce PATH yoluna eklediğim komut.sh dosyasını locate komutu ile aratıyorum. Sonuç aşağıdaki şekilde:

Bu komutun ne kadar kıymetli olduğunu işiniz düştükçe ve kullandıkça anlayacaksınız. Genelde bir dosyayı arama çubuğu yardımı ile aramak sonuç vermez ve bu arama işlemi oldukça hantal çalışır. Örneğin dosya konumunu bilmediniz ancak sistem var olan bir dosyaya ulaşmak istiyorsunuz diyelim.. İşte tam bu noktada locate komutu çıkageliyor ve bize saniyeler içerisinde sonucu veriyor. Komutu denemek amacıyla Kali Linux içerisinde yer alan bir araç olan armitage aracını aratıyorum. Bunun için komut satırına locate armitage yazmalıyım.

Çıktıda da görüldüğü gibi aradığımız ifadeyi içeren tüm dosyaların nerede olduğunu bir çırpıda buluverdik. Sanırım bu komut sayesinde yavaş yavaş da olsa komut satırının gücünü fark etmeye başlıyoruz :)

dmidecode

Eğer daha önce de Linux işletim sistemini deneyimleyip sorunlar ile karşılaştıysanız, forumlardan destek istediğinizde; muhtemelen insanlar sizden bu komutun çıktıları istemiş olabilirler. Bu komutun işlevi sistemin donanım ve BIOS bilgilerini göstermektir. Bu komut sayesinde sistem donanımı ve işleyişi hakkında çok fazla bilgiye ulaşabiliriz. Ayrıca bu komutumuz da parametre alarak çalışmaktadır.

Bu komutun sunduğu bilgiler çok fazla olduğu için, bilgilerin daha net anlaşılması adına; bu bilgilere belirli bir düzene sahip olan DMI(Desktop Management Interface) ile, yani Masaüstü Yönetim Arayüzü tabloları ile ulaşıyoruz. Tabloda yer alan sıralamayı ve hangi bilgileri alabileceğinizi direk olarak görmek isterseniz, komut satırına dmidecode yazın ve sonuçların kategorize şekilde karşınıza geldiğine kendiniz tanık olun.

Bahsi geçen tablo sıralı şekilde ve Numara-Türkçe karşılığı olacak şekilde aşağıdaki gibidir.

Numara Açıklama
0Bios
1Sistem
2Baz kurulu
3Şasi
4İşlemci
5Bellek denetleyicisi
6Bellek modülü
7Önbellek
8Port bağlantısı
9Sistem yuvaları
10On Board Cihazları
11OEM Dizeleri
12Sistem Yapılandırma Seçenekleri
13BIOS Dili
14Grup Dernekler
15Sistem Event Log
16Fiziksel Bellek Array
17Bellek Cihazı
1832-bit bellek hatası
19Bellek Dizisi Haritalı Adres
20Bellek Cihazo Haritalı Adres
21Dahili İşaret Aygıtı
22Taşınabilir Pil
23Sistem Sıfırlama
24Dananım Güvenlik
25Sistem Güç Denetimleri
26Gerilim Probu
27Soğutma Cihazı
28Sıcaklık Probu
29Elektrik Akımı Probu
30Uzaktan Erişim
31Boot Bütünlüğü Hizmetleri
32Sistem Önyükleme
3364-bit Bellek Hatası
34Yönetim Cihazı
35Yönetimi Cihaz Bileşeni
36Yönetimi Cihaz Eşik Verileri
37Bellek Kanal
38IPMI Cihazı
39Güç Kaynağı

Başta belirttiğim gibi dmidecode kendi içinde parametre alan bir komut olduğu için istediğimiz spesifik bilgiye doğrudan da ulaşmamız mümkün. Detaylı bilgi için man kılavuz sayfasına bakın lütfen. Ancak küçük bir örnek vermem gerekirse bios hakkında bilgi edinmek istediğimizde konsola dmidecode -t bios komutunu girmemiz yeterli.

Burada ayrıca dmidecode -t bios komutu yerine, bios'un sıralamada bulunan numarasını yani dmidecode -t 0 yazarak da aynı işlemi gerçekleştirebilirdik.

fdisk-l

Başlıkta da yer aldığı gibi bu bölümde fdisk komutunun yalnızca l parametresinin işlevini göreceğiz. Bu komutu burada vermemin sebebi sistem hakkında bilgi alırken diskin de sistem dahilinde olmasıdır. Zaten ileride tekrar ele alacağımızdan şimdilik bu kadarı da yeterli olacaktır. Bu komutu diskler üzerinde işlem gerçekleştirirken kullanıyoruz. Eğer komut satırımıza fdisk -l şeklinde komut verirsek karşımıza sistemimizdeki disk bölümleri sıralı ve düzenli şekilde listelenecektir.

df

Bu komut ile disk kullanımı hakkında ayrıntılı bilgiye ulaşabiliyoruz.

Bu komutumuz da parametre alabiliyor, yani dileyen arkadaşlar konsolda man df şeklinde komut girerek gerekli bilgilere ulaşabilirler.

du

Bir dizinin, içerdiği tüm dosyalar ile birlikte diskte kapladığı toplam alanı verir. Ayrıca boyutla ilgili düzgün bir çıktı almak istersek h parametresini de kullanabiliriz.

free

Bu komut ile kullanılan bellek miktarını KB cinsinden öğrenebiliriz. Ancak çıktımızın MB cinsinden olmasını istersek -m parametresini free komutumuza ekleyerek kullanmamız yeterli olacaktır.

modinfo

Bu komut sayesinde Linux Kernel(çekirdek) modüllerinin bilgisi alınabilir. Bu modülleri ekran bastırmak isterseniz komut satırına lsmod yazarak modülleri listeleyebilirsiniz.

Örneğin modüller içinden battery modülü hakkında bilgi almak istersek komut satırına modinfo battery şeklinde yazmamız yeterli olacaktır.

stat

Bu komut dosyalar veya dizinler hakkındaki bilgileri almamıza olanak sağlar. Kullanımı stat dizin şeklindedir. Örneğin root dizinine bakalım. Bunun için komut satırımıza stat /root komutunu veriyoruz.

Gördüğünüz gibi root dizini hakkında bilgiler basılmış oldu.

vmstat

Bu komut sayesinde sistemimizin o anlık genel durumunu görebiliriz. Ancak komutu verdikten sonra sistem durumu listelenip sonlanacaktır. Eğer sistemin durumunu bir süre izlemek istersek vmstat gecikme_hızı yenilenme_sayısı şeklinde komut vermeliyiz. Ben her 2 saniyede bir yenilenmesini ve bunu 3 defa yapmasını istiyorum. Bunun için komut satırına vmstat 2 3 komutunu veriyorum.

history

Bu kısıma gelene kadar konsola bir çok komut yazdık. Peki o yazılan komutların daha sonra kullanılmak üzere saklandığını biliyor muydunuz ?

Evet girilen her komut .bash_history dosyasında tutuluyor. Biz bu dosyanın içeriğini yani daha önceki yazdığımız kodları görmek istersek komut satırına history yazmalıyız. Çıktı çok uzun olacağından çıktının tamamını aşağıda vermedim.

Hazır liste uzun demişken eğer bu listenin limitini öğrenmek istersek komut satırına echo $HISTSIZE yazarak bu değeri tutan ortam değişkeninin, ne kadar komutu history dosyasında tutulabileceğini görebiliriz.

Bu çıktı bize komutların tutulduğu dosyada en son 1000 komuta kadar kayıt yapıldığını belirtiyor. Eğer tutulan komutların 1000 'den daha fazla olmasını isterseniz .bashrc dosyasında HISTSIZE=1000 yazan değeri istediğiniz doğrultuda düzenleyebilirsiniz.

Komutun kullanımına geçmeden önce bu komutu sadece basit ve kısa komutların tekrar kullanılması olarak değerlendirmeyin. Örneğin sürekli kullandığınız çok uzun ve karmaşık bir komut düşünün. Bu komutun her defasında yazılması eziyet, bir yere kopyalanıp oradan tekrar tekrar kopyala-yapıştır şeklinde kullanılması ise hantallık olacaktır.

Komutun kullanımına gelecek olursak örnek üzerinden açıklayalım. Benim kayıt dosyamın bir kısmı aşağıdaki şekilde, ben burada yer alan 600. komutu yani vmstat komutunu kullanmak istiyorum. Bunun için komut satırına !600 yazmam yeterli olacaktır. Komutun kullanımı !komut_numarası şeklinde. Örnek için çıktıyı inceleyebilirsiniz.

Daha önceden kullandığımız bir komutu aynı şekilde tekrar kullanmak için ise komut satırına !komut şeklinde komut girmeliyiz. Örnek vermek gerekirse daha önceki kısımlarda stat komutu ile root dizini hakkında bilgi edinmiştik. Ve bu bilgiye ulaşmak için stat /root komutunu kullanmıştık. Ben şimdi tekrar aynı komuta ulaşmak için komut satırına !stat yazıyorum ve çıktısı tıpkı stat /root yazdığımda olduğu gibi oluyor. Yani bu sayede komutun geri kalanını uzun uzun yazmak gibi bir dert kalmıyor.

Eğer son kullandığımız komutu tekrar kullanmak istersek komut satırına !! yazmamız yeterli olacaktır.

Bunlar dışında da çok farklı kullanım şekilleri de mevcut. Bu bilgilere man komutu yardımı ile nasıl ulaşacağınızı zaten biliyorsunuz.

Ayrıca son yazılan komutlara ulaşmak için klavyede yer alan yön tuşlarından (yukarı) ve (aşağı) tuşlarını kullanarak önceki ve sonraki komutlarınıza ulaşabilirsiniz. Genellikle yön tuşlarını kullanmak bize anlık işlemlerimizde hız katmaktadır. Sizler de bu pratiklikleri mutlaka yeri geldikçe sıklıkla kullanacaksınız.

Alıştırmalar Hakkında

Öğrendiğiniz bilgilerin kalıcı olması için mutlaka bolca alıştırma yapmalısınız.Burada belirtilen alıştırmalar dışında da kendi kendinize özellikle de zorlandığınız konularda bol bol alıştırmalar yapın. Aksi halde öğrendiğiniz bilgiler kısa sürede unutulup gidecektir. Yani gerçekten öğrenmek istiyorsanız lütfen öğrendiğinizi hissede kadar alıştırmalar yapın.

Kullanmakta olduğunuz sistem çekirdeği hakkında bilgi alın.

Bilgisayarınızın ağ üzerindeki adını(hostname) değiştirin.

Kullanmakta olduğunuz dağıtım hakkında genel bilgi almak için ilgili komutu kullanın.

Mevcut oturumda yani çalışmakta olduğunuz oturumdaki kullanıcı kimliğini konsol üzerinden ilgili komut yardımıyla sorgulayın.

"Sisteminizin ne kadar süredir açık olduğunu sorgulayın.

Konsoldan sistemin o anki tarih ve saat bilgisini sorgulayın.

Konsoldan takvim bilgisini sorgulayın.

Konsol üzerinden 2020 yılının mart ayı takvimini görüntüleyin.

echo  komutunun çalışmasını sağlayan dosyaların hangi dizinde tutulduğunu konsol üzerinden sorgulayın.

echo  komutunun man kılavuz sayfalarında yer alan bilgilerinin hangi dosyada tutulduğunu tam dizin adresi şeklinde öğrenin.

"armitage" ifadesinin geçtiği dosyaları listeleyin.

Konsol üzerinden kullanılan bellek(ram) miktarını MB(megabayt) cinsinden öğrenin.

/root  dizini hakkında genel bilgiler almak için ilgili komutu kullanın.

İlgili komut yardımıyla sisteminizin o anlık genel durumunu sorgulayın.

Son kullanmış olduğunuz komutu tekrar kullanmak için öğrendiğiniz şekilde pratik yöntemi uygulayın.

Konsola girmiş olduğunuz önceki komutları listeleyin.(komut geçmişinizi ilgili komut ile listeleyin). Listelenen çıktılardan 10. satırdaki komutu tekrar kullanmak üzere öğrendiğiniz şekilde pratik yöntemi uygulayın.

Aşağı yukarı yön tuşlarıyla önceki ve sonraki komutlar arasında geçiş yapın.

Geri Bildirimde Bulunun

Sizlere daha verimli bir kaynak sunabilmemiz için, uygulamada veya dokümantasyonlarda yer alan tüm hata ve eksiklerimizi bize bildirebilirsiniz.