Komut Satırı (Kabuk) ve Temel Komutlar -------------------------------------- Eğitmenler: ----------- Ali Burak Öncü Doruk Fişek Aydın Doyak - aydindoyak@ozguryazilim.com.tr Samed Beyribey Levent Emmungil Emre Eryılmaz [!] rm dosyam[!9] dosyam 9 dışındaki tüm dosyaları sil. !! --- son verilen komutu tekrarlar. -rwx-r--r-- --- baştaki çizgi dosya anlamındadır. d olsaydı dizin olduğu anlaşılacaktı. l olsaydı link olduğu anlaşılacaktı, linkin sonunda ait olduğu yol da görünecekti. r read yani okuyabilir, w write yani yazabilir, x ise çalıştırılabilir anlamına gelir. Birinci grup dosya sahibinin izinleridir. İkinci grup kullanıcının ait olduğu grupların izinleridir. Üçüncü grup ise diğerlerinindir. ./ --- programı çalıştırır. adduser admin --- admin kullanıcısını ekle. Alt + d --- sağdan komut siler. apropos directory --- Man dosyaları içinde (mesela örneğimizde) directory geçen dosyaları aratır. arp --- IP adresi, MAC adresi ve gateway adresini verir. sudo apt-cache search paket adı --- ilgili paketin depolarda olup olmadığını yoklama. bg --- durdurulmuş işlemi arkaplanda sürdürür. sudo blkid --- disklerin label ve uuid değerlerini verir. cal --- içinde bulunulan ayın takvimini gösterir. cat dosya adı --- dosya içeriğini baştan itibaren okur. tac dosya adı --- dosya içeriğini sondan başa doğru okur. cat /etc/passwd | grep kullanıcı-adı --- pipe ile arama. | (pipe) ile cat /etc/shadow --- hashlenmiş halde kaydedilen şifreleri görmek için (hangi şifreleme algoritası oldugunu öğrenmek için ilk 3 karakter). cat /proc/cpuinfo --- CPU bilgisi. cat /proc/meminfo --- Memory bilgisi. sudo cat /var/log/syslog | grep error --- syslog dosyasında geçen error kelimelerini bul. cd .. --- bir üst dizine gider cd - --- bir önceki dizine gider. cd ~ --- bulunulan dizinden doğrudan /home dizinine döner. chattr +i dosya-adı --- dosyalar silinemesin, dokunulmaz olsun. chattr -i dosya-adı --- dosyaların koruması kaldırılıyor. chattr +a (append) dosya-adı --- Varolan satırları korur, altına satır eklenmesine izin verir. chmod sayı dosya --- belirtilen dosyanın izinlerini değiştirmeye yarar. Her basamak kullanıcı, grup ve diğerlerini ifade eder ve 3 hanede kullanılır: a) okuma (r) 4, yazma (w) 2, çalıştırma (x) 1. chmod 777 --- her şey okunabilir, yazılabilir ve çalıştırılabilir. chmod 755 --- sahibi okur, yazar ve çalıştırılabilir. Diğerleri okuyup çalıştırabilirler ama yazamazlar. chown (sudo chown kullanıcı adı dosya/dizin adı) --- kullanıcıya dosyaya erişim izni verir. sudo chown -R kullanıcı adı dosya/dizin adı --- kullanıcıya alt dizinleriyle birlikte erişim izni verir. clear --- terminali temizler. kaynaktan paket derleme: ./configure --prefix=/usr make make install . cp --- dosyaları kopyalama. cp dosya1 dosya2 --- dosya1'i dosya2'ye kopyalar. cp -r dizin1 dizin2 --- dizin1'i dizin2'ye kopyalar. dizin2 yoksa oluşturur. CTRL + a --- satır başına gider. CTRL + c --- komutu durdurur, sona erdirir. CTRL + d --- terminalden çıkış. CTRL + e --- satır sonuna gider. CTRL + l --- Terminali temizle CTRL + n --- Bir sonraki komutu gösterir. CTRL + r --- komut geçmişinde arama yaptırır. CTRL + u --- tüm satırı siler. CTRL + w --- ya da ALT + backspace --- mevcut satırda bir kelime siler. CTRL + z --- komutu durdurur, devam etmek için fg, arka planda devam etmek için bg kullanılır. CTRL + ALT + F1 --- ana konsola düşürür. date --- mevcut saat ve tarihi gösterir. dd if=/dev/random of=/dev/sdb --- flash disk veya HDD üzerine rastgele veri yazdırarak eski verilerin temizlenmesi sağlanır. dd if=/dev/urandom of=/dev/sdb --- flash disk veya HDD üzerine rastgele veri yazdırarak eski verilerin temizlenmesi sağlanır. dd if=home/kullanıcı-adı/tails-i386-1.1.iso of=/dev/sdb --- CD/DVD'yi flash diske yaz. dd if=/dev/zero of=/home/kullanıcı-adı/disk bs=1M count=2048 --- kullanıcı dizinine disk adlı 2048 MB'lik bir dosya yapar. sudo mkfs.ext4 /home/kullanıcı-adı/disk disk adlı dosyayı ext4 formatlı dosyaya dönüştürür. mkdir /home/kullanıcı-adı/bagla --- disk adlı ext4 dosyayı bağlamak için bagla isimli bir dizin oluşturur. sudo mount /home/kullanıcı-adı/disk /home/kullanıcı-adı/bagla --- disk adlı ext4 dosya bagla isimli dizine bağlanır. df -h --- son durum görülür. dd if=/dev/zero of=/home/kullanıcı-adı/swap bs=1M count=2048 --- kullanıcı dizinine swap adlı 2048 MB'lik bir dosya yapar. sudo mkswap /home/kullanıcı-adı/swap --- swap adlı dosyayı swap dosyasına dönüştürür. sudo swapon /home/kullanıcı-adı/swap --- swap dosyasına dönüştürülen swap adlı dosyayı swap olarak bağlar. df --- disk kullanımını gösterir. df -h --- disklerin kullanım oranlarını verir. sudo diff -Nur /etc/passwd- /etc/passwd --- sistemdeki kullanıcıların user ID vb. özelliklerini verir. dig domain --- belirtilen alan adının DNS bilgilerini verir. dig -x host --- PTR kaydını gösterir. sudo dpkg -i paket adı --- paket kurulumu. dpkg -l paket adı --- versiyon bilgisi. dpkg -L paket adı --- paket hangi dizinler altında? du --- dizinin kullandığı disk alanını gösterir. sudo du -hs /etc --- /etc'nin anlaşılabilir miktarını yaz. echo $? --- kullanılan komutun düzgün çalışıp çalışmadığını gösterir. 0 çıktısı düzgün çalıştı demektir. echo "b" > /proc/sysrg-trigger --- uzaktayken bilgisayarınızı herhangi bir nedenle yeniden başlatmanız gerekirse, mesela SSH ile bağlanıp bu kod ile yeniden başlatabilirsiniz. b + PrintScreen + AltGr --- önünüzdeki bilgisayarınızı yeniden başlatabilirsiniz. echo "Merhaba." >> bir.txt ---dosya içine yaz. echo path --- path ekleme. echo $OLDPWD --- gidilen bir önceki dizini gösterir. exit --- terminalden çıkış. Farenin topunu çevirerek yukarı doğru olan kodları görebilirsin. fg --- arkaplandaki işi ön plana getirir. fg n --- n numaralı işi ön plana getirir. find --- her türlü dosyayı cok ̧ceşitli kriterlere göre arayabilirsiniz. find -type f -exec chmod 644 {} \; --- tüm dosya izinlerini 644 yap. find /usr/share/doc -name README --- söz konusu dizindeki README dosyalarını aratır. Arama yaparken joker karakterleri kullanabilirsiniz ancak bu durumda onları çift tırnak içine almanız veya ̈onlerine ters bölü (backslash) koymanız gerekir. Örnek: find /usr/share/doc -name README\* Bu durumda çıktı: /usr/share/doc/gstreamer0.10-plugins-base-apps/README.Debian /usr/share/doc/gstreamer0.10-plugins-base-apps/README.gz gibi verileri içerecektir. find ile arama yaparken büyük küçük harf ayrımı yapmak istemeyebilirsiniz: find /usr/share/doc -iname readme -iname seçeneği büyük küçük harf ayrımını ortadan kaldırır. find . -name \? -mtime -1 --- Son 24 saat içinde oluşturulmuş dosyaları arayabilirsiniz. find . -name \? -mtime +0 --- 24 saatten ̈once oluşturulmuş dosyaları arayabilirsiniz. find . -name \? -daystart -mtime +0 -mtime -3 --- Günün başlama anından itibaren oluşturulmuş dosyaları arayabilirsiniz. find /usr/bin -type f -- --- -size seçeneği dosyaları büyüklük kriterine göre aramanızı sağlar. Örneğin /usr/bin dizini içinde boyu 50 byte’tan küçük olan dosyaları bulmak isterseniz: find /usr/bin -type f -size -50c finger kullanıcı --- kullanıcı hakkında bilgi verir. free --- sistemde kullanılan RAM, tampon bellek, önbellek değerlerini verir. free -m --- sistemde kullanılan RAM, tampon bellek, önbellek değerlerini verir. fsck -a --- kontrolü yapılan dosya sisteminde var olan sorunları otomatik giderir. grep ifade dosya --- metin dosyasında geçen ifadeleri aratır. grep 'aranan ifade' -R aranan dizin --- belirtilen dizinde söz konusu ifadeyi arar. grep -r ifade dir --- belirtilen dosyalarda ifadeyi özyineli aratır. grep -i --- küçük büyük harf ayrımı yapmadan işlem yapar. grep -R --- alt dizinleriyle birlikte bütün dosyaları listeler. komut | grep ifade --- komutun çıktısında ifadeyi aratır. groups kullanıcı adı --- kullanıcının dahil olduğu grupları gör. gzip dosya --- dosyayı sıkıştırır ve uzantısını gz yapar. gzip -d dosya.gz --- sıkıştırılmış dosyayı açar. head dosya --- dosyanın ilk 10 satırını gösterir. tail dosya --- dosyanın son 10 satırını gösterir. tail -f dosya --- dosyanın son 10 satırını anlık gösterir. history -c --- komut geçmişini temizler. host IP adresi --- IP adresinin sahibini verir. whois IP adresi --- IP adresinin sahibi olan siteyi verir. whois site-adı --- site sahibiyle ilgili bilgi verir. hostname ya da hostname -f --- makine adını verir. htop --- süreçleri gösteren ayrıntılı top uygulamasını başlatır. ifconfig -a --- bilgisayarın IP adresini verir. ip a --- PI adresini görüntüler. ip route --- yönlendirme tablosunu çalıştırır. killall uygulama-adı --- süreci öldürür. kill pid --- belirtilen süreci sonlandırır. pkill -f uygulama-adı --- süreci öldürür. ln -s --- kısayol yap. ln -s dosya bağ --- belirtilen dosyaya sembolik bağ oluşturur. locale --- sistemde kullanılan dilleri listeler. locate dosya --- belirtilen dosyayı aratır. lost + found --- (kayıp eşya bürosu) Kazara diskin üzerindeki dosyalardan biri tabloda (FAT: File Allocation Table -FAT ismi oradan geliyor- disk yerleşim tablosu) tanınmıyorsa, alınıp lost + found'a yerleştiriliyor. Her diskin başında böyle bir tablo bulunur. FSCK (File System Check); dosya sistemini kontrol eder. lost + found'daki dosyalara yer bulabileceği gibi, lost + found'a yeni dosyalar da ekleyebilir. FSCK, Windows'ta başlangıçtaki disk kurtarmayla aynıdır. ls --- dosyaları listeler. ls -al --- a gizli olanları, l ise uzun ve ayrıntılı görüntülüyor. ls bir --- bir adlı klasörün içini görüntüler. ls -d /etc/g* --- /etc i ̧cinde yer alan ve ismi g ile ba ̧slayan t ̈ um nesneleri listeler. ls -dl --- bulunduğumuz klasöre bakar. ls -i --- inode'ları gösterir. ls -l /dev/disk/by-uuid --- blkid gibi disklerin label ve uuid değerlerini verir. ls -l dizin adı --- dizinin tam bir listesini verir. ls -l dosya adı --- Dosyaların boyutunu verir, gizli dosyaları vermez. ls -R --- Alt alta dizinlerin içeriğine bakar. man komut --- belirtilen komutun kullanım klavuzu. mkdir dizin-adı --- belirtilen isimde dizin yapar. mkdir -p klasör/klasör --- içiçe klasör oluşturma. sudo mkdir -p /home/kullanıcı-adı && echo "Başarılı" more dosya --- dosyanın çıktısını sayfalayarak gösterir. mount --- nereye ne bağlı? sudo mount -o remount,ro /boot --- /boot'u yeniden bağla ama yalnızca okunur olarak bağla. mv --- dosyaları taşıma. mv dosya1 dosya2 --- dosya1'in adını dosya2 yapar. netstat -a --- TCP, UDP dahil tüm bağlantıları listeler netstat -t --- TCP'yi listeler. netstat -u --- UDP'yi listeler. netstat -l --- dinlenen portları listeler. netstat -n --- Herhangi bir alan adının çözümlenmesini engeller. netstat -p --- portları ekrana yazdırır. netstat -i --- bilgisayar üzerindeki interfaceleri listeler. netstat -s --- istatistikleri listeler. netstat -c --- netstat'ın her saniye güncellenmesini sağlar. passwd -h --- passwd komutunun seçeneklerini verir. ping getgnu.org --- hedefe ping atar ve sonuçlarını gösterir. pluma etc/group --- gruplara ve hangi gruba üye olduğuna bak. ps aux | grep program adı --- programın bilgisexitayarda kurulu olup olmadığını sorgulama. ps --- çalışan süreçleri gösterir. ps fx --- çalışan süreçleri alt süreçleriyle gösterir. pstree --- çalışan süreçleri ağaç olarak gösterir. ps x --- çalışan süreçleri gösterir. ps xfa --- sistemde çalışan tüm süreçleri gösterir. ps xfau --- sistemde çalışan tüm süreçleri kullanıcısıyla birlikte gösterir. pwd --- mevcut dizini gösterir. rm dosya-adı --- dosyaları siler. rm -r dizin --- belirtilen dizini siler. rm -i --- dosyaları silmeden önce onay ister. rmdir --- dizinleri silmek için kullanılır. rm -rf --- belirtilen dizini silmeye zorlar. rpm qa --- sistemdeki paketleri listeler. rpm -qa | grep paket adı --- paketin yüklü olup olmadığını bildirir. rpm -i paket adı --- paket kurulumu. rpm -ivh paket adı --- paket kurulumu. rpm -i h paket adı --- paket kurulumu. sudo service network-manager start --- network servisini başlatır. sudo service network-manager stop --- network servisini durdurur. shift + insert --- kopyalanmışı terminale yapıştırır. Soru işareti ’?’ herhangi bir tek karakterle eşleşir. dosyam? belirtimi dosyam ile başlayıp bir tane daha karakter içeren nesnelerle eşleşir. nslookup yahoo.com --- yahoo.com'un IP adresini bul. ssh kullanici@sunucu --- belirtilen makineye bağlanır. ssh port-numarası kullanici@sunucu --- belirtilen sunucuya belirtilen porttan bağlanır. ssh-copy-id kullanici@sunucu --- parolasız giriş için ssh anahtarını belirtilen sunucuya kopyalar. su kullanıcı-adı --- terminalde kullanıcı değiştirme. sudo nano /etc/shadow --- şifrelerin tutulduğu dosyayı aç. sudo -s --- root yapar sudo pluma /etc/sudoers --- sudo yetkisine sahip olanları gör, değiştir. sudo swapoff -a --- bütün takas alanlarını kapatır. tail -f dosya --- blogtaki değişiklikleri canlı olarak izleme olanağı verir. tar cf sıkıştırılacak-dosyanın-adı.tar sıkıştırılacak dosya --- dosyayı tar olarak sıkıştırır. tar cf dosya.tar.gz dosya --- sıkıştırılmış tar arşivi oluşturur (gzip). tar cf dosya.tar.bz2 dosya --- sıkıştırılmış tar arşivi oluşturur (bzip2). tar cfz sıkıştırılacak-dosyanın-adı.tar.gz sıkıştırılacak dosya --- dosya tar.gz olarak sıkıştırır. tar cfj sıkıştırılacak-dosyanın-adı.tar.bz2 sıkıştırılacak dosya --- dosya tar.bz2 olarak sıkıştırır. tar xf dosya.tar --- dosya.tar içinden dosyaları açar. tar xf dosya.tar.gz --- sıkıştırılmış arşivi açar. tar xf dosya.tar.bz2 --- sıkıştırılmış arşivi açar. file oluşturulan.tar.gz --- tar.gz dosyası hakkında bilgi verir. top --- işlemciyi (CPU) kullanan işlemleri, tüm süreçleri gösterir. touch bir.txt --- bir txt adlı dosyayı oluşturur. uname -a --- sistem bilgisi (çekirdek sürümü, çekirdeğin derlendiği tarih, sistem mimarisi). uptime --- makinenin ne kadar zamandır açık olduğunu gösterir. userdel kullanıcı-adı --- kullanıcıyı siler. usermod -aG wheel admin --- admin kullanıcısını wheel grubuna gönder. vi .bashrc --- Debian, Ubuntu için bashrc açılımı. vi /etc/bash.bashrc --- Linux Mint için bashrc açılımı. w --- sistemle ilgili özet bilgiler verir. wget file --- dosya indirir. wget -c file --- durdurulmuş indirmeye devam eder. whereis program adı --- bir programla ilgili daha ̧cok bilgiye erişmek istiyorsanız. which program adı --- ilgili programın yolunu söyler. which -a program adı --- ilgili programın yolunu tüm dizinlerde gösterir. whoami --- giriş yapan kullanıcıyı gösterir. whois domain --- belirtilen alan adının kayıt bilgilerini gösterir. yum install paket --- belirtilen paketi kurar. yum remove paket --- belirtilen paketi kaldırır.