Skip to content

g) Bilgi Alma Komutaları

Taylan Özgür Bildik edited this page Jun 26, 2019 · 1 revision

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.

enter image description here

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.

enter image description here

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

enter image description here

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

enter image description here

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

enter image description here

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

enter image description here

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

enter image description here

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

enter image description here

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

enter image description here

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

enter image description here

 --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.

enter image description here

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.

enter image description here

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.

enter image description here

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.

enter image description here

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.

enter image description here

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.

enter image description here

date

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

enter image description here

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.

enter image description here

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.

enter image description here

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.

enter image description here

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.

enter image description here

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.

enter image description here

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:

enter image description here

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.

enter image description here

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

enter image description here

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.

enter image description here

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.

enter image description here

df

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

enter image description here

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.

enter image description here

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.

enter image description here

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.

enter image description here

Ö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.

enter image description here

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.

enter image description here

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.

enter image description here

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.

enter image description here

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.

enter image description here

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.

enter image description here

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.

enter image description here