"Enter"a basıp içeriğe geçin

Linux Temel Komutlar 1

Bu yazıda linux terminalinde kullanabileceğimiz temel komutlar ve işlevleri göreceğiz.

Gelişmiş kullanımlar için sonraki yazıma bakabilirsiniz.

Terminal nedir

Öncelikle terminalin ne olduğuna bakalım. Terminal ekranını açmak için uygulama çekmecesinden terminal ismindeki uygulamaya tıklıyoruz.

Açılan penceredeki siyah ekran, komutları shell’e iletmek için kullandığımız komut ekranıdır. Bundan sonra kullanacağımız tüm komutları bu ekrana yazacağız.

Komutlara başlamadan önce linux ile ilgili bilmemiz gereken bazı şeyler var. Öncelikle linuxta her şey bir dosyadır. Yani sistemdeki tüm bilgiler, kayıtlar, ayarlar ve komutlar okunabilen ve yazılabilen dosyalardan ibarettir.

İkinci olarak, tüm komutların yapısı komut-parametre-argüman şeklindedir.

İçinde boşluk bulunan bir arguman vermek gerekiyorsa iki tırnak arasına “bu bir arguman” şeklinde yazılmalıdır .

Üçüncü dikkat etmemiz gereken şey ise, çok karıştırılan dosya ve dizin kavramlarıdır. Dosya, içinde yazılar bulunan belgelerdir. Örneğin windowsta kullandığımız text yada word belgeleri birer dosyadır. Ancak linux işletim sisteminde dosya uzantısı yoktur. Bir dosyayı kullanacak olan program, onun ne dosyası olduğunu bildiği için windowstaki uzantı sistemine linuxta gerek duyulmamıştır.

İlk komutumuzla başlayalım

echo

Ekrana veya bir dosyanın içine yazı yazmaya yarar.
echo hello world   : entera bastığımızda komut çalışır ve ekrana hello world yazar. hello world echo komutunun argümanıdır.

echo komutunda birden çok satır yazdırmak isteyebiliriz. Bu durumda “” arasına yazmalıyız
echo “fwefwefwef
awdawdawd” şeklinde yazarız. entera da bassak, tırnağı kapatana kadar almaya devam eder

echo hello world > metin :aynı dizindeki metin içine hello world yazar. Yönlendirmede, o dosya yoksa oluşturur. Varsa içeriğini siler.

echo hello world > Desktop/dosya1 şeklinde yol da belirtebiliriz. // bu yol belirtme işlemi, arguman olarak dosya yada dizin alan tüm komutlarda var.

> işareti ile eklediğimizde dosyanın içeriği silinir. sonuna eklemek için >> kullanırız
echo hello world >> metin2 : sonuna ekledi

echo -e :  \n \b \c  gibi espace karakterlerin kullanımını sağlar

Önceki yazıda gördüğümüz kernel ve shell ile ilgili bilgiler edinebiliriz.

echo $BASH_VERSION : shell versiyonunu bastırır
$SHELL –version : detaylı shell versiyonu
uname : kernel ile ilgili bilgi verir. uname -a

Yardım komutları

Bazen kullanacağımız komut ile ilgili bir şeyleri unutabilir ve yardıma ihtiyaç duyabiliriz. Bunun için bazı yardım komutları vardır.

help : genel bir yardım sayfası açar
whatis : komutun ne işe yaradığını kısaca özetler whatis echo
man : o komutla ilgili parametreleri listeler.
man cat  cat komutunun parametrelerini gösterir

cd komutu

Bazı komutlar dizine göre çalışır. Örneğin bir dosya ile ilgili işlem yapacaksak, komutlarımızı o dosyanın bulunduğu dizin için çalıştırmamız gerekir. Bunun için cd komutu kullanırız
Mesela echo hello word > metin komutunda kullanılacak metin dosyasının zaten mevcut olan bir metin dosyası olmasını isteyebiliriz. Bunun için metin dosyasının dizinine gitmemiz gerekir.

cd : Dizin değiştirir. ~$ ana dizindir(home).
cd Desktop/ masaüstü dizinine geçer.
sadece cd ana dizine geçer.
cd .. : bir üst dizine çıkar.
cd – : bir önce kullandığın dizini gösterir ve geçer

pwd : çalıştığımız dizini gösterir

Dosyayı kullanmak için aslında aynı dizinde bulunmaya gerek yoktur. Yol belirterek de çoğu komutu kullanabiliriz. Mesela echo hello word > Desktop/dosya1  komutu ile Desktop klasöründeki dosya1 dosyasını argüman olarak kullandık

