Her Linux Sistem Yöneticisinin Bilmesi Gereken 20 komut

İster yeni bir geliştirici olun, ister kendi uygulamanızı yönetmek isteyin, aşağıdaki 20 temel sysadmin komutu, uygulamalarınızı daha iyi anlamanıza yardımcı olabilir. Ayrıca, bir uygulamanın neden yerel olarak çalışabildiğini ancak uzak bir ana bilgisayarda çalışmamasını sysadmins sorunlarını giderme konusunda size yardımcı olabilirler.

curl

curl bir URL aktarırıcıdır. Bir uygulamanın port veya bağlantısını test etmek için bu komutu kullanılır. curl uygulamanız bir veritabanı gibi, başka bir hizmeti ulaşabilir olmadığının belirlenmesi veya servis sağlıklı olup olmadığını kontrol etmek için yararlı olabilir.

Örnek olarak, uygulamanızın bir MongoDB veritabanına ulaşamadığını belirten bir HTTP 500 hatası attığını hayal edin:

$ curl -I -s veritabanı:5000
HTTP/1.0 500 INTERNAL SERVER ERROR

-I  seçeneği başlık bilgilerini gösterir ve -s seçeneği output süresini durdurur. 

python -m json.tool / jq

API çağrısının çıktısını okumak zor olabilir. Bazen, belirli bir girişi bulmak için JSON çıkışını yeniden yazdırmak istersiniz . Python bu konuda yardımcı olabilecek yerleşik bir JSON kütüphanesine sahiptir.

cat test.json | python -m json.tool
python -m json.tool

python -m json.tool

Daha gelişmiş JSON ayrıştırması için, jq’yi yükleyebilirsiniz . j q , JSON girişinden belirli değerleri alan bazı seçenekler sunar . Yukarıdaki Python modülü gibi güzel baskı yapmak için, çıktıya jq uygulamanız yeterlidir .

cat test.json jq  
jq
jq

ls

ls Bir dizindeki dosyaları listeler. Sysadmins ve geliştiricileri bu emri oldukça sık verir. Kapsayıcı alanda, bu komut kapsayıcı resminizin dizinini ve dosyalarını belirlemeye yardımcı olabilir. Dosyalarınızı ararken yanında ls size izinleri incelemek için yardımcı olabilir. ls -l  kullanarak izinleri kontrol ettiğinizde, izinlerin okuma mı yazmamı çalıştırma yetkisini görebilirsiniz.

İzinler üç harfle belirtilir: rwx. Bu harflerin anlamları şöyledir:

r      read       [okuma ]
w      write       [yazma]
x      execute       [çalıştırma]

ls -l
ls -l

tail

tail  bir dosyanın son bölümünü görüntüler. Sorun gidermek için genellikle her bir günlük satırına ihtiyacınız yoktur. Bunun yerine, günlüklerinizin başvurunuzdaki en son istek hakkında neler söylediğini kontrol etmek istersiniz .

tail

-F seçeneği dosyaya yazılan olarak zaman çizgilerini verir “takip et” seçeneğini belirtir. 

cat

cat dosyaları yazdırır. Dosyanın içeriğini bir defa görüntüler ve geri çıkar.

cat

grep

grep,  Global Regular Expression Printer . Başka bir komutun çıktısında belirli bir kalıp arıyorsanız, grep ilgili satırları vurgular. Günlük dosyalarını, belirli işlemleri ve daha fazlasını aramak için bu komutu kullanın.

grep

ps

ps işlem durumunu gösterir. Çalışan bir uygulamayı belirlemek veya beklenen bir işlemi onaylamak için bu komutu kullanın.

ps

env

env , ortam değişkenlerini ayarlamanızı veya yazdırmanızı sağlar. Sorun giderme sırasında, yanlış ortam değişkeninin uygulamanızın başlamasını engelleyip engellemediğini kontrol etmek için yararlı olabilir.

env

top

top işlem bilgilerini görüntüler ve günceller. Hangi işlemlerin çalıştığını ve ne kadar bellek ve CPU tükettiğini belirlemek için bu aracı kullanın.

top

netstat

