Selam millet! Nasılsınız? Umarım iyisinizdir. Bugün size, hani böyle ilk defa bir bilgisayarın başına oturmuş gibi hissettiğiniz ama aslında bir şeyleri değiştirmek, daha derine inmek istediğiniz anlar olur ya, işte tam o anlarda hayat kurtaran o sihirli kutudan, yani Linux terminalinden bahsedeceğim. Ya da siz ona komut satırı da diyebilirsiniz, ne fark eder ki? Ben ilk karşılaştığımda biraz ürkmüştüm açıkçası. Hani sanki gizli bir şifre çözme oyunu gibiydi, ama neyse efendim, o günler geride kaldı.
Terminal olayı ilk başta biraz göz korkutucu gelebilir, biliyorum. Hani böyle simsiyah bir ekran, üzerine bir sürü tuhaf tuhaf harf ve sembol… Ama inanın bana, o kadar da korkutucu değilmiş. Aslında, biraz kurcaladıkça, içine girdikçe ne kadar güçlü bir araç olduğunu anlıyorsunuz. Bir nevi bilgisayarınızın beynine direkt bağlanmak gibi bir şey. Tabi, bu beynin dilini biraz öğrenmek gerekiyor ama emin olun, öğrenmesi de keyifli.
Şimdi diyeceksiniz ki, “Benim ne işime yarayacak bu komut satırı?” Haklısınız, neden gereksiz yere kendimizi yoralım ki? Ama şöyle düşünün; bir programı kurmak istediğinizde, bir dosyayı taşımak istediğinizde, hatta bilgisayarınızda bir şeyler ters gittiğinde, bu komut satırı size inanılmaz derecede yardımcı olabilir. Hani böyle bir tamirci gibi, her derde deva gibi diyebiliriz.
Özellikle Linux kullanıyorsanız, terminal sizin en yakın arkadaşınız olacak. Tabii Windows’ta da PowerShell falan var ama Linux’taki o saf terminal deneyimi bambaşka. Bir kere, çok daha esnek ve güçlü. Mesela, bir klasördeki tüm resimleri topluca yeniden adlandırmak istediğinizde, ne yaparsınız? Grafik arayüzde tek tek uğraşmak yerine, terminalde tek bir komutla halledebilirsiniz. Ne güzel değil mi? İşte bu yüzden birazcık kurcalamak, öğrenmek insana çok şey katıyor. Bu arada, ben de ilk başlarda sadece dosya kopyala-yapıştır yaparken bile terminali kullanmaya çalışıyordum, komik ama gerçek.
Peki, nereden başlayalım bu sihirli yolculuğa? Öncelikle en temel komutlardan biriyle başlayalım: `ls`. Bu komut, bulunduğunuz dizindeki (yani klasördeki) tüm dosya ve klasörleri listeler. Hani böyle bir odanın içindesiniz ve etrafa bakıp ne var ne yok görmek istiyorsunuz ya, `ls` tam olarak onu yapıyor. Tabii `ls` komutunun da farklı ‘parametreleri’ var. Mesela, `ls -l` derseniz, dosyaların detaylı bilgilerini de görürsünüz: kim oluşturmuş, ne zaman oluşturulmuş, dosyanın boyutu ne kadar gibi. Hatta `ls -a` derseniz, gizli dosyaları da gösterir. Gizli dosyalar, hani böyle başında nokta olanlar var ya, onlar işte. Normalde görünmezler ama `ls -a` ile her şey ortaya çıkar. Bu arada, bazen bir dosyanın neden görünmediğini anlamak için `ls -a` kullanmak hayat kurtarır.
Bir diğer temel komut da `cd`. Bu komut, ‘change directory’ yani ‘dizini değiştir’ anlamına geliyor. Bir klasörden başka bir klasöre geçmek için kullanıyoruz. Mesela, ‘Belgeler’ klasörüne gitmek istiyorsanız, `cd Belgeler` yazarsınız. Eğer bir üst klasöre çıkmak isterseniz, `cd ..` komutunu kullanırsınız. Bu `..` olayı da gerçekten çok kullanışlı. Hani böyle bir labirentin içindesiniz ve yanlış bir yola girdiniz, geriye dönmek istiyorsunuz ya, işte `cd ..` ile bir adım geri gidersiniz. Bazen de `cd ~` komutunu görürsünüz, bu da sizi direkt ana dizininize (home directory) götürür. Bu da gerçekten pratik bir kısayol bence.
Şimdi, bir de `pwd` komutu var. Bu da ‘print working directory’ yani ‘çalışma dizinini yazdır’ demek. Hangi klasörde olduğunuzu tam olarak bilmediğiniz durumlarda, ‘Ben şu an neredeyim ya?’ dediğinizde, `pwd` komutunu girersiniz ve size bulunduğunuz tam yolu gösterir. Bu da özellikle karmaşık dizinlerde gezinirken çok işe yarıyor sanırım. Hani böyle bir ormanın içinde kaybolmuşsunuzdur ve elinizde bir harita yok, işte `pwd` size o haritayı verir gibi düşünebilirsiniz.
Dosya oluşturmak veya taşımak da ne kadar kolaymış anlarsınız. `mkdir` komutu ile yeni bir klasör oluşturursunuz, mesela `mkdir YeniKlasor` dediğinizde, anında o isimde bir klasör belirir. Dosya kopyalamak için `cp` komutunu kullanırız. `cp kaynak_dosya hedef_konum` şeklinde çalışır. Bir dosyayı taşımak veya yeniden adlandırmak isterseniz de `mv` komutunu kullanırsınız. `mv eski_isim yeni_isim` veya `mv dosya hedef_klasor` şeklinde kullanabilirsiniz. Bunlar gerçekten temel şeyler ama bir kere mantığını kavradığınızda, her şey çok daha kolaylaşıyor. Mesela geçenlerde bir resim dosyasını yanlış bir klasöre atmışım, hemen `mv` komutuyla doğru yere taşıdım, beş saniye sürmedi. İnanın ki, grafik arayüzde bu kadar hızlı olamazdım.
Peki ya dosya silmek? Onun için de `rm` komutu var. Ama dikkat! `rm` komutu sildiğiniz dosyaları çöp kutusuna göndermez, direkt yok eder! Yani geri dönüşü yok. Bu yüzden `rm` komutunu kullanırken biraz daha temkinli olmakta fayda var. Mesela, `rm silinecek_dosya.txt` dediğinizde, o dosya sonsuza dek gider. Eğer bir klasörü silmek isterseniz, `rm -r` kullanmanız gerekir. Ama yine de dikkatli olun, yanlışlıkla önemli bir şey silmek insanın canını çok sıkabiliyor.
İşte, gördüğünüz gibi, bu komutlar terminalin sadece yüzeyi. Ama inanın ki, bu yüzey bile size çok şey katabilir. Bir kere, bilgisayarınızla daha doğrudan bir bağ kuruyorsunuz. Hani böyle arabanızın motoruna baktığınızda, neyin ne işe yaradığını biraz anlamak gibi. Bu komutları öğrenmek, sizi daha bilgili bir kullanıcı yapar ve birçok sorunu kendi başınıza çözmenizi sağlar. Özellikle bu konuda daha fazla şey öğrenmek isterseniz, şöyle bir Google’da temel Linux komutları diye aratabilirsiniz. Bir sürü kaynak çıkacaktır karşınıza.
Bu arada, bir de `cat` komutu var. Bu komut, bir dosyanın içeriğini ekrana basar. Mesela, bir metin dosyasının içine ne yazdığınızı hızlıca görmek istediğinizde, `cat dosya.txt` yazarsınız ve dosyanın tüm içeriği ekrana dökülür. Bu da özellikle log dosyalarını veya basit yapılandırma dosyalarını okumak için oldukça kullanışlı. Bazen bir konfigürasyon dosyasındaki bir ayarı kontrol etmek için tek tek açmak yerine `cat` ile hızlıca içeriğine bakıveriyorum.
Son olarak, bu komutları kullanırken bir şeyi unutmayın: Hata yapabilirsiniz! Ve bu gayet normal. Hatta bazen hatalarınızdan ders çıkarırsınız. Mesela, ben ilk başlarda bir komutu yanlış yazdığımda, bilgisayarın tepkisini anlamaya çalışırdım. Şöyle bir hata mesajı çıkardı ya, “command not found” gibi. O an anlardım ki, bir şeyler yanlış. Neyse efendim, önemli olan denemekten vazgeçmemek.
Şimdi, size bir de küçük bir kod örneği göstermek istiyorum. Diyelim ki, belli bir uzantıya sahip tüm dosyaları topluca taşımak istiyorsunuz. Grafik arayüzde bunu yapmak zahmetli olabilir ama terminalde tek bir komutla halledilebilir. Mesela, bulunduğunuz klasördeki tüm `.jpg` uzantılı dosyaları ‘Resimler’ adında yeni bir klasöre taşımak istediğinizi varsayalım. Bu arada, ‘Resimler’ klasörünün önceden oluşturulmuş olması gerekiyor, yoksa hata alırsınız.
Önce klasörü oluşturalım:
mkdir Resimler
Sonra da dosyaları taşıyalım. Burada `*.jpg` ifadesi, uzantısı `.jpg` olan tüm dosyaları temsil ediyor. `mv` komutuyla da bunları `Resimler` klasörüne taşıyoruz. Hani böyle bir sürü dağınık fotoğrafınız var ve hepsini bir yere toplamak istiyorsunuz ya, işte bu komut tam size göre.
mv *.jpg Resimler/
Bu komut, bulunduğunuz dizindeki tüm `.jpg` uzantılı dosyaları alıp ‘Resimler’ klasörünün içine atar. Ne kadar pratik değil mi? Tabii, bu sadece küçük bir örnek ama terminalin gücünü gösteriyor bence. Hani böyle bir sürü dosya üzerinde aynı anda işlem yapmak istediğinizde, terminal sizin en büyük yardımcınız oluyor.
Neticede, Linux terminali korkutucu görünse de, aslında oldukça kullanıcı dostu bir arayüz sunuyor. Bu temel komutları öğrenerek, bilgisayarınızla olan ilişkinizi daha da derinleştirebilirsiniz. Bu arada, bu komutların hepsini aklımda tutmak için bazen küçük notlar alırdım, sanırım hala öyle yapıyorum. Umarım bu yazı size terminal dünyasına ilk adımı atmanız için ilham vermiştir. Hadi bakalım, klavyeler çalışsın!