Bash Shell Komutları

Bash Linux Shell Bash Shell Bash Komutları Temel Bash Shell Komutları

Çoğu Linux işletim sisteminde varsayılan olarak Bash shell yüklü gelmektedir. Bash shell uygulamasında temel komutlar ile bir çok işlem yapılabilmektedir. Shell kullanımının en büyük faydası; en az sistem kaynağı tüketmesi, hızlı olması ve otomasyona izin vermesidir.

Bash logo
Resim 1. Bash logo

Bash Shell Kurulumu

Bash kurulu değil ise, kurulum adımları ve shell ayarları için tıklayınız.

Bash Shell Açma

İşletim sisteminde yüklü Bash shell açmak için;

  • Uygulamalar ekranında arama alanına Terminal yazılır ve açılır.
  • Masaüstü ya da bir dizinde sağ tuş tıklanır ve Terminal ile aç tıklanır.
  • Klayve kısayolu ile Ctrl + Alt + T tuşlarına basılır.

 

Uygulama Arama Ekranında Terminal açma
Resim 2. Uygulama Arama Ekranında Terminal açma
Açık Terminal görünümü
Resim 3. Açık Terminal görünümü

Temel Komutlar

Örnek uygulama; Oracle VM VirtualBox 6.1.22 sürümü, Pardus 21.1 Gnome ISO sürümü ile yapılmaktadır.

pwd

Print Working Directory

Çalışılan dizini gösterir.

Kod

pwd

Komutun çalıştığı anda, bulunulan dizinin yolunu ekrana yazdırır.

pwd komutu
Resim 4. pwd komutu

man

Manual

Komutların nasıl kullanılacağını açıklayan kullanım kılavuzunu gösterir.

Kod

man pwd

pwd komutunun nasıl kullanılacağını, hangi parametreleri aldığını gösterir. man komutundan sonra hakkında bilgi alınmak isetenen komut yazılır. q tuşuna basılarak kapatılır.

man komutu
Resim 5. man komutu

cd

Change Directory

Çalışılan dizini değiştirir.

Kod

cd
cd ~

Kullanıcının ana dizinine gider.

cd ana dizin komutu
Resim 6. cd ana dizin komutu
Kod

cd ..
cd ../

Bulunulan dizinden bir üst dizine gider.

cd bir üst dizin komutu
Resim 7. cd bir üst dizin komutu
Kod

cd /

Bulunulan dizinden en üst kök (root) dizine gider.

cd en üst dizin komutu
Resim 8. cd en üst dizin komutu
Kod

cd Resimler
cd ./Resimler

Bulunulan dizin altındaki yazılan dizine gider.

cd bir alt dizin komutu
Resim 9. cd bir alt dizin komutu
Kod

cd ~/Belgeler

Kullanıcının ana dizini altındaki yazılan dizine gider.

cd ana dizin altındaki dizin komutu
Resim 10. cd ana dizin altındaki dizin komutu
Kod

cd /usr/share

Yazılan dizine gider.

cd yazılan dizin komutu
Resim 11. cd yazılan dizin komutu
Kod

cd -

Son gidilen dizine gider.

cd son dizin komutu
Resim 12. cd son dizin komutu

clear

Clear

Terminal ekranındaki yazıları temizler.

Kod

clear

Ekrandaki tüm yazıları siler.

clear komutu
Resim 13. clear komutu

ls

List

Dizin içeriğini listeler.

Kod

ls

Bulunulan dizin içindeki dosya ve dizinleri gösterir.

ls komutu
Resim 14. ls komutu
Kod

ls -r

Dizin içeriğini alfabetik olarak tersten sıralayıp listeler.

ls -r komutu
Resim 15. ls -r komutu
Kod

ls -S

Dizin içeriğini boyutlarına göre büyükten küçüğe sıralayıp listeler.

ls -S komutu
Resim 16. ls -S komutu
Kod

ls -Sr

Dizin içeriğini boyutlarına göre küçükten büyüğe sıralayıp listeler.

ls -S komutu
Resim 17. ls -S komutu
Kod

ls -p

Dizin içeriğini türe göre listeler.

ls -p komutu
Resim 18. ls -p komutu
Kod

ls -t

Dizin içeriğini güncelleme tarihine göre en yeniden en eskiye listeler.

ls -t komutu
Resim 19. ls -t komutu
Kod

ls -l

Dizin içeriğini izin, sahibi, boyut, oluşturma tarihi vb. bilgilerle detaylı olarak listeler.

ls -l komutu
Resim 20. ls -l komutu
Kod

ls -a

Dizindeki gizli dosyalarla birlikte tüm içeriği listeler.

ls -a komutu
Resim 21. ls -a komutu
Kod

