Bash ile Tanışma
Merhaba! Bugün sana Linux dünyasının en güçlü, en yaygın kullanılan ve belki de en heyecan verici aracı olan Bash’i tanıtacağım. Eğer bir Linux kullanıcıysanız, Bash’i her gün kullanıyor olabilirsiniz ama bazen göz ardı edilen bu komut satırı sihirbazı, aslında o kadar güçlü ve esnektir ki, hayatınızı kolaylaştırmak için çok daha fazlasını yapabilir.
Bash, Bourne Again SHell anlamına gelir ve Linux, Unix ve diğer benzer sistemlerde sistem yönetimi ve otomasyon için çok önemli bir araçtır. Program yazma, dosya yönetimi, sistem bakımı ve hatta bazı uygulama geliştirme işlemlerini sadece birkaç komutla yapabilirsiniz. Bu yazıda, seni Bash komutları ve scripting dünyasıyla tanıştıracak, adım adım nasıl kullanabileceğini göstereceğim.
Bash Komutlarına Giriş
Bash komutlarının bazıları, günlük hayatta hemen her Linux kullanıcısının bildiği komutlardır. Ama gelin bunlara bir göz atalım, kim bilir belki eksik bildiğiniz birkaç komut vardır!
1. ls – Bu komut, bulunduğunuz dizindeki dosyaları ve klasörleri listelemek için kullanılır. Çok basit ama oldukça etkili.
ls
2. cd – Eğer terminalde bir dizine gitmek istiyorsanız, bu komut tam size göre. Dizini değiştirmek için “cd” kullanırsınız.
cd /home/kullanici/Belgeler
3. pwd – Hangi dizinde olduğunuzu öğrenmek için bu komutu kullanabilirsiniz. Ne kadar basit bir komut, değil mi?
pwd
Bash Script Yazmaya Başlayalım
Şimdi, komutlar biraz eğlenceli ve güçlü hale gelmeye başlayacak. Çünkü Bash script yazma zamanı! Bash scripting, bir dizi komutu sırasıyla çalıştırarak, daha büyük görevleri otomatikleştirebilmenizi sağlar. Diyelim ki her gün belirli dosyaları yedeklemeniz gerekiyor. Bu işlemi her gün manuel olarak yapmak yerine, bir script yazıp bu işi bir komutla halledebilirsiniz.
Basit bir Bash Script
Hadi basit bir script yazalım. Bu script, bulunduğunuz dizindeki tüm dosyaları listeleyecek ve bir yedeğini alacak.
1. Terminal açın.
2. `nano backup.sh` komutunu yazın.
3. Aşağıdaki komutları yazın:
#!/bin/bash
# Yedekleme dosyası oluşturuluyor
echo "Yedekleme başlatılıyor..."
# Tüm dosyaların yedeğini al
cp -r * ~/yedekler/
echo "Yedekleme tamamlandı!"
4. Dosyayı kaydedin ve kapatın.
5. `chmod +x backup.sh` komutuyla scripti çalıştırılabilir hale getirin.
6. Şimdi scriptinizi çalıştırabilirsiniz: `./backup.sh`
Bu kadar! Artık her zaman bir komutla yedekleme yapabilirsiniz.
Değişkenler ve Koşullar ile Scriptinizi Geliştirin
Daha karmaşık bir şeyler yapmak istiyorsanız, değişkenler ve koşullar kullanarak scriptinizi zenginleştirebilirsiniz. Mesela, bir kullanıcıdan belirli bir dosya adı girmesini isteyip, bu dosyayı yedekleyebilirsiniz.
İşte bunu yapacak bir script örneği:
#!/bin/bash
# Kullanıcıdan dosya adı alalım
echo "Yedeklemek istediğiniz dosya adını girin:"
read dosya_adi
# Dosyanın var olup olmadığını kontrol et
if [ -f $dosya_adi ]; then
echo "$dosya_adi dosyası bulunuyor, yedekleniyor..."
cp $dosya_adi ~/yedekler/
echo "Yedekleme tamamlandı!"
else
echo "$dosya_adi dosyası bulunamadı."
fi
Bu script, kullanıcıdan bir dosya adı alacak ve bu dosyanın var olup olmadığını kontrol edecektir. Eğer dosya varsa, yedekleme işlemi yapılacak. Eğer dosya yoksa, kullanıcıya bir hata mesajı gösterilecektir.
Bash ile Zamanlama ve Otomasyon
Bash scriptlerinin en güzel yanlarından biri, zamanlama yapabilmenizdir. Örneğin, her gece bir yedekleme scriptini çalıştırmak istiyorsanız, bunu cron ile yapabilirsiniz. Cron, belirli aralıklarla komutlar çalıştırmanızı sağlar.
Bash scriptinizi bir cron job olarak ayarlamak için şunları yapabilirsiniz:
1. `crontab -e` komutunu girin.
2. Aşağıdaki satırı ekleyin:
0 2 * * * /home/kullanici/backup.sh
Bu komut, her gece saat 2’de backup.sh scriptini çalıştıracaktır.
Sonuç
Artık Bash kullanarak komut satırını daha verimli kullanmak için temel adımları öğrendiniz. Bash, sadece bir komut satırı aracı değil, aynı zamanda günlük işlerimizi otomatikleştirebileceğimiz güçlü bir araçtır. Scripting dünyası ise bir kez keşfettiğinizde sizi içine çeker. Komutları birleştirip, kendi scriptlerinizi yazdıkça daha fazlasını keşfedeceksiniz.
Hayatınızı kolaylaştıracak, zaman kazandıracak ve belki de günlük rutinlerinizi bir adım daha ileriye taşıyacak olan Bash’i keşfetmeye devam edin.