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
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ı.