İçeriğe atla

Kapatmak için ESC tuşuna basın

Hayatı Kolaylaştıran Linux Komutları

Bu yazıda linux'u daha rahat kullanabileceğiniz komut dizelerini bulabilirsiniz

Yazar
Sezer Şanlıkan
Yayın
Güncellendi
Okuma
4 dakika
Görüntülenme
1.380
Hayatı Kolaylaştıran Linux Komutları
Bu yazıda
  1. Dosya izni görme ve tek komutla dosya yazma
  2. IP route ve IP rule komutları
  3. İçeriğe göre dosya bulup silmek
  4. History çıktısına tarih ve saat eklemek

Hayatı kolaylaştıran Linux komutları, günlük sistem yönetiminde sürekli geri döndüğünüz kısa satırlardan oluşur. Bu yazıda dosya izni okuma, tek komutla dosya yazma, IP route ve IP rule yönetimi, içeriğe göre dosya silme ve tarihli history komutlarını bulacaksınız. Komutların altında ne yaptıkları ve çıktının nasıl okunduğu yazıyor.

Dosya izni görme ve tek komutla dosya yazma

Bir dosyanın veya dizinin chmod değerini rakamsal olarak görmek için aşağıdaki komutu kullanabilirsiniz

stat -c "%a %n" /root

%a izinleri sekizli sayı olarak, %n dosya adını yazar. Üç rakam sırayla dosya sahibi, grup ve diğerleri içindir. 4 okuma, 2 yazma, 1 çalıştırma demektir ve toplanır: 7 rwx, 5 r-x, 0 hiç izin yok. Sembolik hâli yanında görmek için %A ekleyin.

stat -c "%a %A %n" /root

Bu biçim GNU stat’a özgü. macOS’ta -c çalışmaz.

Tek komut ile bir dosya oluşturabilir ve içerisine alt alta gelen yazılar yazabilirsiniz

cat <<EOF >> dosyaadi.txt
bla bla bla
bla
bla
bla
bla
EOF

Bu kalıba heredoc denir. <<EOF ile EOF arasındaki satırlar komutun girdisi olur. >> dosyanın sonuna ekler, dosya yoksa oluşturur. Tek > yazarsanız dosyanın eski içeriği silinir. Metinde $HOME gibi bir değişken varsa shell onu açar; olduğu gibi yazılsın isterseniz başlangıcı <<'EOF' yapın.

Root’a ait bir dosyaya yazarken sudo cat işe yaramaz, çünkü yönlendirmeyi normal kullanıcınızın shell’i yapar. Bu durumda tee -a kullanın.

sudo tee -a /etc/ornek.conf > /dev/null <<'EOF'
satir 1
satir 2
EOF

Aşağıdaki komutla işletim sistemi detaylarını görebilirsiniz

cat /etc/release-os*

Çoğu dağıtımda dosyanın adı /etc/os-release. Yukarıdaki komut No such file or directory verirse şunu kullanın. hostnamectl ise kernel sürümünü ve mimariyi de gösterir.

cat /etc/os-release
hostnamectl

IP route ve IP rule komutları

IP Routelarını görmek için aşağıdaki komutu kullan

ip route
10.0.0.0/24 dev vmbr3 proto kernel scope link src 10.0.0.0 

Bu satırı soldan okuyun. 10.0.0.0/24 hedef ağ, dev vmbr3 trafiğin çıktığı arayüz. proto kernel route’u kernel’ın eklediğini söyler, arayüze IP verildiğinde otomatik oluşur. scope link hedefin aynı ağda olduğunu, gateway gerekmediğini gösterir. src bu ağa çıkarken kullanılan kaynak IP’dir. Çıktıda default via ile başlayan satır varsa o da varsayılan gateway’dir.

Belirli bir adrese giden paketin hangi route’u kullanacağını ip route get gösterir. Diğer ağ komutları için Linux network komutları yazısına bakabilirsiniz.

ip route get 10.0.0.5

IP route silmek için aşağıdaki komutu kullan

ip route del 10.0.0.0/24 dev vmbr3

Uzak sunucuda route silmek sizi SSH’tan düşürebilir. Bağlantınızın geçtiği route giderse oturum kapanır ve konsol erişiminiz yoksa geri dönemezsiniz. Silmeden önce ip route get ile kendi IP adresinize giden yolu kontrol edin. ip route ile yapılan değişiklik kalıcı değildir, yeniden başlatınca kaybolur. Kalıcı ayar Netplan, NetworkManager ya da /etc/network/interfaces gibi dağıtımın ağ yapılandırmasında yapılır.

IP rule larını görmek için aşağıdaki komutu kullan

ip rule
32765:  from 10.10.0.10 lookup main

IP rule, paket için hangi routing tablosuna bakılacağını seçer. Buna policy routing denir. Baştaki sayı önceliktir ve küçük olan önce denenir. Kernel üç rule ile açılır: 0 local, 32766 main, 32767 default. Örnekteki 32765 numaralı rule, kaynağı 10.10.0.10 olan paketleri main tablosuna gönderir.

IP rule’unu silmek için aşağıdaki komutu kullan

ip rule delete from 10.10.0.10

Bu komut eşleşen ilk rule’u siler. Route’larda olduğu gibi burada da değişiklik yeniden başlatınca kaybolur.

İçeriğe göre dosya bulup silmek

Belirli bir dizindeki dosyaların içerisinde string’e bakarak dosyayı silen komut.

rm -f find . | xargs grep -li [email protected]

Yukarıdaki komutu bu hâliyle çalıştırmayın, beklenen işi yapmaz. rm -f find . bulunduğunuz dizindeki find adlı dosyayı siler, . için de hata verir; grep ise dosya listesi almaz. Güvenli yol önce listelemek, listeyi okumak, sonra silmektir.

grep -rliF '[email protected]' .

Listede yalnız silmek istediğiniz dosyalar varsa ikinci komutu çalıştırın.

grep -rliFZ '[email protected]' . | xargs -0 rm -f

-r alt dizinlere iner, -l yalnız dosya adını yazar, -i büyük küçük harf ayrımını kaldırır. -F deseni düz metin sayar, böylece noktayı her karakterle eşleştirmez. -Z dosya adlarını null karakterle ayırır, xargs -0 de onu ayırıcı olarak okur. Böylece boşluklu dosya adları bozulmaz.

rm geri alınamaz. Önemli bir dizinde çalışıyorsanız önce yedek alın ve ilk komutun çıktısını kontrol edin.

History çıktısına tarih ve saat eklemek

History’e tarih eklemek için aşağıdaki komut kullanılabilir.

export HISTTIMEFORMAT="%F %T "

Bu yazı ara ara güncellenecektir…

%F tarihi yıl-ay-gün biçiminde, %T saati yazar. Sondaki boşluk saatle komutu ayırır. Değişken yalnız açık oturumda geçerli, kalıcı olması için ~/.bashrc dosyasına ekleyin.

echo 'export HISTTIMEFORMAT="%F %T "' >> ~/.bashrc
source ~/.bashrc
history 5

Bu ayardan önce yazdığınız komutların gerçek saati kayıtlı olmaz. Ayar Bash’e özgü, zsh bu değişkeni okumaz.

Bu konuda devam et

Tümünü gör

Yeni yazılardan haberdar olun

Sunucu, Kubernetes, DevOps ve güvenlik üzerine yeni yazılar ve site duyuruları e-postanıza gelsin. Reklam yok, adresiniz kimseyle paylaşılmaz.

© 2021–2026 Sezer Şanlıkan