ls -h

Dizin içeriğini daha anlaşılır bir şekilde listeler.

Önemli

Bilgi

Bash Shell komutlarından sonra yazılan parametreler birleştirilerek kullanılabilir.

ls -lah komutu
Resim 22. ls -lah komutu
Kod

ls -Srlah

Dizin içeriğini boyutlarına göre küçükten büyüğe sıralayıp, detaylı, tüm içeriği, daha anlaşılır bir şekilde listeler.

ls -Srlah komutu
Resim 23. ls -Srlah komutu
Kod

ls -trlah

Dizin içeriğini güncelleme tarihine göre en eskiden en yeniye göre sıralayıp, detaylı, tüm içeriği, daha anlaşılır bir şekilde listeler.

ls -trlah komutu
Resim 24. ls -trlah komutu
Kod

ls /usr/share/applications -lah

Yazılan dizin içeriğini detaylı, tüm içeriği, daha anlaşılır bir şekilde listeler.

ls yazılan dizin komutu
Resim 25. ls yazılan dizin komutu

Shell Yönetici Yetkisi

Linux işletim sisteminde ve shell uygulamasında komutlar en az yetki ile çalıştırılır. Bu nedenle istenilen her dizinde işlem yapılamaz. Kullanıcıların sadece /home/ dizini içinde kendi kullanıcı adı dizininin altındaki dizinlerde yetkileri bulunur. Bu dizin dışındaki dizinlerde dosya, dizin oluşturamaz, değiştiremez ve silemezler. Yetkisiz bir işlem yapıldığında shell Erişim engellendi uyarısı verir. Erişimin olmadığı dizinlerde işlem yapmak için yönetici (root) yetkisine sahip olmak gereklidir.

Önemli

Kullanıcıların yetkili olarak işlem yapabilmeleri için sudo komutu kulllanılır fakat sudo komutu ile işlem yapabilmek için, sudo komutunu çalıştıran kullanıcının sistemde sudoers dosyasına ya da yönetici grubuna, root veya root yetkili kullanıcı tarafından eklenip sudo ile komut çalıştırma yetkisi vermesi gerekir.

Kullanıcıya sudo yetkisi verme ve detaylı bilgilendirme için tıklayınız.

sudo

Super User Do

Root yetkisi ile işlem yapmak için shell ekranından istenilen komutun öncesinde sudo yazılarak yönetici yetkisi ile işlem yapılabilir. sudo ile tek komut için yönetici yetkisi ile işlem yapılır.

Kod

sudo ls /root

su

Switch User

Kod

su melih

Yazılan kullanıcı hesabına geçiş yapar.

sudo su

Super User Do Switch User

Kod

sudo su

Root yönetici hesabına geçiş yapar.

exit

Exit

Kod

exit

root yönetici hesabından çıkış yapar.

Dosya Oluşturma İşlemleri

touch

Touch

Yeni dosya oluşturur.

Kod

touch test.txt

Yazılan dosyayı oluşturur.

Kod

touch /home/melih/Belgeler/test.txt

Yazılan dizinde dosyayı oluşturur.

Dizin Oluşturma İşlemleri

mkdir

Make Directory

Yeni dizin oluşturur.

Kod

mkdir Projelerim

Yazılan dizini oluşturur.

Kod

mkdir "Melih'in Projeleri"

Yazılan dizini oluşturur.

Kod

mkdir /home/melih/Belgeler/Projelerim

Yazılan dizinin altına yeni dizini oluşturur.

Kod

mkdir ../../Projelerim

İki dizin üste yeni dizini oluşturur.

Kod

mkdir Resimlerim Müziklerim Videolarım

Yazılan dizinleri oluşturur.

Kod

mkdir -p Videolarım/Komikli/Kediler

Yoksa yazılan tüm dizinleri oluşturur.

mv

Move

Dosyayı veya dizini farklı bir dizine taşır.

Kod

mv ./Belgeler/Projelerim ./

Dizini ikinci parametre olarak yazılan dizine taşır.

Kod

mv Projelerim Projeler

Dizinin adını ikinci parametre olarak yazılan ad olarak değiştirir.

Kod

mv test.txt ./Belgeler/test.txt

Dosyayı yazılan dizin içine taşır.

Kod

mv test.txt ./TODO.txt

Dosyanın adını ikinci parametre olarak yazılan ad olarak değiştirir.

Kod

mv test.txt ./Belgeler/TODO.txt

Dosyayı yazılan dizin içine yazılan isimle taşır.

Kod

mv test.txt ../TODO.txt

Dosyayı bir üst dizin içine yazılan isimle taşır.

cp

Copy

Dosyayı veya dizini farklı bir dizine kopyalar.

