Article cover

31.10.2023

7

Like

1584

Views

Temel Linux Komutları

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.

  • Bir üst dizine çıkmak için cd ..
  • Direkt home dizinine gitmek için cd

ls: Mevcut dizindeki dosyaları listeler.

  • Ayrıntılı görmek için ls -l
  • Tüm dosyaları görmek için 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.

  • Dosya birleştirmek için cat dosya1.txt dosya2.txt > birlestirilmis.txt
  • Dosyanın içinde ilgili kelimeyi aramak için 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.

  • Paket güncellemek için sudo apt-get update && sudo apt-get upgrade
  • Paket yüklemek için sudo apt-get install firefox
  • paket kaldırmak için sudo apt-get remove firefox

clear: Terminali temizlemek için kullanılır, ctrl+l ile de yapılabilir.

olmassan olmaz

Süreçler

ps: Sistemde çalışan süreçleri görmek için kullanılır.

  • Tüm süreçleri görüntülemek için ps aux
  • Süreçleri hiyerarşik bir liste olarak görüntülemek için pstree
  • Mesela sadece sound ile ilgisi bilgi almak için 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.

  • Ekrana metin bastırmak için echo "Hello patika.dev"
  • Dosyanın içerisine metin yazdırmak için 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.

tamam

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 :)


Enes Fehmi Manan Github


Yazılım Mühendisliği 101
Herkes İçin Temel Dersler
Deployment

Comments

You need to log in to be able to comment!

Enes Fehmi Manan

Data Scientist/Mentor

Location

İzmir, TR

Education

İstatistik - Ege

© 2021 Patika Dev

facebook
twitter
instagram
youtube
linkedin

Disclaimer: The information /programs / events provided on https://patika.dev and https://risein.com are strictly for upskilling and networking purposes related to the technical infrastructure of blockchain platforms. We do not provide financial or investment advice and do not make any representations regarding the value, profitability, or future price of any blockchain or cryptocurrency. Users are encouraged to conduct their own research and consult with licensed financial professionals before engaging in any investment activities. https://patika.dev and https://risein.com disclaim any responsibility for financial decisions made by users based on information provided here.