Teknotower ile daha önce yazılmış olan “Kullanışlı CMD komutları“ yazısından sonra Linux komutları içeriği hazırlamamak ayıp olurdu.
Bu yazımızda, temel ve orta düzey Linux komutları ve özelliklerinden bahsedeceğiz. Komutlar kolay unutulabildiği için bolca pratik yapmanızı ve bu yazıyı yer imi (bookmark) olarak eklemenizi tavsiye ederim. Okurken not almanız da daha kalıcı bir öğrenme için faydalı olacaktır.
Linux çekirdekli işletim sistemlerinde, çoğu işlem terminal (konsol ya da uçbirim olarak da geçer) adındaki ekranda, özel Linux komutları ile yapılmakta. Bu komutlar, işlerinizde hızınıza hız katacaktır. Her şey siz klavyeniz ve terminal arasında gerçekleşecek. Yazı boyunca, örnekleri gösterirken, sanal makineden yararlanacağım. İşletim sistemi olarak da Ubuntu(19.04) kullanacağım.
Öğreneceğiniz bu Linux komutları ile dosya oluşturabilirsiniz. Dosyalarınızı listeleyebilir ya da silebilirsiniz. Dosya içerisine veri yazabilir, bu veriyi terminal ekranından okuyabilirsiniz. Dosyalarınızı taşıyabilirsiniz. Dosyalarınızın ağaç (tree) yapısını görebilirsiniz. Kullanıcıları görüntüleyebilirsiniz. Şifrenizi değiştirebilirsiniz. Hangi dizinde olduğunuzu görebilirsiniz. Dizin değiştirebilirsiniz. Kullanıcı (user) oluşturabilirsiniz. Yeni paketler indirebilirsiniz ve daha niceleri… Bu saydıklarım ve daha fazlası sizin için çok kolay. Hadi başlayalım!
Linux Komutları Kısayollar:
Kısa yollar işimizi kolaylaştıracak. Örneğin; terminal ekranınız çok fazla komut doldu ve kalabalık görünüyor. Bunun için kısa yollara göz atalım. Bakalım neler bulacağız.
Terminale Geçiş (Ctrl + Alt + Fn)
Açtığınız oturumda, terminale geçmek için kullanılır.
Komut ya da dosya adı tamamlama (tab)
Tab tuşu, terminalde en çok kullanacağınız kurtarıcıdır. Yazmakta olduğunuz komutu tamamlamak için kullanılır. Mesela, TeknoTower dosyasını oluşturmak için mk yazıp tab’ a basarsanız, o an yazdığınız yazının mkdir komutunun otomatik tamamlandığını göreceksiniz. Aynı şey dosya isimleri için de geçerlidir. Bulunduğunuz dizinin içindeki bir dosyanın ilk üç-dört harfini yazıp tab’ a basarsanız dosya adının otomatik tamamlandığını görürsünüz. (Bu işlem çok sayıda komutla ya da dosya ile eşleşme durumunda bazı terminallerde iki defa tab tuşuna basmayı gerektirebilir.)
Geçmiş komutlar (Yukarı ok, Aşağı ok, PgUp, PgDn)
Daha önceden girilmiş komutlar arasında gidip gelmenizi sağlar. Bu komutları history komutu ile listeleyebilirsiniz. Bu konuya tekrar değineceğiz.
Terminal ekranını kaydırma (Shift + PgUp, Shift + PgDn)
Uçbirim çıktısını yukarı aşağı kaydırmak için kullanılırlar (ekrandan çıkmış olan yazıları görmek vs.) Mouse ile de yapabilirsiniz tabi. Alışmaya başlayınca, mouse’dan nasıl uzaklaştığınızı farkedeceksiniz 🙂
Ekran büyütüp küçültme (Ctrl+ Alt + “+”, Ctrl + Alt + “-“)
Açtığınız oturumda, bir sonraki ekran çözünürlüğüne geçmenizi sağlar.
Oturum kapatma (Ctrl + Alt + BkSpc)
Açtığınız oturumu sonlandırır.
Komut sonlandırma (Ctrl + C)
Çalışan mevcut komutu durdurur. Genelde konsoldaki basit komutlar için kullanılır.
Editörden çıkış(Ctrl + D)
Eğer sizden girdi kabul eden bir konsol ekranındaysanız, dosya sonu (EOF) yollar. Komut istemindeyseniz sistemden çıkarsınız. O yüzden iki defa basmadan önce düşünün derim.
Terminalden Çıkış (Ctrl + S)
Uçbirime olan çıkışı durdurur.
Komut gizleme (Ctrl + Z)
Çalışmakta olan komutu arka alana gönderir.
Kopyalama (farenin orta tuşu)
Genelde bir başka pencerede seçilmiş bir yazıyı yapıştırmaya yarar. Burada dikkat edilecek nokta Linux altında kopyala/yapıştır işleminin Windows’dan farklı olmasıdır. Bir yazıyı seçerseniz, o seçili olduğu sürece yapıştırılabilir olur (bir kez yapıştırıldıktan sonra defalarca yapıştırılabilir, yeni bir seçime kadar tamponda kalır.). Yani bir kopyala emri vermeniz gerekmez, seçip orta tuşa basmanız yeterlidir. Komut, satıra yapıştırılmış olur.
Yapıştırma (Shift + Insert)
Yapıştırma işlemini klavyeden yapar.
Inser tuşu = delete tuşu ile yanıdır.
Ev dizinine geçme (~ Tilde)
Kullanıcının ana dizinini (home) gösterir. /home/kullanıcı_adı yolunu temsil eder.
cd ~/docs komutu, ev dizininizin altında docs dizinine gider. Sadece cd komutu ise cd ~ komutuna eşittir ve ev dizininize gider.
(~: tilde. İşareti bulamadıysanız eğer, klavyeden bunu yapmak için “alt gr+ ü” yapmanız gereklidir.)
Bulunulan konum (. ya da ./)
O anda bulunduğunuz dizindeki bir betiği çalıştırmak içindir.
Terminali sonlandırma (exit)
“exit yazıp enter’a basmak terminalden çıkmanızı sağlar.
Linux Komutları
Listeleme Komutu (Ls)
“ls” listeleme yapmak için kullanılır. Bulunduğumuz dizinin (klasörün) altında olan dosyaları listeler. Ls yanına bazı parametreler alabilir. Bu parametreler, ekrana listelenecek olan dosyaların türlerindeki değişiklikleri gösterir. Bu parametreler “-a” ,“-l” ,“i” ve üçünün aynı anda kullanılabileceği “ls -ali” ‘dir.
Ls -a
“ls -a” ile bulunduğumuz dizinin başında nokta (.) olan dosyaları yani gizli dosyaları da görmemizi sağlar.
Ls -l
“ls -l” ile hangi dosyaların hangi modlara sahip olduklarını görebiliriz. Bu modlar okuma(r), yazma(w) ve çalıştırma(x)’ dır. Total bilgisini de verir.
Ls -i
“ls -i” kullandığınızda ekranda dosyaların yanlarında fark farklı sayılar göreceksiniz. Bunlar, dosyalarınızın “inode” larıdır. Dosya seri numarası olarak da düşünülebilir.
Ls -ali
“ls -ali” ile yukarıda saydığım üç parametrenin sonucunu tek seferde görüntülemek mümkün.
Listeleme Komutu 2 (Dir)
“dir” komutu ile ls komutu aynı işleve sahiptir. “dir” yazarak da bulunduğumuz dizinin içinde bulunan dosyaları listeleyebilirsiniz. Ek bilgi : dir komutu windows cmd’de de aynıdır.
Ekran Temizleme Komutu (Clear)
“clear” ile önceden yazdığımız komutları ve çıktısını ekrandan siler. Kısacası, Türkçe anlamını taşımakta ve ekranı temizlemek için kullanılmakta. Özellikle uzun çalışmalarda, ekranın kalabalık görünmesinden rahatsız olduğunuzda, bu komutu kullanabilirsiniz. Kısayolu aklına gelmezse tabii.
Ekran Temizleme Komutu 2 (Cls)
“cls” komutu ile clear komutu aynı işi yaparlar. Clear aklınıza gelmezse cls yazıp da ekranı temizleyebilirsiniz. Daha da kolayı ctrl + l‘ dir.
Klasör Oluşturma Komutu (Mkdir)
“mkdir” komutu ile dizin oluşturabiliriz. Bunun için “mkdir dizin” yazılması yeterlidir. Enter tuşuna bastığınızda klasör adı olarak belirttiğiniz isim ile bir dizin oluşacaktır. Bu klasör, bulunduğunuz dizinin altında oluşur. Yukarıda öğrendiğimiz ls komutunu kullanarak, oluşturduğunuz klasörü kontrol edebilirsiniz.
Şu An Neredeyim Komutu (Pwd)
PWD komutunun açılımı : Print Working Directory ‘dir. “pwd” komutu ile o an nerede olduğunuzu öğrenebilirsiniz. Kullanım için pwd yazıp enter yapmanız yeterlidir. Mesela, dosya oluşturmak istediğimizde önce nerede olduğumuzu öğreniriz. Daha sonra dizin belirleyip dosyamızı oluşturabiliriz.
Ben Kimim Komutu (Whoami)
“whoami” komutu ile “kim”, yani hangi kullanıcı(user) olduğunuzu öğrenebilirsiniz. Kullanımı için “whoami + enter” yapmanız yeterlidir. Birden fazla kullanıcı bulunan sistemlerde çok işinize yarayacaktır.
Hangi Kullanıcıyım Komutu (Who)
“who” ile o an hangi kullanıcı ile işlemler yaptığını görebiliriz.
Dizin Değiştirme Komutu (Cd – change directories)
“cd” komutu dizin değiştirmek için kullanılır. O klasör senin, bu klasör benim gezmek isteyenler çokça kullanacaktır.
Kullanımı için “cd dizin_adi” yazmalısınız. Ama bulunduğunuz için altında aradığınız isim varsa çalışır. Başka bir dizine gitmek için “cd dosya_yolu” yazabilirsiniz.
Kısa yollarda bahsettiğimiz . ve .. parametreleri ne anlama geliyor bakalım.
Cd .
“cd . “ olarak yazıldığında bulunduğumuz klasör ya da dizin anlamına gelir. Mesela bu dizinin altında “deneme” isminde bir klasör olduğunu varsayalım. Bu dizin içerisine girmek için “cd ./deneme” yazılabilir. Bu komut ile “cd deneme” aynı anlama gelmektedir.
Cd ..
“cd .. “ olarak kullanıldığında bir üst dizin anlamına gelmektedir. “cd ..” olarak kullanılabilir ya da “ .. ” yazmanız da yeterli olacaktır.
Home Dizinine Geçiş (~ Tilde)
“ ~ ” Kısayollar başlığında değindiğim ve şimdi detaylandıracağım ~ (Tilde), kullanıcı ana dizinini yani evini (home) ifade eder. Nerede olursanız olun “ ~ “ ya da “cd ~ “ komutlarını çalıştırırsanız, direkt home dizinine geçecektir.
Ağaç Yapısı Komutu (Tree)
“tree” komutu ile bulunduğumuz dizinin altında bulunan dosyaların konumunu görüntüleyebiliriz. Buna, genel bakış da diyebiliriz. Kullanım için “tree + enter” yapmanız yeterlidir. Eğer, home(ev) dizinindeyseniz komutun bitmesi biraz zaman alabilir. Dolayısıyla tree komutunu denemek istediğinizde, alt dosyaları az olan bir dizinde denemenizi tavsiye ederim. Ya da home dizininde çalıştırıp hava atabilirsiniz.
Dosya Oluşturma Komutu (Touch)
“touch” komutu, mkdir komutunun evrilmiş halidir. Peki burada ne demek istiyorum acaba? Eğer fark ettiyseniz mkdir komutu ile klasör oluşturabiliyoruz. Uzantısı .txt, .doc, .html, .css gibi dosyalar oluşturamıyoruz. İşte tam bu durumda, touch yardımınıza koşuyor. Dosya oluşturmak için touch komutunu kullanabilirsiniz. Hız isteyenler için terminal daha işlevsel gelecektir.
Kullanımı mkdir ile benzer olup, “touch dosya_adi.uzantisi” şeklindedir.
Dosya Kaldırma Komutu (Rm)
RM komutu, “Remove” kelimesinin kısa halidir. “rm” komutu dosya silmek için kullanılır. Bu komutu kullanmak için dikkatli olmak gerekir. Çünkü silme işleminizi geri alamayabilirsiniz. Kullanım şekli “rm dosya_adi” şeklindedir.
“rm -i a*” şeklindeki örnek kullanımda, ‘a’ harfi ile başlayan tüm dosyaları siler.
NOT: yazılım dünyasında “ * ” ‘herhangi‘ anlamı taşımaktadır. Buna ‘ne olursa olsun‘ demek de yanlış olmaz. “ _ “ ise bir karakterin yerini tutar. Bu her şey olabilir. Yıldız (*) ile farkı ise, tek karakter anlamı taşımasıdır. Örneğin; yıldız işareti * üç harfin de ya da beş harfin yerini tutabilir.
“rm -f” dosyayı zorla silmek için kullanılır.
“rm -r” klasörü, içerisindekilerle beraber silmek için kullanılan Linux komutlarından biridir.
“rm -d” komutunu kullanarak içi boş olan klasörlerinizi silebilirsiniz.
Eğer komutu yazdığınızda hata alıyorsanız, bunun iki nedeni olabilir. Birincisi, yönetici olarak silmeniz gerekebilir. İkincisi ise silmek istediğiniz dosyanın klasör olmasıdır. Bunun için başka bir işlem yapmamız gerekiyor.
Klasör silmek için “rmdir” komutu kullanılır. Rm‘ de olduğu gibi rmdir için de boş dosyaları silmek mümkün bunun için “rmdir -p” komutu kullanılır.
Dosya Adı ya da Konum Değiştirme Komutu (Mv)
“mv” komutu, dosyanın yerini yani konumunu değiştirmek için kullanılır. Bir işlevi daha vardır: Dosya adı değiştirmek. Bunun için mv’ nin yanına eski ve yeni şekliyle iki parametre getirmek yeterlidir.
Dosya konumu değiştirmek için: “mv su_anki_konum yeni_konum” yazılmalıdır.
Ad değiştirmek için “mv eski_adi.txt yeni_adi.txt” yazılması yeterlidir.
Yardım Komutları ( man & -help )
“man” komutu, bir komutun nasıl kullanılacağı ve detayları hakkında bilgi edinmek için kullanılabilir. Örneğin, “man tree” ile tree komutunun kullanım şeklini ve tree hakkında her şeyi size manual çıktısıyla görüntüler. Bir komutu yazıp arkasına “–help” eklersek, yine manual çıktısı ile aynı sonuca ulaşırız.
Veriyi Görüntüleme Komutu (Cat)
“cat” komutu sayesinde, içerisinde veri olan dosyanın içeriğini görüntüleyebiliriz. Bunun için, içeriğine bakacağımız dosyanın üst dizinindeyken “cat dosya_adi” yazmamız yeterlidir. Okuyacağımız ani konsola bastıracağımız dosya başka bir dizinde ise bunun için “cat dosya/yolu” yapmanız yeterli olacaktır.
Veriyi Tersten Görüntüleme Komutu (Tac)
“tac” ile “cat” komutları, fark ettiyseniz birbirlerinin tam tersi. Peki bunun işlevleri ile de alakası olabilir mi? Olmasa böyle sormazdım sanırım. “tac” komutu da “cat” gibi dosya içeriğini gösterir. Fakat bir farklılık vardır. Bu farklılık şudur: cat’de dosyanın satırlarını olduğu gibi görüntülerken tac’ da ters bir şekilde görüntülenir.
Örneğin; dosya içerisinde alt alta < A, B, C > yazsın. Cat bunu olduğu gibi görüntüler. Tac ise < C, B, A > şeklinde görüntüler. Konsol ekranından daha rahat görebiliriz. Aşağıdaki görseli inceleyelim. Yani birinde ilk satır başta görüntülenirken, diğerinde son satır başta görüntülenir.
Tarih Komutu (Date)
“date” adından da anlaşılacağı gibi tarih ile alakalıdır. Şimdiki tarihi görmemizi sağlar. Bunun için “date + enter” yapmamız yeterli olacaktır.
Takvim Komutu (Cal)
“cal” komutu İngilizce takvim (calender) kelimesinden gelmektedir. Takvim bilgilerini görüntülemek için kullanılır.
Geçmişi Görüntüleme Komutu (History)
history komutu, adından da anlaşılacağı gibi daha önce kullandığımız tüm komutları göstermeye yarar. Tekrar kullanım için gayet kullanışlı bir komuttur. Kullanılan komutların yanlarında birde sayılar vardır. Bu sayılarla da daha önce kullandığımız komuta erişmek mümkündür.
Kullandığımız linux komutlarının kaydedildiği, sistemde bulunan bir dosya vardır. Bu dosya, Linux kullananlar için oldukça önemlidir. Peki neden? Bir çalışan, başka bir bilgisayarda iş yaptığında, (ki bu genelde bir problemle karşılaşıldığında olur) kullandığı komutları o dosyadan siler. Erişim sağlanmaması için. Ya da sizden önce terminalde ne komutlar yazıldığını görüntülemek için de kullanabilirsiniz.
Erişim Değişikliği Komutu (Chmod)
“chmod” komutu ile “ls -l” komutu arasında bir bağlantı vardır. Ls -l ile listelediğimiz dosyaların modunu değiştirebilmek için chmod komutu kullanılır. Mod değiştirebilmek iki şekilde yapılır. Bunlardan biri binary değerleri ile. Diğeri ise, harflerle yapılır. Kullanım şekli “ chmod parametereler(r, w, x) dosya_adi” şeklindedir.
Her bir dosya üzerinde üç erişim hakkı vardır. Bunlar;
- read (r) : Okuma erişimi. Dosya/klasör üzerinde okuma erişimini belirtir.
- write (w) : Yazma erişimi. Dosya/klasör üzerinde yazma erişimini belirtir.
- execute (e) : Çalıştırılabilme erişimi. Dosyanın bir program gibi çalıştırılabilme erişimini belirtir.
Kullanıcıların dosyalar üzerinde “sahip(user), grup(group), diğer(other), hepsi(a – all)” şeklinde ayrı ayrı erişimleri vardır. Terminal ekranından beraber bakalım.
Paket İndirme Komutu (Apt install)
“apt install” komutu ile paket indirebilirsiniz. Kullanmak için “apt install paket_adi” şeklindedir. Örnek vermek gerekirse, sizde eğer tree komutu yoksa bunun için konsolda “apt install tree” yazmanız yeterli olacaktır. Fakat bazı durumlarda indirme işlemini yönetici olarak yapmanız gerekebilir. O zaman yeni bir komut daha öğrenelim.
Sudo Komutu
“sudo” komutu, tek kullanımlık yönetici olmak için kullanılır. Örneğin, bir paket indirme işleminde tek kullanımlık yönetici olmak gerekebilir. Yönetici olup indirme işlemi gerçekleştirilir. Daha sonra kullanılan mevcut kullanıcıya geri dönülür.
Su Komutu
“su” komutu, kullanıcılar(users) arası geçiş için kullanılır. Tamamen yönetici olmak için “sudo su”, diğer bir kullanıcı olmak için “su kullanıcı_adi” komutu kullanılır.
Echo Komutu
“echo” komutu dosya içerisine veri yazmak için kullanılır. Kullanım şekli “echo veri dosya_adi” şeklindedir.
Eğlenceli Linux Komutları
Bu başlık altında sizlere iki tane komut göstereceğim ve denemenizi tavsiye ederim.
İlki, ls komutunu yanlış yazılabileceği düşünülerek ortaya çıkmış bir komuttur. “sl” yazıp enter tuşuna basınca karşınızda hareket eden bir tren göreceksiniz.
İkinci komut ise “cowsay” adından da anlaşılacağı gibi bir inek… Ama konuşan bir inek. 🙂
Bu yazımda, beraber “Bilinmesi Gereken Linux Komutları” başlığı altında, kullanışlı linux komutlarına değindik. Umarım faydalı olmuştur. Farklı kategorilerdeki yazılarımıza göz atmak için Blog‘ a geçebilir, instagram ya da Twitter sayfalarımızı takip edebilirsiniz. Sağlıcakla kalın…
Eklenmesini istediğiniz, eksik olduğunu düşündüğünüz komutları yorum olarak belirtebilirsiniz. Merak ettiğiniz konuları da bizimle paylaşabilirsiniz. Yazımı okuduğunuz için teşekkür ederim. Geri dönüşlerinizi bekliyorum. 🙂