31.10.2023
7
Like
1757
Views
Linux, açık kaynak kodlu, sistemdeki çoğu şeye kolayca gözlemleyebildiğiniz hatta değiştirebildiğiniz fevkalade bir işletim sistemi (çekirdek). Herhangi bir Linux dağıtımını kurduğunuzda, artık son kullanıcı için Windows'tan çok da farklı gözükmese de çıtırdan bir terminal bilgisi her zaman gerekli oluyor. Bu yazıda bazı temel Linux kavramlarından ve terminal komutlarından bahsedeceğim, keyifli okumalar :)
Terminal ve shell (kabuk) nedir?
Terminal işletim sisteminin çekirdeğine komut vermemizi sağlayan alanken, bu komutu terminalden alıp çekirdeğe ileten ise kabuktur. Linux'te farklı kabuklar olabilir (bash, Zsh, fish vb.), bunların kendilerine göre avantaj ve dezavantajları bulunur. Sisteminizde kullandığınız shell programını görüntülemek için terminale echo $SHELL
komutunu girebilirsiniz.
Ortam değişkenleri (Path) nedir?
Dosyaların ve klasörlerin konumlarını gösteren değişkenlerdir. Eğer bir programı terminalden çalıştırmak istiyorsak, programın tüm yolunu yazmak gerekir, bu durumdan programın yolu path'e eklenerek çıkılabilir. Yani, bir programın adını direkt olarak terminale yazdığımızda çalışabilmesi için path'e ekli olması gerekir. Sisteminizdeki path'leri görüntülemek için terminale echo $PATH
komutunu girebilirsiniz. Örnek olarak program /usr/local/patika
dizinindeyse programı path'e eklemek için PATH=$PATH:/usr/local/patika
komutunu girebilirsiniz.
Olmassa olmaz komutlar
pwd:
Şu anda neredeyiz, hangi dizinde bulunduğumuzu gösterir
cd:
Mevcut dizini değiştirmemize yarar. Eğer gitmek istediğimiz dizin Desktop ise cd Desktop
komutunu girebiliriz.
cd ..
cd
ls:
Mevcut dizindeki dosyaları listeler.
ls -l
ls -a
cat:
Dosyayı okuma, birleştirme ve içeriğini görüntülemek için kullanılır. Görüntülemek istediğimiz dosya run.py dosyasıysa cat run.py
komutunu girebiliriz. Ayrıca >
parametresi ile bir metin dosyasının içerisine yazı da yazabiliriz. Sıfırdan yazmamak için >>
parametresi kullanılmalıdır.
cat dosya1.txt dosya2.txt > birlestirilmis.txt
cat run.py | grep "github"
mkdir:
Yeni dizin (klasör) oluşturmak için kullanılır. Örnek olarak kodluyoruz diye bir klasör oluşturmak istiyorsanız mkdir kodluyoruz
komutunu girebilirsiniz, birden fazla dizin oluşturmak için ise yan yana girilebilir mkdir kodluyoruz patika
şeklinde.
touch:
Yeni bir dosya oluşturmak için kullanılır. Eğer oluşturacağınız dosyanın adı patika.txt ise touch patika.txt
komutunu girebilirsiniz.
sudo:
Sudo ile yetkili bir abi olabiliyorsunuz, günlük işler için önerilmez. Sudo komutunu girdiğiniz zaman sizden şifrenizi girmenizi ister.
apt-get:
Debian tabanlı dağıtımlarda paket yönetimi işlemlerini gerçekleştirmek için kullanılır.
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install firefox
sudo apt-get remove firefox
clear:
Terminali temizlemek için kullanılır, ctrl+l ile de yapılabilir.
Süreçler
ps:
Sistemde çalışan süreçleri görmek için kullanılır.
ps aux
pstree
ps aux | grep "sound"
top:
Sistem kaynaklarını canlı olarak takip edebilmemize olanak sağlar.
xkill:
Kill komutları ile sistemdeki bir süreci öldürebiliyorsunuz. Bunu yapmanın en kolay yolu xkill komutu, komutu terminale girdiğiniz zaman imleç X halini alıyor ve inatçı, ölmeyen sürece tıkladığınızda tek atabiliyorsunuz.
Terminalde çalışan bir süreci öldürmek için ctrl+c konbinasyonunu kullanabilirsiniz.
Dosya İşlemleri
echo:
Bu komut ile istenilen ifadeyi ekrana bastırmanın yanında yeni bir dosya oluşturup istenilen ifadeyi dosyaya yazabilir.
echo "Hello patika.dev"
echo "Diego dur Allahını seversen sen de zaten ortalık karışık" > metin.txt
head/tail:
Head ile dosyanın ilk 10 satırını görebilirken, tail ile son 10 satırını görürüz. Eğer spesifik bir satır sayısı seçilmek istenirse mesela 8 gibi. head -8 metin.txt
komutu kullanılabilir.
rev:
Dosyadaki karakterlerin sırasını tersine çevirir. rev metin.txt
sort:
Dosyadaki karakterleri sıralamak için. Alfabetik olarak sıralamak için sort metin.txt
grep:
Dosyada belli bir şeyi arıyorsak kullanabiliriz. Örnek olarak Mahmut kelimesini arıyorsak grep "Mahmut" metin.txt
find:
Find ile karmaşık arama işlemlerini yapabiliyoruz. Mesela belli bir dizindeki tüm python dosyalarını bulmak gibi veyahut bu dosyaların içerisinde while kelimesini aramak gibi şeyler yapılabiliyor.
cp:
Dosyayı veya dizini kopyalamamıza olanak sağlar.
mv:
Dosyayı veya dizini hedef konuma taşır.
rm:
Dosyayı veya dizini silmek için kullanılır.
Bilgi alma komutları
who:
Kullanıcıyı, oturum açma zamanını ve IP adresini gösterir.
whoami:
Mevcut kullanıcının adını gösterir.
dmidecode:
Bu komut çok iyi, makinenin donanımı ve sistemi hakkında ayrıntılı bilgi veriyor. Mesela bios hakkında bilgi almak için dmidecode --type bios
komutunu girebilirsiniz. Yalnız, sudo olmanızı isteyebilir.
fdisk-l:
Sisteminizdeki disk bölümlerini listelemek için kullanılır.
history:
Terminal geçmişinizi ortaya döker.
Yardım komutları
help:
Yardım almak için başucu komutumuz. Bir komutun nasıl kullanılacağını görmek için kullanabiliriz. Mesela ls komutu için kullanmak istersek ls --help
şeklinde kullanabiliriz.
man:
Man komutu ile daha ayrıntılı bilgiler edinebiliriz. Gene ls için kullanmak istersek man ls şeklinde kullanabiliriz.
Network Komutları
ifconfig:
IP yapılandırması ile ilgili ayarları görmek için kullanılır.
ip:
Ağ yapılandırması yapabilmemize olanak sağlar. Parametresiz kullanımda, seçeneklerin sunulduğu ekran açılacaktır.
ping:
Sunucunun ayakta olup olmamasını kontrol etmek için kullanılabilir. Örnek olarak Google sunucularının ayakta olup olmadığını anlamak için ping google.com
komutunu kullanabiliriz.
traceroute:
Belirli bir hedefe giden veri paketlerinin yolunu ve bu yol boyunca geçtiği ara bağlantıları izlemek için kullanılabilir.
nslookup:
DNS sorguları yapmak için kullanılır.
Bazı güzel şeyler
awk: Komut satırından metin işleme yapmamıza olanak sağlayan bir programlama dili.
vim: Terminalden kullanılabilen bir editördür. Bazı dağıtımlarda default olarak vi gelebilir, vim, vi'nin gelişmiş versiyonudur. Başlangıçta kullanımı can sıkıntısı yaratabilir, alışırsanız da bırakamayabilirsiniz.
log dosyaları: Bir sistemin veya uygulamanın çalışması sırasında meydana gelen olayları, hataları, uyarıları ve diğer bilgileri kaydetmek için kullanılırlar.
| (pipe) operatörü: Soldaki komutun çıktısını alıp sağ tarafa gönderir.
Beni daha fazla dokümantasyon ve bilgi için aşağıdaki Github hesabımdan takip edebilirsin :)
You need to log in to be able to comment!