En Çok Kullanılan Linux Komutları

Komutlar; siz bir komut yazdığınızda, bu komut hakkında bilgi veren ve sizin bu komutu kullanmanıza yardımcı olan parametreleri size sunar.

Yardım Alma Komutları Nelerdir?

<komut> –help: Terminal’de bir komutu yazdığınızda boşluk bırakıp –help dediğiniz zaman, Linux siz bu yazdığınız komutla ilgili detay almak istediğinizi anlıyor. Bu komuttan sonra hangi parametre ve argümanları ekleyeceğinizi ve bu konu hakkında yardım almak istediğinizi anlıyor.

help<komut>: <komut> –help’in ters varyasyonudur. Bu da o komut hakkında açıklamaları size sunar.

man <komut>: Kılavuz sayfaları olarak tabir edilir ve Manuel Pages (Manuel Sayfalar) anlamına gelir. Bu kılavuzun en güzel yanı ise Linux’un kendi içinde gelmesidir. Ancak 3. Parti yazılımlarda bu komut her zaman işe yaramamaktadır; çünkü bu yardım komutu Linux çekirdeği için tasarlanan ve üretilen bir kılavuzdur. Bu komutun içerisinde bulunan belli başlı özellikler mevcuttur.

Bunlar:

  • NAME: Komutun ismi ve açıklaması.
  • SYNOPSIS: Komutun nasıl kullanılacağı.
  • DESCRIPTION: Komutun işlevi hakkında detaylı bilgi.
  • EXAMPLES: Kullanımıyla ilgili örnekler.
  • SEE ALSO: İlgili başlıklar.

/usr/share/man path’i (yolu) altında bulunurlar.

  • man1: Genel kullanıcı programları hakkında bilgi verir.
  • man2: Sistem programları hakkında bilgi verir.
  • man3: Kütüphane fonksiyonları hakkında bilgi verir.
  • man4: Özel dosyalar hakkında bilgi verir.
  • man5: Dosya biçimleri hakkında bilgi verir.
  • man6: Oyunlar ve ekran koruyucular hakkında bilgi verir.
  • man7: Diğer kategorideki çeşitli komutlar hakkında bilgi verir.
  • man8: Sistem yönetimi ve bakım hakkında bilgi verir.

apropos<KomutunBirkismi>: Verilen ifadenin geçtiği “man” dosyalarını listeler. Hatırlamadığınız bir komut olduğunda bu komutun bir kısmını “apropos” komutundan sonra yazıp, bu yazdığınız yarım komutun devamında bu ifadenin gösterildiği man dosyasını size gösterir.

Örneğin: ping komutu

#apropos pi

whatis<komut> : Komut hakkında kısa hatırlatıcı bilgi ve hangi man dosyasında bulunduğunu gösterir. Whatis devamına komutu yazdığınızda komut hakkında kısa ve hatırlatıcı bilgi verir.

Joker(Wildcard): Karekter ile kullanılmak istendiğinde -w parametresi eklenmelidir.

Örneğin; whatis -w <Komutun Bir Kısmı> * gibi. (Burada dikkat etmemiz gereken şey whatis’in devamında komut değil, komutun bir kısmını yazmamızdır.)

Peki * (Yıldız) ifadesi burada ne işe yarıyor?

whatis -w <Komutun Bir Kısmı> * yazdığınızda sonda bulunan <Komutun Bir Kısmı > yazan ismi geçen ve veri tabanında olan bir pin yazdıktan sonra yıldıza basarsanız, pin ile başlayan veritabanında bulunan tüm dosyaları tüm yardım alma komutlarını size man dosyaların içerisinde geçen pin karakterlerinin hepsini listeler.

Şimdi bunu örneklerle açıklayalım:

Bakınız:

Ping –help yazdığımızda bize ping ile ilgili yapabileceğimiz ve kullanabileceğimiz bir çok parametre sunmaktadır. Daha önce bahsettiğimiz gibi –help parametresi komutlar hakkında bilgi almamızı sağlayan bir yardımcıdır. 

