Bilişim Belgeleri
Linux ve Unix'lerde Kullanılan Komutlar
© Yazan: Mengü Yazıcıoğlu
© : Devinim Yazılım Eğitim Danışmanlık ve E-Kitap.orgHer hakkı saklıdır.
Önemli GNU/Linux ve UNIX Komutları
İster yeni başlayan bir GNU/Linux kullanıcısı olun isterseniz de Sistem Yöneticisi olmayı amaçlayan bir GNU/Linux kullanıcısı günün birinde mutlaka bir komutu komut satırından çalıştırmak isteyeceksinizdir. Bu komutların sağladığı kolaylık, esneklik ve hızı gördükçe de komut satırında çalışmaktan vazgeçemeyeceksiniz.
Bu bölümde GNU/Linux sistemlerde kullanılan temel birçok komut anlatılacaktır. Bunların çoğu verdiğimiz eğitimlerde dağıttığımız eğitim belgelerinden oluşmaktadır.
ls ile dosya, dizin listeleme
ls komutu bulunduğunuz dizindeki dosya ve dizinleri göstermeye yarar.
Birçok seçenekle birlikte kullanılabilir. Eğer herhangi bir seçenek verilmeden kullanılırsa bulunulan yerdeki dosya ve dizin adları listelenir ama gizli dosya ve dizinler gösterilmez. Aşağıda bazı seçenekleri görebilirsiniz.
-l --> Dosya ve dizinlerin ayrıntılarını gösterir (haklar, sahip, grup, tarih, saat gibi)
-a --> Gizli dosya ve dizinleri de gösterir.
-r --> Sıralamayı tersten yaptırır. Eğer başka bir seçenekle kullanılmamışsa harf sırasına göre.
-t --> Zamana göre sıralar. En yeni dosya en tepede bulunur.
-u --> Son erişime göre sıralar
-R --> Alt dizinleri ve içeriklerini de gösterir
--color=auto --> Bu seçenekle dizin, dosya vb. tüm listelenen yapılar farklı renklerde gösterilir.
cd ile dizin değiştirme
cd komutu dizinler arasında dolaşmaya yarar. "/" kökten itibaren gidilmesi istenen yer belirtilebileceği gibi bulunulan konuma göre de özel ifadeler kullanılabilir
cd .. --> Bulunulan dizinden bir önceki dizine gitmeye yarar. Örneğin /home/mengu dizininde iken bu komut verilirse /home dizinine gidilir.
cd ../.. --> Bulunulan dizinden bir önceki dizine ve oradan da bir önceki dizine gitmeye yarar. Örneğin /home/mengu dizininde iken bu komut verilirse / kökdizinine gidilir.
cd ~ --> Her nerede olursanız olun kullanıcının ev dizinine (home directory) gidilir.
cd ~savas --> savas adlı kullanıcının ev dizinine gidilir.
cd --> Her nerede olursanız olun kullanıcının ev dizinine (home directory) gidilir.
cd - --> Son cd komutundan önceki dizine gidilir.
cd komutu ile bir alt dizine gidip oradan başka bir dizine de gidilebilir. /home/mengu/Desktop altındayken /home/savas/yedekler dizinine gitmek için
cd /
cd /home/savas/yedekler yazılabileceği gibi
cd ../../savas/yedekler de yazılabilir
Çok daha kolay biçimiyle
cd ~savas/yedekler yazmak da yeterlidir.
cp ile kopyalama işlemleri
cp ile dosyaları, dizinleri kopyalayabiliriz. GNU/Linux'larda aksi belirtilmediği sürece bir dosya ya da dizinin aynısı kopyalanacaksa üzerine yazar. Bu yüzden dikkatli kullanmak gerekir.
Temel kullanımı
cp <kaynak> <hedef>
şeklindedir.
-i --> Eğer benzer bir dizin ya da dosya kopyalanıyorsa uyarması sağlanır
-r --> Alt dizinleriyle birlikte dizinleri ve dosyaları kopyalar
-R --> Alt dizinleriyle birlikte dizinleri ve dosyaları kopyalar
rm ile silme işlemleri
rm komutu ile dosyalar ve dizinler silinebilir. Varsayılan değeri sormadan silmek şeklindedir.
-i --> Silme işlemi onaylatılır
-f --> Onaylatma sorulmadan siler
-r,-R --> Dizin, altdizin ve içerisindeki dosyaları da siler.
rmdir ile dizin silme işlemleri
rmdir yalnızca dizin silme amaçlı kullanılır.
mkdir ile dizin yaratma işlemleri
mkdir komutu dizin yaratmak amaçlı kullanılır.
mkdir <dizin_adı>
cat, more, less ile dosya görüntüleme
Bir dosyanın içeriğini görüntülemek için cat, more ya da less komutu verilebilir.
Örnek: less deneme.txt
cat komutu eğer dosya uzunsa baştan sona ekran basar ve çıkar. less ve more ise sayfa sayfa gösterir.
less ile bir dosyayı açarken tüm dosya içeriğini belleğe almadığı için özellikle büyük dosyaları açmak için daha elverişlidir.
mv ile dosya taşıma
mv komutu ile bir dosyayı bir yerden başka bir yere taşıyabilirsiniz.
-i --> Taşıma öncesi onaylatmaya yarar
-f --> Onaylatmaksızın taşımaya yarar
cut komutu ile bir dosyadan parça almak
cut komutu ile bir dosyanın ya da bir girdinin içeriğinden istenen parçalar alınabilir. Kullanılabilecek seçenekler
-b --> byte cinsinden içerik alma
-c --> karakter cinsinden içerik alma
-d --> Belirtilen ayraç (delimeter) dikkate alınır
-f --> Belirtilen ayraca göre hangi alanların alınacağı hesaplanır
İeriği şöyle olan bir dosyamızda cut komutunu kullanalım:
[mengu@starfish ~]$ more deneme.txt
Mengu:Yazicioglu:4468668
Aykut:Uzun:2850000
Ayse:Teyze:3412344
[mengu@starfish ~]$ cut -c 3-5 deneme.txt
ngu
kut
se:
[mengu@starfish ~]$ cut -d: -f1,3 deneme.txt
Mengu:4468668
Aykut:2850000
Ayse:3412344
İlk komutta -c ile 3 ile 5. karakterler arası alınırken, 2.
komutta -d seçeneği ile dosya : ayracı ile sütunlara
ayrılıp -f1,3 diyerek de bu ayrılmış alanlardan 1. ve 3.
sıradakiler alındı.
tail, head komutları ile bir dosyanın içeriği
Tail, kuyruk; head ise baş demektir. Bu komutlar bir dosyanın alt satırlarını ya da baş kısımlarını göstermeye yararlar. Eğer herhangi bir seçenek verilmezse varsayılan değeri 10'dur ve 10 satır gösterirler.
Eğer - seçeneği ile kullanılırsa -'den sonra gelen sayı kadarki satırı gösterirler.
[mengu@starfish ~]$ head -1 deneme.txt
Mengu:Yaziciıoglu:4468668
[mengu@starfish ~]$ tail -2 deneme.txt
Aykut:Uzun:2850000
Ayse:Teyze:3412344
head -1 ile bu dosyanın 1. satırı
tail -2 diyerek de bu dosyadaki en son 2 satır gösterilmiş oldu.
Bu seçenekler -n 1 şeklinde de kullanılabilmektedir.
tail -f dosya_adı tarzı bir kullanımla dosya_adı adlı dosyanın son satırları sürekli olarak ekrana bastırılabilmektedir. Bir log mekanizması, alınan bir yedeğin durumu böylece kolayca izlenebilmektedir.
sort ile sıralama
sort komutu ile bir dosyanın ya da farklı bir komuttan gelen bir girdinin içeriği sıralanabilir. Eğer herhangi bir seçenek kullanılmazsa girdi karakter anlamında sıralanır.
-r --> seçeneği ile sıralama tersine çevrilir
-n --> sıralama sayısal değere göre yapılır
-u --> yinelenen satırları atarak biricikliği sağlar
Örneğimize bakarsak daha önceki deneme.txt dosyamızın değişmiş haline göre sort komutunun çıktıları aşağıdaki gibi olacaktır.
[mengu@starfish ~]$ more deneme.txt
Mengu:Yaziciıoglu:4468668
Zeynep:Teyze:5677676
Aykut:Uzun:2850000
Ayse:Teyze:3412344
Zeynep:Teyze:5677676
[mengu@starfish ~]$ sort deneme.txt
Aykut:Uzun:2850000
Ayse:Teyze:3412344
Mengu:Yaziciıoglu:4468668
Zeynep:Teyze:5677676
Zeynep:Teyze:5677676
[mengu@starfish ~]$ sort -u deneme.txt
Aykut:Uzun:2850000
Ayse:Teyze:3412344
Mengu:Yaziciıoglu:4468668
Zeynep:Teyze:5677676
touch ile dosya zamanı değiştirme
touch komutu ile bir dosyanın erişim ya da değiştirilme zamanını değiştirebilirsiniz
-a --> erişim zamanını değiştirir
-m --> dosya değiştirilme zamanını değiştirir
-t --> o an yerine belirtilen tarih ve zaman olacak şekilde değiştirilir
[mengu@starfish ~]$ ls -l deneme.txt
-rw-r--r-- 1 mengu mengu 107 2007-01-20 16:24 deneme.txt
[mengu@starfish ~]$ date
Wed Jan 20 18:35:19 EDT 2007
[mengu@starfish ~]$ touch -m deneme.txt
[mengu@starfish ~]$ ls -l deneme.txt
-rw-r--r-- 1 mengu mengu 107 2007-01-20 18:35 deneme.txt
Yukarıdaki örnekte 20 Ocak 2007 tarihinde en son değişikliğin yapıldığı deneme.txt dosyası aynı gün saat 18:35'de verilen touch -m deneme.txt komutuyla sanki o saatte en son değişiklik yapılmış hale getirildi.
Şimdi de farklı bir tarih ve saat verelim.
[mengu@starfish ~]$ touch -t 0501121200 deneme.txt
[mengu@starfish ~]$ ls -l deneme.txt
-rw-r--r-- 1 mengu mengu 107 2005-01-12 12:00 deneme.txt
Dosyamızın tarihi 12 Ocak 2005 ve saati de 12:00 oldu.
Bu komutun bir başka özelliği de dosya yaratımında kullanılmasıdır. Eğer touch dosya_adı şeklinde bir komut verirseniz ve bu adda bir dosya yoksa içeriği boş olan bir dosya yaratmış olursunuz.