mevcut dizindeki bir dizin ile işlem yapılacaksa, başına / konmaz. Eğer root dizininden itibaren işlem yapacaksak koymak gerekir.
yol belirtirken, dizinin sonuna / koymak gerekebilir.

cat komutu

cat : Yazıyı terminale aktarır. cat metin ekrana metin dosyasının içeriğini bastırır.
cat metin1 metin2 iki dosyayı birden yazdırır.
cat-n metin1 : her satırın başına numara koyarak yazar (asıl dosya değişmez).

linux temel komutlar

cat > metin boş dosya oluşturur ve içeriğini girmemiz için terminalden girdi ister. ctrl+d ile kapatırız
cat metin1 > metin2 : metin1’in içeriğini metin2 ye kopyalar

linux temel komutlar

Bazen çıktılar çok büyük olabilir. Ve ok tuşlarıyla bu metin içinde gezemeyeceğimiz için bu bize sıkıntı yaratır. more veya less komutları sayesinde ok tuşları ile hareket edebiliriz.
cat metin | more veya cat deneme | less 

cat dosya1 dosya2 > dosya3 : dosya1 ve dosya2 içeriğini uçuca ekleyip dosya3’e yazar

file dosyaadi : dosyanın tipini gösterir
stat dosyaadi : dosyayla ilgili detaylı bilgi verir

more dosya : dosyanın içeriğini terminale basar (cat gibi) ama enter ile tek tek gezebiliriz (yandaki çubuk olmadığı zamanlarda işimize yarar)

ls komutu

Bir dizinin içeriğini görüntülemek, çok sık ihtiyaç duyduğumuz bir durumdur. Bunun için ls komutunu kullanırız.

ls : Dizinin içeriğini gösterir. Maviler dizin, beyazlar dosyadır.
ls -a gizli dosyaları da gösterir. -t tarihe göre sıralar. -l daha detaylı çıktı verir.
ls -a -t yada ls -at diyerek birden çok parametreyi aynı anda kullanabiliriz.

ls -lh : normalde boyut bilgisi bayt şeklindeydi ve karmaşıktı, -lh ile gb mb gibi birimlere çevirebiliriz.


ls -R : tüm alt klasörleriyle birlikte listeler.
ls /home/ > Desktop/icerik : home dizininin içeriğini icerik.txt dosyasına yazdırdık (yönlendirdik)
ls -la | more : çıktıda imleç ile hareket edebilmemizi sağlar

//gizli dosyalar . ile başlar           linux temel komutlar

Komut bağlama (pipe)

pipe sembolü | : iki komutu bağlamaya yarar.

grep

grep : aranan kelimenin satırını getirir.

cat metin | grep linux metin dosyasının içine bakar ve içinde selam kelimesinin geçtiği satırları bastırır. Yani aslında cat metin, output olarak bir metin verir ve bu output, | sayesinde grep komutunun inputu olur.

normalde grep komutunda küçük-büyük harf hassasiyeti vardır. yani Selam kelimesini getirmez. grep -i selam dersek -i parametresi bu hassasiyeti kaldırır.

touch komutu

touch : Dosya varsa adını değiştirir. Yoksa dosyayı oluşturur. touch dosya1 mevcut dizinde bir text dosyası oluşturur oluşturur

rm komutu

rm dosya1 : dosyayı siler.
rm -f dosya1 zorla siler

rm -r dizin : dizini siler

rmdir

Bu komut da dizin siler

mkdir  komutu

mkdir : dizin oluşturur. mkdir deneme2 deneme2 dizinini oluşturur.
mkdir Desktop/dizin2 : Desktop içinde dizin2 oluşturdu
-p: (–parents) Eğer yoksa, gerekli üst dizinleri de oluşturur. Eğer bu dizinler zaten varsa bir hata iletisi göstermez.
-v: (–verbose) Oluşturulan her dizini ekranda gösterir. Çoğunlukla -p ile birlikte kullanılır.

mv komutu

mv : dosyayı yada dizini taşımaya yarar
mv dosya1 Desktop/ mv klasor1/ Desktop/

ayrıca dosyanın yada dizinin ismini değiştirmeye de yarar
eğer dizin zaten varsa mv dosya1 dizin1 diyerek taşıyabiliriz. / koymaya gerek yoktur. Ama dizin1 yoksa, dosya1’in adını dizin1 olarak değiştirir