Şimdi, <komut> –help:’in tam tersi olan help<komut>: parametresini deneyelim

$help ping

Bakın bu komutu girdiğimiz anda aşağıda bir hata mesajı gösterdi.

-bash: help: no help topics match `ping’.  Try `help help’ or `man -k ping’ or `info ping’.

Hata mesajının bize anlatmak istediği şey şudur: “Help ping ile ilgili herhangi bir eşleşme görülmemiştir.” Komutu “help ping” şeklinde değil “help help ping” şeklinde deneyiniz ya da man -k komutu ve parametresi ile man dosyalarına erişip doğru komut adına inceleme yapınız.

Bu hata mesajını vermesinin sebebi ise kullandığınız Debian dağıtımına göre parametlerin değişiklik göstermesidir.

İlgili uyarıdan sonra bize belirttiği:

$help help ping

Komutunu yazarak, ping komutu hakkında istediğimiz yardım parametrelerini görmekteyiz.

Şimdi ise man dosyalarını inceleyelim.

$man ping yazdığımızda:

Görüldüğü üzere ping hakkında sayfalarca detay çıktısı vermektedir. Buradaki bilgilerle ping hakkındaki tüm detayları öğrenmeniz mümkündür.

apropos Komutu

$apropos tracer

Yazdığımızda altta çıkan sonuçlarda yarım kalan komutun yani tracer’ı tamamlayıcı komutları göstermektedir.

Whatis Komutu

Yazdığımızda altta çıkan çıktı da, Ping’in ne işe yaradığını açıklar nitelikle bir yazı bizi karşılamaktadır. Ancak öncelikle değineceğim ayrıntı ping(8)’in ne olduğudur.

Ping’in yanında parantez içerisinde bulunan (8) ifadesi bu açıklamanın man 8 içerisinde bulunduğunu belirtmektedir. Yanında bulunan açıklaması ise, Ağ cihazlarına ICMP ile ECHO_REQUEST paketi göndereceğinizi açıklar.

ICMP: Ping komutunun protokolüdür ve herhangi bir TCP-UDP protokolüne bağlı değildir. ICMP kendi başına bir protokol olup herhangi bir port numarası bulunmamaktadır.

ECHO_REQUEST: Bir sorgu talebi anlamına gelen yazılım dili ile isimlendirilen bir ibaredir.

Bilgi Alma Komutları

Bilgi alma komutları yardım alma komutlarından farklıdır. Buradaki fark, yardım alma komutlarında, komutların nerede nasıl kullanılacağı hakkında komutlar varken, Bilgi Alma komutlarında, komutların ne ile ilgili bilgi verdiği hususu yer alır.

Isb_release -a: Kullanılan Linux dağıtımı (distro’su) hakkında ayrıntılı bilgi verir.

