Bazı kurulum belgelerinde çeşitli Linux komutları görüyor, ancak tam olarak ne işe yaradıklarını bilmiyor musunuz? Linux komutları konusunda uzmanlaşmak mı istiyorsunuz? Yoksa sadece meraklı bir Linux kullanıcısı mısınız? O halde bu yazıyı pür dikkat okumanızı tavsiye ediyorum. 

Uçbirim olarak da bilinen komut satırı arayüzü (CLI – Command Line Interface), genel olarak yeni başlayanlar veya ev kullanıcıları tarafından pek tercih edilmez. Öte yandan komut satırı arayüzü, grafik arayüze göre çok daha güçlü, işlevsel ve hızlıdır. Bu konunun bir Linux kullanıcısının mutlaka öğrenmesi gereken konular arasında ilk sırada yer aldığını düşünen biriyim. Bu sebeple Linux sistemlerde komut satırı arayüzü kullanımı için temel olarak bilinmesi gereken noktaları içerdiğini düşündüğüm bu yazıyı hazırladım. 

Temel Linux komutlarını öğrenmeden önce dikkat edilmesi gereken ilk konu, Linux komut yapısı olmalıdır. Böylelikle Linux komutları daha rahat anlaşılabilir.

Linux komut yapısı

Linux komutları, genel olarak aşağıdaki dizimi kullanır. 

<komut> <-seçenek(ler)> <(varsa) parametre>

Seçenekler, genel olarak tek harf olarak tanımlanmıştır. Bunlar, seçeneklerin baş harfleridir. Bu seçeneklerin uzun halleri de bulunabilir. Hatta bazı komutlarda aynı işleve sahip olan seçenek hem kısa hem de uzun haliyle bulunabilir (-s / --size gibi). 

Linux komutlarında seçenek yazılırken - (tire) işareti kullanılır. Şayet uzun biçimde yazılacaksa -- (iki tire) kullanılır. 

Örneklerle devam edelim.

<komut> --help

Bir komut hakkında bilgi almak için --help seçeneği kullanılır. Biraz daha detaya inmek gerekirse: 

ls --help komutunu yazdığınızda, ekranda ls komutunun alabileceği parametreleri listeleyen ve onları kısaca açıklayan bir çıktı göreceksiniz. Burada ls komut, --help seçenektir.

cd / komutunu yazdığınızda ise çalışma dizini / (kök) dizini olacaktır. Burada cd komut, / parametredir. 

Bütün komutlarda aynı anda seçenek ve parametre kullanmak zorunda değilsiniz. Bazı komutlar seçenek ve parametre girmeden de çalışabilir.

Komut çıktılarının insanlar tarafından (yani bu siz oluyorsunuz) daha rahat okunabilir formatta yazdırılması için -h (--human-readable) seçeneği kullanılır. 

Birbiri ardına komutlar çalıştırmak istiyorsanız, bağlı komut (&&) kullanmalısınız. Komutlardan herhangi biri çalışmadığı takdirde komut dizisi duracak ve bir sonraki komut çalışmayacaktır. 

<komut> && <komut1> && <komut2>

Örneğin Pisi paket sistemi tabanlı sisteminizi güncellemek için yazmanız gereken komutları teker teker yazmak yerine sudo pisi ur && sudo pisi up -y bağlı komut dizisini kullanabilirsiniz.

<komut> | <komut1> | <komut2>

Bir komutun çıktısını diğer bir komutun girdisi olarak kullanmak istiyorsanız ardışık komutlar kullanmalısınız. Örneğin:

<komut> | grep arama

grep komutu, bir dosyada veya bir komut çıktısında arama yapmanızı sağlar. Daha detaylı bilgi için yazının devamında bulunan grep komutunun anlatımını okuyabilirsiniz.

<komut> | more

Komut sonucunu sayfa sayfa incelemek istiyorsanız bu komutu kullanabilirsiniz.

<komut> | less

Temel işlevi more komutu ile aynı olup, ek özellikler içerir. Daha detaylı bilgi için man less komutunu girebilir, komutun kullanımını ve tüm parametrelerini öğrenebilirsiniz.

<komut> > dosya.txt

Komut çıktısını bir dosyaya yazdırmak istiyorsanız bu komut kullanılır.

<komut> >> dosya.txt

Komut çıktısını var olan bir dosyanın üzerine eklemek için ise bu komut kullanılır.

İşin temelinden detaylıca bahsettiğimize göre artık komutlara geçebiliriz.

Linux komutlarına giriş

ls – list directory

Dizin ve dosyaları listelemek için kullanılır. Listeleme sırasında, dizin ve dosyalar çeşitli renklerle ifade edilir.

ls

Mevcut dizindeki dosyalar ve dizinleri listeler.

ls -a

Gizli dizin ve dosyaları da kapsayarak listeler.

ls -l

Dizin ve dosyaları detaylı olarak listeler. ls -lh komutu ile daha okunabilir biçimde yazdırabilirsiniz.

ls <dizin-yolu>

Verilen dizini listeler.

Ayrıca dosyaları ada ve boyuta göre sıralama gibi seçenekleri vardır. Daha detaylı bilgi için man ls komutunu girebilir, komutun kullanımını ve tüm parametrelerini öğrenebilirsiniz.

cd – change directory 

Dizinler arası geçiş yapmak için kullanılır.

cd /

Kök dizine gider.

cd

Yalnızca komut yazılırsa kullanıcı ev dizinine gider.

cd ..

Bir üst dizine gider.

Komut parametresi kök dizinden, yani / işaretiyle başlarsa buna tam yol kullanımı denir.

cd /home

/home dizinine gider. /home dizini kök dizinin altında bir dizindir.

Aşağıdaki gibi bir kullanımda ise göreceli yol kullanımı denir. Yine kök dizini referans alır.

cd ../..

cp – copy

Dosya kopyalamak için kullanılır. 

cp <kaynak> <hedef>

Bir dizin ve onun içindekileri kopyalamak için -r parametresini kullanmanız gerekir.

cp -r <kaynak> <hedef>

Birden fazla dosya ve/veya dizini kopyalamak için, kaynak kısmına kopyalanacak dosya ve dizinleri sırayla yazabilirsiniz.

cp -r <kaynak> <kaynak1> <hedef>

mv – move

Dosya veya dizin taşımak için kullanılır. Bir başka işlevi ise dosya veya dizinlerin adının değiştirilmesidir.

mv <kaynak> <hedef>
mv <dizin> <yeni_dizin_adi>

İşlem sonucuyla ilgili bilgi almak için -v parametresini kullanabilirsiniz.

rm – remove

Dosya silmek için kullanılır. Normal şartlarda rm, dizin silmez. Bunun için -r (--recursive) parametresini kullanmanız gerekir. Eğer silerken soru sormasın, ne var ne yok silsin istiyorsanız -f (--force) parametresini kullanmanız gerekir. Bu iki parametrenin birlikte kullanımı ise epey tehlikelidir. Kullanırken dikkatli olmanızda fayda var.

rm  </dizin_adi/dosya_adi.uzanti>
rm -rf <dizin_adi>

mkdir – make directory

Yeni bir dizin oluşturmak için kullanılır.

mkdir <dizin_adi>

Aynı anda birden fazla dizin oluşturmak için dizin adları arasında boşluk bırakmanız yeterli.

mkdir <dizin_adi> <dizin_adi1> <dizin_adi2>

İç içe dizinler oluşturmak istiyorsanız, -p parametresini kullanabilirsiniz.

mkdir -p <dizin_adi/dizin_adi1/dizin_adi2>

İşlem sonucunu yazdırmak için -v parametresini kullanabilirsiniz.

mkdir -pv <dizin_adi/dizin_adi1/dizin_adi2>

rmdir – remove directory

Boş dizinleri silmeye yarar.

rmdir <dizin_adi>

pwd – print work directory

Bulunulan dizin yolunu kök dizinden itibaren tam yol olarak verir.

pwd

whereis

Bir dosyanın nerede veya nerelerde bulunduğunu gösterir.

whereis <komut>

grep

Dosya içinde ifade araması yapmaya yarayan bir komuttur. Çoğunlukla bir başka komutun çıktısı üzerinde arama yapmak için kullanılır. Tek başına da kullanılabilir.

grep <aranan_kelime> <dosya>

Aramanın büyük-küçük harf duyarsız olarak yapmak istiyorsanız -i parametresini kullanmalısınız.

grep -i <aranan_kelime> <dosya>

Aramayı, tek bir dosya özelinde olmadan dizin altındaki tüm dosya ve dizinlerde yapmak istiyorsanız -r parametresini kullanmalısınız.

grep -r <aranan_kelime> <dizin>

Başlangıç (^) ve bitiş ($) karakterlerini kullanarak arama yapabilirsiniz. Aşağıdaki örnekte dosya.txt içerisinde Merhaba ile başlayan yer aranmakta.

grep -ir '^Merhaba' dosya.txt

Başlangıçta da bahsettiğimiz gibi komut, çoğunlukla ardışık komutların çıktısında arama yapmak için kullanılır.

ls -lah | grep '^d' 

find

Adı üstünde, aradığınız şeyi bulmanıza yarayan komuttur. Hiyerarşik olarak dosya ve dizinleri tarayarak aradığınız dosya veya dizini bulmanıza yarar. Kullanımı aşağıdaki gibidir:

find <aranacak_yer> -name <aranan>

Aramayı büyük-küçük harf duyarsız olarak yapmak istiyorsanız -iname parametresini kullanmalısınız.

find <aranacak_yer> -iname <aranan>

Aranacak dosya veya dizinin tam adını bilmiyorsanız yıldız (*) karakterini kullanabilirsiniz. Yıldız (*) karakteri, tüm ifadeleri içine alan bir karakterdir. Basitleştirmek gerekirse, “farketmez” anlamına gelir.

find <aranacak_yer> -name <ara*>

Aynı şekilde belirli bir uzantıya sahip dosyaları bulmak istiyorsanız yıldız (*) karakterinin ardından istediğiniz uzantıyı girmelisiniz. Örneğin .txt uzantılı dosyaları bulmak için şöyle yazmalısınız:

find <aranacak_yer> -name <*.txt>

Aramada bulunan dosya veya dizinleri ayırarak listelemek için -type parametresi kullanılır.

Parametre olarak d yazarsanız yalnızca dizinleri, f yazarsanız yalnızca dosyaları listeler.

find -type d <aranan>

Arama yaparken boyut filtresi oluşturmak için -size parametresi kullanılır. Artı (+) ifadesi büyüktür, eksi (-) ifadesi küçüktür anlamına gelir. k ifadesi kilobayt, M ifadesi megabayt, G ifadesi gigabayt anlamında kullanılır. Aşağıdaki örnekte çıkan sonuçtan yalnızca 10 kilobayttan büyük dosyaları listele diyoruz.

find <aranacak_yer> -name <aranan> -size +10k

Boş dosya veya dizinleri bulmak için -empty parametresini kullanabilirsiniz.

find <aranacak_yer> -name <aranan> -empty

Belirli haklara sahip dosya veya dizinleri bulmak için -perm parametresini kullanabilirsiniz.

find <aranacak_yer> -name <aranan> -perm 777

Arama sonucunda bulunan dosya ve dizinleri değerlendirmek için bir komut çalıştırmak istiyorsanız -exec parametresini kullanmalısınız.

find <aranacak_yer> -name <aranan> -exec <komut>

Örneğin arama sonucunda bulduğunuz dosya ve/ya dizinleri silmek istiyorsanız aşağıdaki komutu kullanabilirsiniz.

find <aranacak_yer> -name <aranan> -exec rm -rf {} \;

Aranacak dizin derinliğini, yani ne kadar alt dizine girileceğini belirtmek için -maxdepth parametresi kullanılır.

find <aranacak_yer> -name <aranan> -maxdepth X

Örnek olarak, /etc dizininde aranan .conf uzantılı tüm dosyaların yalnızca belirttiğiniz dizinde aranması ve o dizinin alt dizinlerinde arama yapılmaması için aşağıdaki komutu kullanabilirsiniz.

find /etc *.conf -maxdepth 1

find komutunu ihtiyacınıza göre farklı parametreler ile birlikte kullanabilir, aramalarınızı kolaylaştırabilirsiniz. Daha detaylı bilgi için man find komutunu kullanabilirsiniz.

cat – concatenate files

Dosyanın içeriğini okumak için kullanılır. Kullanım:

cat <dosya>
cat -n <dosya>

-n seçeneği ile çıktıya satır numaraları ekleyebilirsiniz.

touch

Dosya oluşturmak için kullanılır. Komut parametresine var olan bir dosya verilirse dosyanın tarih-saat bilgisini sıfırlar, içeriğini aynen korur.

touch dosyaadi.uzanti

echo

Komut satırı arayüzüne değer ve/veya değişken yazdırmak için kullanılır.

echo “Pisi GNU/Linux”

Ekrana Pisi GNU/Linux yazdırır.

whoami

Mevcut kullanıcının bilgisini verir.

whoami

whatis

Komutlarla ilgili kısa bilgi almak için kullanılır. 

whatis <komut>

man

Komutlarla ilgili detaylı bilgi almak için kullanılır. Man dosyaları hakkında daha fazla bilgi için buraya bakabilirsiniz.

man <komut>

clear

En sık kullanılan komutlardandır. Komut satırı arayüzünü temizlemeye yarar.

Bu yazının son komutu olan clear komutunu da öğrendiğinize göre artık komut satırı arayüzünde temiz bir sayfa açabilir, öğrendiklerinizi uygulayarak Linux komut satırı arayüzünü keşfe çıkabilirsiniz.

Bu yazının özgün halleri Pardus Topluluk Portalı gonullu.pardus.org.tr için yazılan burada ve burada bulunan yazılardır.

Mehmet SÜTCÜ – prdsmehmetstc

Mehmet SÜTCÜ

Pisi Linux Tasarım Ekip Lideri, Özgür Yazılımcı, Teknik Yazar, Maker, Elektronikçi ve Eğitmen. Küçüklükten zehri almış sıkı bir Linux kullanıcısı. @prdsmehmetstc kullanıcı adı ile bilinir ve tanınır. 2021 yılı itibariyle Pardus Topluluk Yöneticisi görevini üstlenmekte.

1 yorum

Git, GitHub ve GitLab - Mehmet SÜTCÜ - prdsmehmetstc · Aralık 12, 2021 8:38 am tarihinde

[…] gibi Debian tabanlı Linux dağıtımlarına Git’i kurmak için uçbirim ortamını açıp aşağıdaki komutu […]

Yorumlar kapatıldı.