Kod

cp test.txt ./TODO.txt

Dosyayı aynı dizin içine yazılan isimle kopyalar.

Kod

cp test.txt ./Belgeler/TODO.txt

Dosyayı yazılan dizin içine yazılan isimle kopyalar.

Kod

cp test.txt ../TODO.txt

Dosyayı bir üst dizin içine yazılan isimle kopyalar.

Kod

cp -r ./Belgeler/Projelerim ./

Dizini ikinci parametre olarak yazılan dizine kopyalar.

rm

Remove

Dizini siler.

Kod

rm -rf ./Projeler

Yazılan dizinin tüm içeriği ile birlikte siler.

Kod

rm -rf ./Belgeler/*

Yazılan dizinin içindeki dosyaların ve dizinlerin tümünü siler.

Kod

rm ./Belgeler/*

Yazılan dizinin içindeki dosyaları siler.

Kod

rm ./Belgeler/*.txt

Yazılan dizinin içindeki .txt uzantılı dosyaların tümünü siler.

Kod

rm ./Belgeler/test.*

Yazılan dizinin içindeki test adlı farklı uzantılı dosyaların tümünü siler.

Kod

rm ./Belgeler/TODO.txt

Yazılan dizinin içindeki TODO.txt adlı dosyayı siler.

find

Find

Dosya ve dizinleri bulur.

Kod

find ./ -name "TODO"

TODO adlı dosyaları ve dizinleri bulur.

Kod

find ./ -type f -name "TODO.txt"

TODO adlı dosyaları bulur.

Kod

find ./ -type d -name "TODO"

TODO adlı dizinleri bulur.

Kod

find ./ -type f -name "TODO*"

TODO ile başlayan dosyaları bulur.

Kod

find ./ -type f -iname "TODO*"

TODO ile başlayan dosyaları bulur. Büyük harf, küçük harf duyarsızdır.

Kod

find ./ -type f -not -iname "TODO*"

TODO ile başlamayan dosyaları bulur. Büyük harf, küçük harf duyarsızdır.

Kod

find ./ -type f -iname "*TODO*"

Adında TODO içeren dosyaları bulur.

Kod

find ./ -type f -iname "*TODO"

Adı TODO ile biten dosyaları bulur.

Kod

find ./ -type f -iname "*.txt"

.txt uzantılı dosyaları bulur.

Kod

find /etc -type f -iname "*.conf"

/etc dizininde .conf uzantılı dosyaları bulur.

Kod

find ./ -maxdepth 1 -type f -iname "*.txt"

Alt dizinlere bakmaz sadece yazılan dizindeki .txt uzantılı dosyaları bulur.

Kod

find ./ -type f -size +5M

Boyutu 5MB fazla olan dosyaları bulur.

Kod

find ./ -type f -size -10k

Boyutu 10KB az olan dosyaları bulur.

Kod

find ./ -type f -perm 0644

Yazma Okuma Okuma izinlerine sahip dosyaları bulur.

Kod

find /etc -maxdepth 3 -type f -iname "*.conf" -size -2MB

/etc dizininde .conf uzantılı boyutu 2MB'tan az dosyaları bulur.

grep

Grep

Dosya içindeki aranan kelimeyi bulur.

Kod

grep "deneme" TODO.txt

TODO.txt adlı dosya içinde deneme yazısını arar.

Kod

grep -i "deneme" TODO.txt

TODO.txt adlı dosya içinde deneme yazısını arar. Büyük harf, küçük harf duyarsızdır.

Kod

grep "deneme" TODO.txt TODO.xml TODO.conf

Yazılan dosyalar içinde deneme yazısını arar.

Kod

grep "deneme" ./*

Dizindeki tüm dosyalar içinde deneme yazısını arar.

Kod

grep -n "deneme" *

Dizindeki tüm dosyalar içinde deneme yazısını yazan satırları gösterir.

Kod

find . -type f -iname "*.txt" -exec grep -i -n "deneme" {} +

Dizindeki .txt uzantılı dosyalar içinde deneme yazısını yazan satırları gösterir.

>

Output Redirect

Komut sonucunu dosyaya yazdırır.

Kod

ls -lah > içerik.txt

Komut sonucunu ekrana değil dosyaya yazdırır.

Kod

find ./ -type f -size +5M > 5M+dosyalar.txt

Komut sonucunu ekrana değil dosyaya yazdırır.

>>

Output Redirect Append

Komut sonucunu dosyanın sonuna yazdırır.

Kod

ls -lah > içerik.txt

Komut sonucunu ekrana değil dosyanın sonuna yazdırır. Önceki satırları silmez.

Kod

find ./ -type f -size +5M > 5M+dosyalar.txt

Komut sonucunu ekrana değil dosyaya yazdırır. Önceki satırları silmez.

tee

Write output/file

Komut sonucunu hem ekrana hem dosyaya yazdırır.

Kod

ls -lah | tee içerik.txt

Komut sonucunu hem ekrana hem dosyaya yazdırır.

Kod

ls -lah | tee -a içerik.txt

Komut sonucunu hem ekrana hem dosyanın sonuna yazdırır. Önceki satırları silmez.

echo

Dislay line

Terminal ekranına yazı yazdırır.

Kod

echo Merhaba Dünya

Terminal ekranına yazı yazdırır.

Kod

echo $SHELL

Terminal ekranına yazılan değişkenin değerini yazdırır.

Kod

echo test > deneme.txt

deneme.txt adlı dosya oluşturur içine test yazdırır.

cat

Concatenate

Dosya içeriğini terminal ekranına yazdırır.

Kod

cat TODO.txt

TODO.txt adlı dosya içeriğini ekrana yazdırır.

Kod

cat TODO.txt test.txt deneme.txt

Yazılan dosyaların içeriğini ekrana yazdırır.

Kod

cat TODO.txt test.txt deneme.txt > yeni.txt

Yazılan dosyaların içeriğini ekrana ve dosyaya yazdırır.

tac

Reverse Concatenate

Dosya içeriğini son satırı ilk, ilk satırı son şeklinde terminal ekranına yazdırır.

Kod

tac TODO.txt

TODO.txt adlı dosya içeriğini satırları ters olarak ekrana yazdırır.

Kod

tac TODO.txt test.txt deneme.txt

Yazılan dosyaların içeriğini satırları ters olarak ekrana yazdırır.

Kod

tac TODO.txt test.txt deneme.txt > yeni.txt

Yazılan dosyaların içeriğini satırları ters olarak ekrana ve dosyaya yazdırır.

tar

Archive

Dosyaları şıkıştırıp arşivler.

Kod

tar -cvf ./arşiv.tar ./

Dizin içeriğini şıkıştırmadan arşivler.

Kod

tar -xvf ./arşiv.tar -C ./

Arşiv dosyasını dizinde açar.

Kod

tar -cvzf ./arşiv.tar.gz ./

Dizin içeriğini sıkıştırıp gzip olarak arşivler.

Kod

tar -xvf ./arşiv.tar.gz -C ./

Arşiv dosyasını dizinde açar.

Kod

tar -cvjf ./arşiv.tar.bz2 ./

Dizin içeriğini sıkıştırıp bz2 olarak arşivler.

Kod

tar -xvf ./arşiv.tar.bz2 -C ./

Arşiv dosyasını dizinde açar.

Kod

tar -tvf ./arşiv.tar.bz2

Arşiv dosyasının içeriğini listeler.

file

File Type

Dosya türünü gösterir.

Kod

file TODO.txt

Yazılan dosyanın türünü gösterir.

compgen

All Commands

Kod

compgen -u

Sistemdeki tüm kullanıcıları listeler.

Kod

compgen -g

Sistemdeki tüm grupları listeler.

groups

Groups

Kod

groups

Kullanıcının dahil olduğu grupları listeler.

Kod

groups melih

Yazılan kullanıcının dahil olduğu grupları listeler.

free

Free Memory

Kod

free -hw

Boş ve kullanılan bellek alanını gösterir.

fdisk

Disk Partition Table

Kod

fdisk

Disk bölümlerini gösterir.

lsblk

List Block Devices

Kod

lsblk

Disk bölümlerini detaylı gösterir.

ps

Processes

Kod

ps

Sistemdeki çalışan işlemleri gösterir.

top

List Linux Processes

Kod

top

Sistemdeki çalışan işlemleri güncelleyip gösterir.

htop

Interactive Linux Processes

Kod

htop

Sistemdeki çalışan işlemleri detaylı gösterir.

kill

Kill Process

Kod

kill -9 3978

Yazılan işlem numarasına göre işlemi kapatır.

killall

Kill Process By Name

Kod

killall firefox

Yazılan işlem adına göre işlemi kapatır.

ifconfig

Configure Network Interface

Kod

ifconfig

IP adresini gösterir.

uptime

Uptime

Kod

uptime

Sistemin ne kadar süredir çalıştığını gösterir.

Kaynaklar

  1. The Complete Linux Course: Beginner to Power User! , Joseph Delgadillo, YouTube.com 07.02.2022 tarihinde alındı.
  2. 18 Tar Command Examples in Linux , tecmint.com 07.02.2022 tarihinde alındı.
  3. htop(1) — Linux manual page , man7.org 07.02.2022 tarihinde alındı.

 


Beğen