mv klasor1/ Desktop/klasor2 dersek (klasor2 yoksa) klasörün adını değiştirerek Desktop dizinine taşır. Eğer varsa klasor2’nin içine taşır.

yani dizin taşırken o adda bir dizin varsa o dizine taşır, koymazsan adını o olarak değiştirir. taşıma işleminde / koymasak da olur ama koymakta fayda var (kafa karışmasın)

aynı anda birden çok dosya da taşınabilir : mv dosya1 dosya2 dosya3 dizin1/ //hepsini dizin1’e taşıdı

cp komutu

cp : dosya kopyalar. cp dosya1 dizin1 Eğer dosyanın değişim zamanı ve yetkiler gibi bilgileri aynı kalsın istiyorsak -p parametresi eklemeliyiz.
cp -r : dizin kopyalar. cp -r dizin dizin2 eğer dizin2 varsa içine kopyalar (adı aynı kalır), eğer dizin2 yoksa, adını dizin2 olarak değiştirir ve mevcut dizine kopyalar.

Arşivleme

tar : Arşivleme komutudur. Arşiv oluşturur yada arşivden çıkarır
tar -cvf //c oluşturmaya, v bilgileri terminalde göstermeye, f de dosya adı girmeye yarar.
tar -cvf arsiv.tar dosya1 dosya1i arşivledik. tar -xvf arsiv.tar // bu sefer arşivi mevcut dizine çıkardık
tar -cvf arsiv2.tar dizin2/ //dizin olduğu için “/” geldi dizin2 yi arşive ekledik.

tar /xvf arsiv.tar dersek, direk mevcut dizine dizin2 adı ile çıkarır. Aynı anda birden çok dosya yada dizin de arşivlenebilir. eğer çıkaracağı yoldaki dizin yoksa, o dizini oluşturmaz ve hata alırız. Bu yüzden çıkaracağımız dizini önce mkdir ile oluşturmalıyız

tar -xvf arsiv2.tar -C /home/username/Desktop/cıkandizin/

Dizini arşiv çıkarken de oluşturabiliriz.
tar -xvf arsiv2.tar –one-top-level=dizin3 : dizin3 diye bir klasör oluşturur ve tüm içeriği ona çıkarır. yol da belirtebiliriz.

tar komutu ile sıkıştırma işlemi de yapabiliriz. bunun için z parametresi gelir ve uzantı tgz olur
tar -czvf arsiv.tar dizin2/

çıkarmak için aynı şeyleri yaparız.
tar /xvf arsiv.tar

-c Create: tar klasörünün yaratılacağını belirtir.
-x Extract: bir tar klasörünün açılacağını belirtir.
-t Tabel of contents: bir tar klasörünün iceriğinin listeleneceğini belirtir.
-v Verbose: bir tar klasörünün yaratılırken ya da açılırken elden geçen dosyaların isimlerini ekrana listelemek icin kullanılır.
-z : tar klasörünün sıkıştırılmış bir dosya olarak kullanılacağını belirtir.Gunzip kullanılacaktır.
-f File: yaratılacak,açılacak ya da içindekiler tablosu listelenecek tar klasörünün adının komut satırında verileceğini belirtir.

Arama komutları

find : tek tek tüm alt dizinlere bakar. Ayrıca çok fazla parametresi olduğu için, ihtiyacımıza göre filtreleme yapabiliriz. find aranacakdizin opsiyon aranacakşey
find /home/username/ -name dosya1 : home dizininde dosya1 dosyasını yada klasörünü arar.

Permission deined hatasının sebebi, o klasöre erişim iznimiz olmamasıdır.

locate : Bir veritabanında arama yapar. Daha hızlıdır ama yeni dosyaları bulabilmesi için, önce veritabanı güncellenmelidir.
locate dosya1 // silinen dosyayı bulma yada olan dosyayı bulmama ihtimali var. Kullanmadan önce veritabanı güncellenmeli
sudo updatedb : veritabanını yeniler. sudo komutuna daha sonra değineceğiz. Bazı komutlar için yetki almamızı sağladığını bilin yeter. Çıkan ekrana kullanıcı şifrenizigirin

linux temel komutlar

Örnek: Sınıfta bir öğrenci arayacağız. tüm sınıflara tek tek girip bakmak find, yoklama listesinde aramak locate olur, ancak locate ile, okula yeni gelmiş ve yoklama listesinde olmayan bir öğrenciyi bulamayız.

    Bir cevap yazın

    E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir