Temel Linux Komutları
- pwd : Bulunulan dizini verir.
- whoami : Mevcut oturum kullanıcısını verir.
- who : Oturumu açan kullanıcıları verir.
- pinky : Oturumu açan kullanıcıları verir.
- last : Oturumu açan son kullanıcıya ait bilgileri verir.
- lastlog : Tüm kullanıcıların (/etc/passwd altındakilerin) en son oturum açtığı zamanı listeler.
- ifconfig : IP bilgisini verir.
- service <ServisAdi> <Operasyon>: Servis başlatır/durdurur/durumunu belirtir.
Not: Aynı işlem /etc/init.d dizini altındaki dosyalarla da gerçekleştirilir.
- uname -a : İşletim sistemi hakkında bilgi verir.
Not: İşletim sistemi hakkındaki ayrıntılı bilgi /proc/version dosyasından elde edilebilir.
- cd <Dizin>: İstenilen dizine gidilir.
- which <Komut>: Komutun bulunduğu dizinini verir.
Not: "man" komutu ile bir komut hakkında ayrıntılı kullanım bilgileri verilir.
- ls : Mevcut dizindeki dosyaları listeler.
- ls <Dizin> : Belirtilen dizindeki dosyaları listeler.
- namei <Dizin> : Belirtilen dizindeki dosyaları üst dizinleri dahil olmak üzere listeler.
- echo <İfade> : Ekrana (Output Device) belirtilen ifadeyi yazdırır.
- `Komut` : Komut kabuk tarafından çalıştırılır.
- basename <Dizin>: Dizinde belirtilen son klasörün adı belirtilir.
- dirname <Dizin>: Dizinde belirtilen klasörün bulunduğu üst dizin belirtilir.
- mkdir <Klasor>: Yeni bir dizin (klasör) oluşturur.
- rmdir <Klasor>: Mevcut dizin (klasör) silinir.
- touch <Dosya>: Yeni dosya oluşturur.
- touch <Dosya> --date <Tarih>: Belirli tarihte oluşturulmuş gibi bir dosya oluşturur.
- cat <Dosya>: Belirtilen dosyanın içeriği okunur.
- more <Dosya>: Belirtilen dosyanın içeriği okunur.
- strings <Dosya>: Dosyadaki okunabilir karakterleri yazdırır.
- <İfade> < <Dosya>: Sağ taraftaki veriyi sol taraftaki komuta girdi olarak sunar.
- <İfade> > <Dosya> : Sol tarafındaki ifadenin ürettiği çıktıyı sağ tarafındaki dosyaya yönlendirir veya sol tarafındaki veriyi sağ tarafındaki komuta girdi olarak sunar.
- <İfade/Dosya> >> <Dosya> : Belirtilen dosyaya ilgili ifade/dosya eklenir.
- vi <Dosya> : Belirtilen dosya vi editörü ile açılır.
- file <Dosya> : Belirtilen dosyanın türü hakkında bilgi verir.
- grep <İfade> : Belirtilen dosyada istenilen ifadeyi arar.
Not: "-E" parametresi ile düzenli ifadeler, -A3 ifadesi ile sonraki 3 satır, -B2 parametresi ile önceki ilk 2 satır, -v parametresi ile diğer satırlar,... ekrana yazdırılır.
Not: Düzenli ifadelerde "*" ne olursa olsun, "$" sonu bu şekilde olsun, "^" başı bu şekilde olsun, "[a-z]" belirtilen karakterler arasında olsun, "{1,3}" 1/2 veya 3 tane olsun, "+" 1 veya sonsuz olsun, "?" 0 veya 1 olsun ... demektir.
- <Komut1> | <Komut2> : Komut1'in çıktısını Komut2'ye yönlendirir
- <Komut> 1> /dev/null : Standart çıktıyı /dev/null'a (kara deliğe) gönderir. Özellikle stderr’e yapılan yönlendirmelerin ekrana bastırılmaması için kullanılır.
- <Komut> 2> /dev/null : Standart hatayı /dev/null'a (kara deliğe) gönderir.
Not: En çok kullanılan dosya oluşturma teknikleri aşağıda sıralanmıştır:
- df : Dosya sistemi raporlanır.
- du -sh <Dosya> : Dosya boyutunu verir.
- rm <Dosya> : Belirtilen dosyayı siler. "-f" parametresi ile dosya zorla (force) silinir, "-r" parametresi ile altdizinlerle birlikte (recursive) silme işlemi gerçekleştirilir, "-i" parametresi ile kullanıcıya silme işlemi onayı alınarak (interactive) işlem tamamlanır.
- chmod <İzinler> <Dosya> : İstenilen izin (read/write/execute) verilir. Bir klasörün içerisine girilmesi için R ve X hakları bulunmalıdır.
- chown <Kullanici> <Dosya> : Dosya sahipliği değiştirilir.
- find <Dizin> -name <İfade> : Belirtilen dizinde istenilen isimdeki dosyayı arar.
- find <Dizin> -user <KullaniciAdi>: Belirtilen dizinde istenilen kullanıcı tarafından oluşturulan dosyayı arar. "mtime" parametresi ise dosyada değişiklik tarihi üzerinde filtre yapmak için kullanılır. "0" ve "-1" değerinde son 24 saat, "1" değerinde son 24 saat ve son 48 saat arasında, "+1" değerinde ise 48 saatten daha fazla süre önce değiştirilen dosyaları tespit etmek için kullanılır.
Not: Arama yapılması istenen izinler için "perm", dosya türleri için "type", dosya boyutu için "size", belli bir dosyadan daha sonra oluşturulmuş dosyalar için "newer" parametreleri kullanılır.
- cp <Dosya> <KopyaDosya> : Dosya kopyalanır.
- mv <Dosya> <KopyalanacakDizin> : Dosya taşınır.
- wc -c/-w/-l <Dosya> : Belirtilen dosyadaki harf, kelime, satır vs sayısını verir.
- awk '{print $KolonId}' : Belirtilen kolonları listeler.
- cut -d "Ayirac" -f<ElemanId>: Belirtilen ayıraca göre elemanları listeler.
- head -<SatirAdedi> : Belirtilen dosyadaki ilk N tane satır sayısını verir.
- tail -<SatirAdedi> : Belirtilen dosyadaki son N tane satır sayısını verir.
- tr <İlkİfade> <İkinciİfade> : Belirtilen karakterler değiştirilir.
- sort <Dosya> : Sıralamayı gerçekleştirir. "-nr" parametresi ile tersten (numeric reverse) sıralanır.
- uniq <Dosya> : Farklı ifadeler listelenir. "-c" parametresi ile tekrar adetleri de listelenir.
- diff <Dosya1> <Dosya2> : İki dosya arasındaki farkı belirtir.
- tar -czvf <SıkışmışDosya> <Dosya> : Sıkıştırılmış dosya oluşturulur.
- $RANDOM: Rastgele sayı üretir:
- :? : Yapılan son işlemin sayısal sonucunu verir. "0" ise işlem başarılı olarak gerçekleştirilmiştir. Aksi sonuçta işlem gerçekleştirilirken hata alınmıştır.
- ; : Komutları sıralı bir şekilde son komuta kadar çalıştırır.
- && : Komutları sıralı bir şekilde hata oluşturan komuta kadar (":?" sonucu 0 olmadıkça) çalıştırır.
Not: Konfigürasyon işlemleri için sık sık "./connfigure && make" komutları kullanılır. Böyle konfigürasyonda bir hata olması durumunda işlem sonlandırılır.
- ps -ef : Çalışan prosesleri listeler.
- & : Bir prosesi arka planda çalıştırmaya yarar. Arka planda çalışabilen bu proseslere Deamon denir. fg komutu ile bir proses öne, bg komutu ile arkaya alınabilir.
- nohup : Komut satırı kapansa da uygulamanın çalışmasına devam etmesi için kullanılır.
- jobs -l : Çalışan görevleri listeler.
- kill -9 <Proses> : Belirtilen prosesi (zorla) öldürür.
- id : Bağlı olunan kullanıcı belirtilir.
- adduser <KullaniciAdi> : Kullanıcı oluşturulur.
- groups <KullaniciAdi>: Kullanıcının grubunu listeler.
- su - <KullaniciAdi>: Belirtilen kullanıcıya geçiş yapılır. "-" konulursa çevresel değişkenler de hedef kullanıcının çevresel değişkenleri de alınır. "-" konulmazsa sadece haklar aktarılır.
- su -s <Kabuk> -c <Komut> <KullaniciAdi>: Oturum açma yetkisi olmayan belli bir kullanıcı gibi istenilen komut çalıştırılır. Aşağıdaki ekran görüntüsünde, "sshd" servis kullanıcısının home dizinine, sshd kullanıcısı gibi bir dosya oluşturulmuştur.
Not: root haklarına sahip kullanıcıda "#", normal bir kullanıcıda ise "$" ile imleç başlamaktadır.
- dpkg -l : Kurulu paketleri listeler.
- apt-cache search <PaketAdi> : Yüklenmek istenen paket aranır.
- apt-get install <PaketAdi>: Paket yüklenir.
- md5sum <Veri>: Veri özeti alınır.
- fdisk : Disk bölümleme işlemleri gerçekleştirilir.
- host <URL>: URL'in IP adresini verir.
- host -l <DomainAdresi> <DNSSunucusu>: DNS üzerinden alan transferi (zone tranfer) gerçekleştirir.
Not: Zone transfer için dnsenum ve dnsrecon araçları da kullanılabilir. Kullanımları:
dnsenum <DomainAdı>
dnsrecon -d <DomainAdı> -t axfr
- wget <URL>: URL'deki sayfa indirilir ve kaydedilir (Aşağıdaki örnek için "index.html" olarak kaydedilmiştir.)
- gcc -o <DerlenmisUygulama> <DerlenecekKod>: Bir kodu derleyerek binary formata çevirir.
ÖRNEKLER
- 3. satırdaki kullanıcının bilgilerinin harf sayısı:
- En çok çalıştırılan 10 komut:
DİZİN YAPISI
- / : En üst dizin
- /bin : Açılış sırasında kullanılan programlar
- /boot : Sistem yükleyicisinin kullandığı dosyalar
- /dev : Cihaz dosyaları
- /etc : Uygulamaların ve servislerin yapılandırma dosyaları
- /home : Kullanıcıların dizinlerinin bulunduğu dizin
- /lib : “/bin” dizinindeki dosyaların kullandığı kütüphane dosyaları
- /mnt : Geçici bağlanan dosya sistemlerinin bulunduğu dizin
- /media : Geçici bağlanan cdrom, usb vb. bulunduğu dizin
- /opt : Ek yazılımların kurulduğu dizin yapısı
- /proc : Çerkirdek hakkında bilgiler tutan dosyaları içeren sanal bir dosya sistemi
- /root : “root” kullanıcısının ev dizini
- /sbin : Sistem yöneticisinin açılışta kullanabileceği programlar
- /tmp : Geçici dosyaların tutulduğu dizin
KRİTİK DOSYALAR
- /etc/resolv.conf : Sistem DNS sunucuları
- /etc/issue : Dağıtım sürümü
- /etc/passwd : Yerel kullanıcılar
- /etc/shadow : Kullanıcı parola özetleri
- /etc/sudoers : Sudo kuralları
- /home/xxx/.bash_history : Kullanıcı komut tarihçesi
- /home/*/.ssh/id* : SSH anahtarları
- /home/*/.vnc : VNC uzaktan erişim bilgileri
- /var/log/messages : Çoğu kayıt bilgisinin bulunduğu dosya
- /var/log/maillog : Mesaj sistemiyle ilgili kayıtlar
- /var/log/lastlog : Sisteme giren ve çıkan kullanıcıların kaydı – salt metin olmadığından “last” komutuyla içeriği görülebilir.
Kaynak:
http://www.galkan.net/p/bash-scripting-ile-pratik-programlama.html
http://www.pixelbeat.org/cmdline.html
http://www.hackings.org/2012/07/en-sk-kullanlan-linux-konsol-komutlar.html