netstat ağ durumunu gösterir. Bu komut kullanımda olan ağ bağlantı noktalarını ve gelen bağlantılarını gösterir. Ancak, netstat , Linux’ta kullanıma hazır değildir. Yüklemeniz gerekirse, net-tools paketinde bulabilirsiniz. Yerel olarak deney yapan veya bir uygulamayı bir ana bilgisayara zorlayan bir geliştirici olarak, bir bağlantı noktasının önceden tahsis edilmiş olduğu veya bir adresin kullanımda olduğu konusunda bir hata alabilirsiniz. Bu hataları sizin önceden keşfetmeniz için kullanılan portu kimin kullandığını göstermektedir.

netstat

ip address

Basit bir kontrol için, ana bilgisayarın IP adresini öğrenmek için her zaman ip address komutunu kullanabilirsiniz.

ip -a

lsof

lsof , uygulamanızla ilişkili açık dosyaları listeler. Bazı Linux dağıtımlarında, yüklemek gerekebilir  (lsof ). Linux’ta sistemle neredeyse tüm etkileşimler bir dosya gibi değerlendirilir. Sonuç olarak, uygulamanız bir dosyaya yazarsa veya bir ağ bağlantısı açarsa, bu etkileşimi dosya olarak yansıtacaktır. Netstat’a benzer şekilde , dinleme portlarını kontrol etmek için lsof kullanabilirsiniz .

lsof

df

Salt olarak kullanıldığında sabit disk(ler)in ve bölüm(ler)in (partition) toplam boyutlarını, kullanılmış alanlarını, boş alanlarını, yüzde kaçının dolu olduğunu ve nereye bağlı olduğunu verir. 

df

du

Hangi dosyaların bir dizindeki disk alanını kullandığı hakkında daha ayrıntılı bilgi almak için du komutunu kullanabilirsiniz .

du

id

Uygulamayı çalıştıran kullanıcıyı kontrol etmek için , kullanıcı kimliğini döndürmek üzere id komutunu kullanın.

id

1-)chown

Bir dosya veya klasörün sahibini (kullanıcı olarak) değiştirmeye yarar. İstenirse çoklu dosya/klasör belirtimi yapılabilir.

2-)chgrp

chown komutuna benzerdir. Ancak chown komutundan farklı olarak dosya veya klasör(ler)in kullanıcı sahipliği değil grup sahipliği değiştirilir.

3-)chmod

Bir dosya yada klasörün çalıştırma, yazma, okuma izinlerini değiştirebilirsiz.

chmod ile selim.txt dosyasına çalışma yetkisi verilmesi örneği

dig / nslookup

Bir etki alanı adı sunucusu (DNS), bir URL’yi bir dizi uygulama sunucusuna çözmenize yardımcı olur. Ancak, bir URL’nin çözülmediğini ve uygulamanız için bir bağlantı sorununa neden olduğunu görebilirsiniz.

dnsutils paketinin kurulması gereklidir.

dig

Domain İçin TTL Kayıt Sorgulama

TTL

iptables

iptables bir Linux güvenlik ağındaki bir ağ güvenlik duvarına benzer şekilde trafiğe izin veriyor. Bu araç, belirli uygulamaların istekleri almasını veya iletmesini engelleyebilir. Daha spesifik olarak, uygulamanız başka bir son noktaya ulaşmakta zorluk çekiyorsa, iptables son noktaya giden trafiği reddediyor olabilir. Kurulları görmek için iptables -L tüm kuralları silmek için iptables -F komutlarını kulllanabilirsiniz.

iptables

sestatus

Genellikle bir işletme tarafından yönetilen bir uygulama ana bilgisayarına uygulanan SELinux’u (Linux güvenlik modülü) görürsünüz. SELinux, ana bilgisayarda çalışan işlemlere en az ayrıcalıklı erişim sağlar ve potansiyel olarak kötü amaçlı işlemlerin sistemdeki önemli dosyalara erişmesini önler. Bazı durumlarda, bir uygulamanın belirli bir dosyaya erişmesi gerekir, ancak hata verebilir.

kapalı bir SELinux

history

Test etme ve hata ayıklama için çok fazla komut verdiğinizde, yararlı olanları unutabilirsiniz! Uygulamanızı gidermek için hangi komutları kullandığınızı günlüğe kaydetmek için history kullanabilirsiniz . 

history

Komutların detaylı kullanımı için man dosyasına bakınız .Örneğin;

man history
man top

Komutlara kısaca değinilmiştir. En iyi öğreticinin azminiz olduğunu unutmayın.