Grafik arayüzler (GUI) birçok işimizi kolayca yapmamıza yardım eder. Fakat tüm işlerimizde performanslı çalıştığını söyleyemeyeceğim. Hele bir de aceleniz varsa ve işleminizin hemen bitmesi gerekiyorsa elinden geldiğince yavaş davranacaktır. Peki bunu nasıl çözeriz? Cevap: Kabuk arabirimini kullanarak.
En basit anlamda shell, klavyeden girdiğiniz komutları işlenmesi için işletim sistemine gönderen bir programdır. Eskiden UNIX sistemlerde aşağıdaki resimde gördüğünüz gibi sizi sadece siyah bir ekranda komut penceresi karşılar ve tüm işlemler buradan yapılırdı. Fakat günümüzde bu komut pencereleri grafik arayüzlerle desteklenmeye başlandı.
Birçok Linux dağıtımında bash kabuğu kullanılmaktadır. Bunun yanında elbette buna alternatif kabuklar da vardır. Linux dağıtımınız üzerinde kullanabileceğiniz kabukları /etc/shells dosyası içerisinde bulabilirsiniz.
~ $ cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
Dağıtımınız üzerinde yüklü kabuklar arasında geçiş yapmak için ise sadece kullanmak istediğiniz kabuğun ismini yazmanız yeterli olacaktır. Fakat bu değişiklik sadece kullandığınız terminalde etkili olacak ve terminali kapatıp açtığınızda eski haline dönecektir. Bu değişikliği kalıcı hale getirmek için aşağıdaki komutta [komut_adı] yazan yere geçmek istediğiniz kabuğun ismini yazarak kullanabilirsiniz.
~ $ chsh
Password:
Changing the login shell for loop
Enter the new value, or press ENTER for the default
Login Shell [/bin/bash]: /bin/[kabuk_adı]
Stephen Bourne tarafından UNIX versiyon 7 üzerinde kullanılmak üzere 1979 yılında Bell Laboratuarında yazılmıştır. Sistem içerisinde /bin/sh dizininde bulunur.
Bash içerisinde kullanılabilen varsayılan komutlar vardır. Bunlardan bazıları:
ls
Bulunulan dizindeki dosya ve dizinleri görüntülemeye yarar. “-al” parametresini kullanarak dizin içerisindeki tüm dosyaları (gizli dosyalar dahil) izinleriyle birlikte görüntüleyebiliriz.
cd /[yol]
Belirtilen dosyayı okumamızı sağlar.
pwd
Bulunduğunuz dizinin yolunu gösterir.
mv [dosya_adı] [nereye]
Belirtilen dosyayı veya dizini belirtilen konuma taşımaya yarar. Aynı zamanda dosyaların ve dizinlerin isimlerinin değiştirilmesi için de kullanılır.
cp [dosya_adı] [nereye]
Bir dosyayı veya dizini başka bir yere kopyalamaya yarar.
rm [parametreler] [dosya/dizin_adı]
Belirtilen dosya ve dizinleri siler.
rmdir [parametreler]
Boş dizinleri siler.
mkdir [dizin_adı]
Belirtilen isimde dizin açar. Eğer “-p” parametresiyle beraber kullanılırsa iç içe dizinler oluşturulabilir.
mkdir -p Burak/Kıymaz Burada "Burak" isminde ve içerisinde "Kıymaz" isminde bir dizin oluşturuldu.
ln [parametreler] [hangi_dosya] [nereye]
Belirtilen dosyayı belirtilen konuma linkler. Yani kısayol oluşturur diyebiliriz.
İki tür link vardır: sembolik link(soft link) ve katı link (hard link).
Katı link;
ls
ile bakıldığında hedef gösterdiği dosyanın özelliklerini taşır ve üzerinde işlem yapılacağı zaman hedef dosya gibi davranır. Eğer hedef gösterdiği dosya silinirse kopya dosya olarak kullanılmaya devam eder.
ln dosya.txt /home/dosya.txt
Burada dosya.txt dosyasını
/home
dizini altına linkledik.
Sembolik link ise link dosyası olduğunu söyler. Hedef gösterdiği dosya silinirse bir daha kullanılamaz.
ln -s dosya.txt /home/dosya.txt
şekline bağlanır.
file [dosya_adı]
Belirtilen dosyanın header bilgisini okur ve tipini ve dosya hakkında bazı bilgileri gösterir.
man [komut]
Parametre olarak belirtilen komutun yardım dosyasını açar.
cat [dosya_adı]
Belirtilen dosyayı okumamızı sağlar.
more [parametreler] [dosya_adı]
cat
komutu gibi belirtilen dosyayı okumamızı sağlar. Fakat dosyamız uzun ise cat komutu sadece ekrana sığan en alt kısmı gösterecektir. more ise en baştan okumamızı sağlar.
less [parametreler] [dosya_adı]
more
vecat
komutları gibi belirtilen dosyayı okumayı sağlar. Bu komutun more komutunda farkı; more komutunda yukarı gitme şansımız yoktur. less komutu burada bize kolaylık sağlar ve belirtilen dosya içerisinde yukarı aşağı hareket edebilmemizi sağlar.
tail [parametreler] [dosya_adı]
Belirtilen dosyanın son n satırını okumaya yarar. Buradaki n paramatre içerisinde belirtilir. Varsayılan değer 10 dur.
grep [parametreler]
Verilen parametreye göre süzme, parametre olarak gönderme ve metinlerin içerisinde arama yapmaya yarar.
chmod [parametreler] [dosya_adı]
Dosyanın izinlerini değiştirmemizi sağlar.
chown [parametreler] [dosya_adı]
Dosyanın sahibini değiştirmeye yarar.
who
Sistem üzerinde kimin aktif olduğunu gösterir.
who am i
Komutun yazıldığı terminalin kimlik bilgisini gösterir.
passwd [kullanıcı_adı]
Belirtilen kullanıcının parolasını değiştirmeye yarar.
finger [kullanıcı_adı]
Login olan kullanıcının gerçek ismini, soyismini, shell bilgisini, ne kadar zamandır içeride olduğu, e posta ve planlarını gösterir.
chfn
Kullanıcı bilgilerini güncellemeye yarar.
date [parametreler]
Sistem tarih ve saatini görüntüleyebilir veya değiştirebilir.
ps [parametreler]
O anki çalışan işlemleri gösterir.
top
Sistem üzerinde kaynak tüketen yazılımları gösterir.
kill [parametreler] pid
Girilen
PID
numaralı işlemi durdurmaya yarar.
clear
Terminal ekranını temizlmeye yarar. Bu işlemi silerek değil pencereyi aşağı kaydırarak yapar.
df [parametreler]
Disk üzerindeki kullanılmış ve kullanılabilcek alanları gösterir.
du [parametreler] [dizin]
Belirtilen dizin içerisindeki dosyaların ne kadar alan kapladığını gösterir.
halt
Bilgisayarı kapatır fakat enerjisini kesmez. Bunun kullanıcı tarafından yapılması gerekmektedir.
shutdown/poweroff
Bilgisayarın kontrollü olarak kapanmasını sağlar.
reboot
Bilgisayarı yeniden başlatır.
Cevap; elbette yazabilirsiniz. Kendi komutunuzu yazmanın pek çok yolu mevcuttur.
Birinci yol, /bin dizini içerisinde bir dosya oluşturup bu dosyanın içerisine istediğimiz komutları yazabiliriz. Örneğin; /bin dizini içerisine “deneme” isimli bir dosya oluşturduk ve içerisine echo 'komut çalışıyor'
komutunu ekledik. Terminali yeniden başlatıp deneme komutunu girdiğimizde bize “komut çalışıyor” çıktısını verecektir.
İkinci yol bizim belirlediğimiz konumda bir dosya oluşturup /bin dizini içerisine link (kısayol) oluşturmak.
Üçüncü yol ise yine bizim belirlediğimiz konumda bir dosya oluşturup içerisine yapılmasını istediğimiz komutları gireriz ve ~/.bashrc dosyası içerisinde bizim oluşturduğumuz bu dosyaya alias tanımlarız. Örneğin; benim /home dizini altında burak.sh isminde bir dosyam var ve bu dosya içerisinde “echo ‘başarılı’” komutunu tutuyorum. ~/.bashrc dosyasının en alt kısmına
alias deneme="/home/burak.sh"
komutunu ekledim. Terminali yeniden başlatıp “deneme
” komutunu girdiğim zaman bana “başarılı” şeklinde çıktı verecektir.
Bir yazımın daha sonuna geldik. Aklınıza takılanları yorum bölümünden veya iletişim kısmından bana sorabilirsiniz. Bir başka yazımda görüşmek dileğiyle..
Sağlıcakla kalın..
Yazımı beğendiniz mi? Yorum yapın.