Kubedo Academy’e hoş geldiniz! Bu laboratuvarda kabuk üzerinden erişim, dosya yapıları, dizinlere erişim, temel komutlara giriş ve filtreleme komutlarını öğreneceksiniz.
Zorluk seviyesi: Başlangıç
Süre: Yaklaşık 30 dakika
İçindekiler
Laboratuvar Kullanım İpuçları
Eğitim içerisinde, komut satırı bilgileri aşağıdaki üç farklı şekilde belirtilmiştir:
buradakigibi görünen kod betimleri genellikle örnekler ve yazılması gereken komutları tanımlamak için kullanılır.Terminal bloklarındaki kod tıklanabilir ve otomatik olarak çalıştırılır:
$ uname -a<değişken>içerisinde bulunan maddeler sizin değiştirmeniz gereken veriyi gösterir:
hostnamectl set <sunucu_adı>
1. Shell Arayüzüne Bağlanma ve Linux Dizin Yapısı
Linux’ta ve tüm UNIX benzeri işletim sistemlerinde genellikle “Her şey bir dosyadır” denir. Bu, ister normal veri dosyaları ister ses kartları ve yazıcılar gibi aygıtlarla uğraşıyor olun, aynı tür Giriş/Çıkış (I/O) işlemleriyle etkileşimde bulunduğunuz anlamına gelir.
Linux İlk Bağlantı ve Kabuk (Shell) Kullanımı
Linux, çoğunlukla Unix’ten gelen altyapıları barındırır. Unix metin tabanlı bir işletim sistemi olarak başladı, bu nedenle Linux’ta çok sayıda metin tabanlı yazılım bulunur.
[!TIP] Özellikle Linux’u yönetirken, komut satırı araçlarının en azından temellerini anlamalısınız.
Komut Satırı Temellerini Anlama
Linux ile çalışmaya başlamadan önce bir Linux kabuğunu nasıl kullanacağınızı anlamalısınız. Birkaç shell mevcuttur, ancak çoğu benzer yetenekler sağlar.
Bourne Again Shell (bash), Unix için daha önceki Bourne kabuğunu temel alır. Linux’ta bash, kullanıcı hesapları için en yaygın varsayılan kabuktur.
Diğer yaygın kabuklar:
- Zsh - Yazılım geliştiriciler için özellikle tavsiye edilir
- Fish - Kullanıcı dostu ve modern
- Ksh - Korn Shell
İç ve Dış Komutlar
Bir komutun iç (built-in) veya dış olduğunu anlamak için:
$ type echoTüm iç komutların listesine ulaşmak için:
$ helpPATH Ortam Değişkeni
Kabuk tarafından tanınmayan bir komutu yazdığınızda, kabuk PATH ortam değişkeninde tanımlı dizinleri kontrol eder.
# Mevcut dizindeki programı çalıştır
./calistirbeni
# Tam yol ile çalıştır
/home/senol/calistirbeni
[!NOTE]
./kullanımı: Linux’ta PATH içinde tanımlı olmayan dosyalar, bulunduğunuz dizinde dahi olsa tam yol belirtmeniz gerekir.
Sekme ile Otomatik Tamamlama
Tab tuşu ile komut ve dosya adlarını otomatik tamamlayabilirsiniz:
- Bir komutun başını yazın ve Tab’a basın
- Birden fazla eşleşme varsa, iki kez Tab’a basın
Komut Geçmişi (History)
- Yukarı/Aşağı ok: Önceki komutlar arasında gezinme
- Ctrl+R: Geçmişte arama
- Ctrl+P / Ctrl+N: Sayfa yukarı/aşağı
2. Kabuk Giriş ve Çıkışlar ile Yönlendirmeler
Linux’ta komut satırı üzerinden yapabilecekleriniz, yönlendirmeler ile daha da çeşitli hale gelir.
Akış Türleri
| Akış | Sembol | Açıklama |
|---|---|---|
| stdin | 0 | Standart Giriş (klavye) |
| stdout | 1 | Standart Çıktı (ekran) |
| stderr | 2 | Standart Hata (hata mesajları) |
Noktalı Virgül (;) - Ardışık Komutlar
Birden fazla komutu tek satırda çalıştırma:
komut_1; komut_2; komut_3
&& - Koşullu Çalıştırma
Bir önceki komut başarılıysa sonrakini çalıştır:
$ apt-get update && apt-get upgradePipe (|) - Boru
Bir komutun çıktısını başka bir komuta yönlendirme:
$ ls / | catÇıktı Yönlendirme
stdout’u dosyaya yönlendirme:
$ ls / > /tmp/kokdizinlistesi.txtDosya içeriğini görüntüleme:
$ cat /tmp/kokdizinlistesi.txtstdout ve stderr Yönlendirme
| Operatör | Açıklama |
|---|---|
> veya 1> | stdout’u dosyaya |
2> | stderr’i dosyaya |
2>&1 | stderr’i stdout ile aynı yere |
&> | Her ikisini de aynı dosyaya |
Örnek - Hata ve çıktıyı ayırma:
./script.sh 1> output.txt 2> error.log
Her ikisini aynı dosyaya:
./script.sh > all.log 2>&1
tee Komutu
stdin’den okur, hem stdout’a hem de dosyalara yazar:
$ ls -la | tee /tmp/dosya1.txt /tmp/dosya2.txt3. Ortam Komutları
history - Komut Geçmişi
Önceden yazılan komutları listeler:
$ history[!CAUTION]
~/.bash_historydosyası shell üzerinden yazılmış parolaları içerebilir, güvenlik açısından dikkatli olunmalıdır.
alias - Takma Ad
Uzun komutlar için kısayol tanımlama:
alias getir='ls -la'
Takma adı kaldırma:
unalias getir
[!TIP] Kalıcı alias’lar için
~/.bashrcdosyasına ekleyin.
Ortam Değişkenleri
Değişken görüntüleme:
echo $SHELL
echo $PATH
Yeni değişken tanımlama:
export VARIABLE=deger
Önemli Ortam Değişkenleri
| Değişken | Açıklama |
|---|---|
$HOME | Ev dizini (~ ile aynı) |
$SHELL | Varsayılan kabuk |
$PATH | Komut arama yolları |
$PS1 | Komut istemi formatı |
PATH’e Dizin Ekleme
$ export PATH=$HOME/bin:$PATHPS1 - Komut İstemi Özelleştirme
# Özel karakterler:
# \u - Kullanıcı adı
# \h - Hostname
# \w - Çalışma dizini
# \d - Tarih
export PS1='\u@\h:\w$ '
set Komutu
Shell davranışını kontrol eder:
$ set -CBu komut dosya üzerine yazma işlemini engeller.
exit - Çıkış
exit # Normal çıkış
exit 0 # Başarılı (return code 0)
exit 1 # Başarısız (return code 1)