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