cat/etc/*release: Kullanılan Linux dağıtımı (distro’su) hakkında daha da ayrıntılı bilgiler verir.

Distro: Distributions-Dağıtım anlamına gelen Linux dağıtımlarını belirten bir ifadedir.

cat/etc/issue: Kullanılan Linux dağıtımının adını ve hakkında basit bilgileri gösterir.

uname -a: Kullanılan Linux dağıtımının çekirdek (kernel) adını ve versiyonu hakkında bilgi verir. “-a” burada “all” anlamına gelir ve eğer daha ayrıntısız bilgi almak istiyorsanız, “-n, -m, -r” parametreleriyle daha ayrıntısız bilgi alınabilir. Uname aslında “Adın ve hakkındaki versiyon bilgilerin nedir?” demek gibi bir soruyu komutla soruyoruz.

hostname: Bilgisayar adını (hostname’i) verir.

w: w komutu, aktif kullanıcı, oturum açma (login) saati ve son açtığı uygulama bilgisi verir. En kapsamlı bilgileri verir.

who: who komutu, aktif kullanıcı ve login saatini verir. W komutuna nazaran daha az kapsamlı bilgileri bize verir.

whoami: whoami komutu, aktif kullanıcı bilgisi verir. “-b ve -r” parametleriyle de kullanılır. W ve Who komutuna nazaran en az kapsamlı bilgileri bize verir.

uptime: Sistemin yüklendiğinden itibaren ne kadar saat açık kaldığını gösterir. Bu genelde karıştırılan bir komuttur. Sistemin boot olduğu saat diye anlayan login olma saati ile karıştıranlar vardır. Ancak bunların hiçbiri değil; bu komutun bize verdiği zaman çıktısı, işletim sisteminin kurulduğu andan itibaren ne kadar açık kaldığını işletim sistemi kurulduğundan beri ne kadar kullanıldığıyla ilgili zamanı bizim görmemizi sağlayan bir komuttur. Kapalı kaldığı süreleri dışlar ve açık kaldığı süreleri bize verir.

whereis<argüman>: İlgili komut, dosya veya klasörün path’ini (yolunu) ve man dosyasının yerini gösterir. Kaç numaralı man dosyasında olduğunu bize gösterir ve “-b,-m ve-s” paremetreleriyle de zenginleştirilerek kullanılabilir.

which<argüman>: Komutların yerini gösterir.

cat/proc/cpuinfo: CPU hakkında detaylı bilgi verir.

cat/proc/meminfo: RAM hakkında detaylı bilgi verir.

df -h -T ve Isblk: Fiziksel ve mantıksal disk kullanımı ve dosya sistemi hakkında bilgi verir.

-h parametresi:

Human Readable: İnsan tarafından okunabilir bir ortam veya insan tarafından okunabilir format anlamına gelmektedir. İnsanlar tarafından doğal olarak okunabilen herhangi bir veri veya bilginin kodlanmasıdır. Makine hesaplamalarında insan tarafından okunabilen veriler, ikili veri yerine genellikle ASCII veya Unicode metin olarak kodlanır. Bunun sebebi makine dili bit cinsinden olduğu için insan okumasına birazda olsa yabancıdır. -h parametresi bize verilen çıktının bizim okuyabileceğimiz bir hal almasını sağlamaktadır.

-T parametresi ise:

Type: Tip anlamına gelmekte olup, bize dosya sisteminin tipi hakkında bilgi verir.

En yaygın ve en doğru kullanılan komut df -h -T’dir.

du -h: Komutun çalıştığı mevcut klasör ve altındaki klasörün dosya boyutları hakkında bilgi verir.

vmstat: Sistemin sanal bellek (virtual memory)’in anlık performansı hakkında genel bilgi verir. Vm (Virtual Memory) Stat ise Status’ten gelmektedir.

cal: Calendar (takvim) anlamındadır. Bulunduğumuz ayın takvimini görüntüler.

date: Tarih, saat ve dilimini verir.

Bu komutların kullanım amacı, her yerde ve her alanda masaüstü bir dağıtım kullanmayacak olmanızdandır. Bazı zamanlarda veya şartlarda bir grafik arayüzü olmadan işlem yapmanız gerekecektir ve bu komut ekranı üzerinde kullandığınız dağıtım hakkında bilgi almak adına bu komutları kullanmanız gerekir.

Şimdi çalışma yaptığımız bir Debian Dağıtımı olan Ubuntu Masaüstü’müze SSH üzerinden bağlantı sağlayarak, tamamen grafik görüntüsünden bağımsız bir görüntü elde edip komutlarımızın bize sağladığı o muhteşem bilgileri birlikte görelim.

Isb_release -a Komutu

Evet, komutu yazdığımızda:

  • Distributor ID: Distributor ID’si yani kimliğinin Ubuntu olduğu bilgisi veriliyor.
  • Description: Ubuntu 20.04.5 LTS : Açıklamada ise, Ubuntu 20.04.5 LTS olduğu bilgisi veriliyor.
  • Release: 20.04 : Versiyon bilgisi veriliyor.
  • Codename: focal : Takma ad bilgisi veriliyor.

cat/etc/*release Komutu

Burada ise daha ayrıntılı bilgi sağlamaktadır.

  • DISTRIB_ID= Ubuntu
  • DISTRIB_RELEASE= 20.04
  • DISTRIB_CODENAME= focal
  • DISTRIB_DESCRIPTION= “Ubuntu 20.04.5 LTS”
  • NAME= “Ubuntu”
  • VERSION= “20.04.5 LTS (Focal Fossa)”
  • ID=ubuntu
  • ID_LIKE= debian
  • PRETTY_NAME= “Ubuntu 20.04.5 LTS”
  • VERSION_ID= “20.04”
  • HOME_URL= “https://www.ubuntu.com/”
  • SUPPORT_URL= “https://help.ubuntu.com/”
  • BUG_REPORT_URL= “https://bugs.launchpad.net/ubuntu/”
  • PRIVACY_POLICY_URL= “https://www.ubuntu.com/legal/terms-and-policies/privacy-policy”
  • VERSION_CODENAME= focal
  • UBUNTU_CODENAME= focal

cat/etc/issue Komutu

Kullanılan Linux Dağıtımının ismini bize göstermektedir.

uname -a Komutu

Tüm isim bilgisini bize göstermektedir.

–Help kullanarak uname içerisinde bulunan yardım parametrelerinde hangi bilgilerin elde edeceğimize bir bakalım:

  • -a, –all : Tüm bilgileri verir; -p ve -i  bilinmiyorsa atlanır.
  •   -s, –kernel-name : Çekirdek isminin çıktısını verir.
  •   -n, –nodename : Dağıtımın kurulmuş olduğu cihazın ismini gösterir.
  •   -r,  –kernel-release : Çekirdeğin yazılımsal olarak derleniş sürümünü gösterir.
  •   -v, –kernel-version : Çekirdeğin sürümünü gösterir.
  •   -m, –machine : Makinenin üzerindeki mimariyi gösterir.
  •   -p, –processor : İşlemci tipini gösterir.
  •   -i,   –hardware-platform : Üzerinde bulunduğu donanım platformunu gösterir.
  •   -o, –operating-system : İşletim sistemini gösterir.
  • –help : Yardım bilgisini gösterir ve çıkış yapar.
  •        –version : Sürüm bilgisini gösterir ve çıkış yapar.

Bu parametreler doğrultusunda ihtiyacımıza göre ayrıntılı olarak kullandığımız dağıtımdan bilgi çekebiliriz. Bu sayede bir çok  noktada bir önceki konumuz olan Yardım Alma Komutlarınında burada da kullanılacağını görmüş olduk.

Hostname Komutu

Yazdığımızda kullandığımız cihazın tam ismini bize gösterir.

W Komutu

Yazdığımızda burada aytıntılı bir biçimde login olan kullanıcı bilgilerini bize gösterdi. Burada dikkat edilmesi gereken konu TTY’dir.

TTY: Terminal anlamına gelmektedir. Yani terminal üzerinde işlem yapan terminal’e bağlanan kullanıcıları göstermektedir. Bu eskiden console olarak da yazabiliyordu; ancak bu terminal ile karıştırılmamalı. Çünkü console, bir cihaza fiziksel bir şekilde bir kablo aracılığı ile bağlı olduğumuzu belirtir; ancak, terminal fiziksel olarak bağlı olmasak bile internet üzerinden cihaza terminal yardımı yani bir uygulama ile bağlandığımız anlamına gelir.

USER     TTY    FROM       LOGIN@   IDLE   JCPU   PCPU  WHAT

mert     :0       :0               18:37       ?xdm?  4:04    0.00s   /usr/lib/gdm3/gdm-x-session –run-script env GNOME_SHELL_SESSION_MODE=

mert     pts/1                      03:44    1.00s  0.07s  0.00s w

User: Hangi user’ın terminale bağlı olduğunu gösterir.

TTY: Bağlantının Terminal olduğunu belirtir.

From: Nereden bağlı olduğunu gösterir. Bu IP veya fiziksel bir kablo da olabilir.

Login@: Terminal’e, consol’a veya bağlantı türümüz her ne ise ne kadar süredir bağlı olduğumuzu gösterir.

IDLE: Ne kadar süre bağlantı türünde boşta kaldığımızı gösterir.

JCPU ve PCPU: Ortama CPU durumlarının bize gösterir.

WHAT: Son olarak dağıtım içerisinde hangi dizinde hangi uygulamayı açıp işlem yaptığımızı veya hangi dizine bağlandığımızı gösterir. Yani son faaliyeti burada belirtir.

Who Komutu

Yazıldığında “mert” kullanıcısı ile bağlı olduğumu terminal ile girdiğimi ve giriş tarihim ile süremi belirtiyor.

Whoami Komutu

Yazıldığında direkt olarak bağlı olduğum kullanıcıyı belirtiyor.

Bu nerede işinize yarar? Her zaman böyle işlem yaptığınız kullanıcıyı bilemezsiniz; bu yüzden uzaktan bağlanarak üzerinde işlem yaptığınız kullanıcıyı öğrenmek adına bu komut size hangi kullanıcı ile işlem yaptığınızı gösterir.

Uptime Komutu

Bu işletim sistemi 4 saat 45 dakika 54 saniyedir kullanılan bir işletim sistemi olup, bu işletim sistemini 2 kullanıcının kullandığını bize gösterir.

Whereis Komutu

Hangi “man” dosyasında bulunduğunu size gösterir. Çıktıya göre ping aracı /usr/bin/ping içerisinde çalışıyor olup /usr/share/man/man8/ping.8.gz dosyasının içerisinde olduğunu belirtir.

Which <Argüman> Komutu

Yazdığımızda yerleşik komutların nerede olduğunu bize gösterdi.

cat /proc/cpuinfo Komutu

Aslında bir dosya okuma komutudur ama Bilgi Alma komutlarında da dosyalardan bilgi almamız adına kullanılmaktadır. Yukarıda gördüğünüz üzere CPU hakkında oldukça detaylı bilgi vermektedir.

cat /proc/meminfo Komutu

Ram ile ilgili detaylı bilgi göstermektedir.

Df -h -T Komutu

FileSystem: Dosya sisteminin ne olduğum hakkında bilgi verir

Type: Dosya sisteminin tipi hakkında bilgi verir.

Size: Dosya sisteminin tüm alanını gösterir.

Used: Dosya sisteminde halihazırda kullanılan dosyaların alanlarını gösterir.

Available: Dosya sisteminde dosya yazılması adına müsait olan alanları gösterir.

Use%: Dosya sisteminde kullanılan alanları yüzdelik olarak gösterir.

Mounted on: Dosya sistemine bağlı olan bölmeleri gösterir.

Lsblk Komutu

Fiziksel ve mantıksal olarak bağlı olan bölmeleri bize gösterir.

Du -h Komutu

Bulunduğumuz klasörü ve onun altındaki klasörlerin kapladığı alanları gösterir.

vmstat Komutu

Sistemin o an ki anlık performansıyla ilgili bilgiler vermektedir. Buraya baktığımızda sırasıyla Procs, Memory, Swap, IO, System ve CPU başlıklı başlıklar mevcuttur. Bu başlıkların açıklamaları aşağıdaki gibidir:

Procs: Process yani işlemlerdeki süreçleri bize aktarır. “r” çalışma zamanı için çalıştırılabilen CPU döngülerinin tetiklenmesini bekleyen işlem sayısını belirtir. “b” kesintisiz bir şekilde uykudaki süreç sayısını belirtir. İşlem uyumuyor ve ilgili eylemi tamamlayana kadar asla durdurulamıyor. Bu genellikle bazı kaynak işlemlerinin serbest kalmasını bekleyen bir aygıt sürücüsüdür.

Memory – Hafıza:

Swpd: Anlık kullanılan bellek miktarını gösterir.

Free: Kullanılmayan ve kullanıma açık bellek miktarını gösterir.

Buff: Arabellek olarak kullanılan bellek alanının miktarını gösterir.

Cache: Önbellekte kullanılan bellek alanının miktarını gösterir.

Swap – Takas:

Si: Sanal bellek içerisinde değiştirilen takas alanını gösterir. Bu genel olarak RAM-Memory’de bulunan bellek miktarının yetmemesi üzerine, diskimizde RAM’de destek vermesi için oluşturduğumuz bir alanın bellek miktarını gösterir.

So: Sanal bellek içerisinden diske yani swap alanına aktarılan bellek miktarıdır.

IO

bi: Bir blok cihazdan alınan bitlerdir. Sanal belleği tekrar RAM’e değiştirmek için kullanılan veri bloklarının sayısıdır.

bo: Bir blok cihazına gönderilen bitler. Sanal belleği RAM’den takas alanına geçirmek için kullanılan veri bloklarının sayısı.

Sistem

in: Saat bazında saniyede kaç kesinti olduğunu gösterir.

cs: Saniyedeki bağlam anahtarı geçişlerinin sayısını gösterir. Bağlam anahtarı geçişi, çekirdek sistem modu işlemesinden kullanıcı modu işlemesine geçtiğinde gerçekleşir.

İşlemci

Bu değerlerin tümü toplam CPU süresinin yüzdeleridir.

us: Çekirdek olmayan kod çalıştırmak için harcanan zaman. Yani, kullanıcı zaman işlemede ve güzel zaman işlemede ne kadar zaman harcanır, onu belirtir.

sy: Çekirdek kodunu çalıştırmak için geçen süreyi gösterir.

id: Boşta geçen süreyi gösterir.

wa: Girdi veya çıktı beklerken geçen süreyi gösterir.

st: Sanal bir makineden çalınan zamanı belirtir. Bu, sanal bir makinenin geri gelip bu sanal makineye katılmadan önce hiper yöneticinin diğer sanal makinelere hizmet vermesini beklemesi gereken zamandır.

Ek Bilgi: vmstat yanına saniye cinsinden bir değer eklenir ve o saniye cinsi süresi her geçtiğinde, ekrana sistemin o an ki performansını gösterir.

$vmstat 2

Yani 2 saniyede bir anlık performansı gösterir.

Ekrandaki gösterilen tabloyu durdurmak için Ctrl+s komutu devam ettirmek için Ctrl+q komutu kullanılır.

Cal Komutu

Yazdığımızda takvim bazında hangi tarihte olduğumuzu bize gösterir. Cal komutunda sadece şu anki tarihinizi görmeniz dışında, belirli bir sene içerisindeki ay ve günleri de görmeniz mümkündür.

Örneğin: $cal 1994 yazdığımızda:

Görüldüğü üzere 1994’te ayların günlerini bize göstermektedir.

Date Komutu

Yazdığımızda bize tarih, saat ve saat diliminin cinsini gösterir.

Date komutunun kullanım amacı özellikle bir Active Directory yapısındaysanız ve sunucunu kullanılara ev sahjipliği yapıyorsa, buradaki tarih ve saatin kullanıcılar ile senkronize olması gerekiyor. Aksi takdirde kullanıcılar kendi oturumlarına bağlanamazlar; çünkü saat olarak ikiside farklı olduğumuz için Active Directory bunun farklı bir yerdeki saldırgan olarak algılayarak, onun oturum açma isteğini engeller.

Sağladığımız bu bilgilerin kendi sunucularınızda deneyip uzmanlığınıza katkı sağlayabilirsiniz. Ayrıca, üstün donanımlara sahip sanal ve dedicated sunucuları natro.com’u ziyaret ederek inceleyebilirsiniz.

0 Shares:
Benzer İçerikler