echo komutu  

echo $?

ed

awk

strace

sed

tr

 

hostnamectl

cat /etc/os-release

cat /etc/issue

Klavye dili öğrenmek için

localectl

Ram bilgisi

lsmem

Cpu öğrenme

lscpu

Giriş yapanlar

last

Açık olan kullanıcılar

w

Hangi kullanıcı ve id bilgileri

id

Hangi kullanıcı olduğunu öğrenme

whoami

dosya tipi öğrenme

file dosyaadi

dosya hakkında detaylı bilgi

stat dosyaadi

 

netstat

 

ifconfig

iwconfig

 

ifconfig eth? ip adresi

ifconfig eth netmask  netadresi

ifconfig eth brodcast broadresi

 

ifconfig eth ipadresi x netmask x broadcast x

 

MTU Adresi

 

ifconfig eth mtu 1600

 

Mac Değiştirme

 

 

 

SET 

Set komutu, komut dosyalarınızın davranışını belirlemek için Bash’deki belirli bayrakları ve özellikleri kontrol etmenizi sağlar. Bu kontroller, komut dosyalarınızın istenen yolu izlemesini ve Bash’te istediğiniz gibi bir ortam yaratmanızı sağlar. 

Basit bir şeyle başlayın. Bash’in dosyaların üzerine yazma şeklindeki varsayılan davranışını devre dışı bırakmak istediğinizi varsayalım, ‘-C’ parametresi bunu engelleyecektir. 

set -C 

şimdi bir dosya oluşturmaya çalıştığınızda artık hata verecektir 

ls -la / >/tmp/list.root 

gördüğünüz gibi artık redirect işlemi yapamıyorsunuz. 

başka bir parametre olan ‘-f’ ise, shell üzerindeki Globbing özelliğini kapatacaktır. Globbing * dediğimizde tüm dosyalar anlamına gelen özellik. 

set ile bash üzerinde çoğunlukla yazmış olduğunuz script’leri sınırlarsınız. 

export dışa aktar 

ortam değişkenini değiştirmek için kullanılır, yukarıda env komutunu işlerken görmüştük. 

HOME 

HOME, kullanıcının ev (veya oturum açma) dizinini temsil eden bir ortam değişkenidir. argümansız cd, geçerli çalışma dizinini HOME değerine değiştirir. Yaklaşık karakterinin (~) genellikle $ HOME için bir kısaltma olarak kullanıldığını unutmayın. Bu nedenle, cd $HOME ve cd ~ tamamen eşdeğer ifadelerdir. 

$ echo $HOME 

bize ev dizinimizin adını verir, her kullanıcının sistem üzerinde biz ev dizini vardır, ev dizini tanımlı olmayan kullanıcılar / kök dizinine düşerler ve kök üzerinde erişim hakları olmadığı için prompt olarak $ ile çalışmak zorunda kalırlar. 

SHELL 

Ortam değişkeni SHELL, kullanıcının varsayılan komut kabuğunu işaret eder (bir komut penceresinde yazdıklarınızı işleyen program, genellikle bash) ve kabuğun tam yol adını içerir: 

$ echo $SHELL 
/bin/bash 

PATH 

PATH, yani YOL çalıştırılacak uygun programı veya betiği bulmak için bir komut verildiğinde taranan sıralı bir dizin listesidir (path). Yoldaki her dizin iki nokta üst üste (:) ile ayrılır. null (boş) bir dizin adı (veya ./) herhangi bir zamanda geçerli dizini gösterir. 

yol1: yol2 yol1 :: yol2 Örnekte: yol1:yol2, ilk iki nokta üst üste işaretinden (:) önce boş bir dizin vardır. Benzer şekilde, yol1::yol2 için yol1 ve yol2 arasında boş bir dizin vardır. 

Yolunuza özel bir bin dizininin önüne eklemek için: 

export PATH=$HOME/bin:$PATH   

şimdi yeni path bilgisini tekrar ekrana getirelim, 

echo $PATH   

PS1 
Örnek olarak (PS), Komut istemcisi (shell ekranında yanda yazan kısım) değiştrimeyi deneyelim. 

PS1, komut satırı isteminizin neye benzediğini kontrol eden birincil istem değişkenidir. Aşağıdaki özel karakterler PS1’e dahil edilebilir: 

\u   -  Kullanıcı adı 
\h   -  Ana bilgisayar adı  
\w   -  Geçerli çalışma dizini   
\!   -  Bu komutun geçmiş numarası   
\d   -  Tarih  

Aşağıdaki örnekte olduğu gibi, kullanıldıklarında tek tırnak içine alınmaları gerekir: 

echo $PS1  export PS1='\u@\h:\w$'   

Değişiklikleri geri almak için: 

export PS1='$' 

Daha da iyi bir uygulama, önce eski istemi kaydetmek ve ardından aşağıdaki gibi geri yüklemek olacaktır: 

OLD_PS1=$PS1   

istemi değiştirin ve sonunda şununla tekrar değiştirin: 

PS1=$OLD_PS1   

 

exit - çıkış 

exit komutu shell bağlantınızı sonlanrımak için kullanılır. 

kullanım şekli. 

$ exit [geri-dönüş-değeri] 

0 başarılı 1 başarısız 

genellikle 

$ exit 

şeklinde kullanılır. scriptler içersinde kullanırken geri dönüş değerleri önem arz eder, ve istediğiniz sayıyı verebilirsiniz. 

örn. 

$ exit 999 

 

 

 https://www.redhat.com/en/topics/linux/what-is-selinux 

SELinux 

Security-Enhanced Linux Linux çekirdeği güvenlik modülüdür. Amerika Birleşik Devletleri Savunma Bakanlığı tarzı zorunlu erişim denetimleri de dahil olmak üzere erişim denetimi güvenlik ilkelerini desteklemek için bir mekanizma sunmaktadır. 

 

SElinux durumu control etmek için. 

#getenforce 

Oturum süresince pasif hala getirmek için. 

#setenforce 0 

Aktif hale getirmek için 

#setenforce 1 

Sürekli kapalı hale getirmek için. 

# vi /etc/selinux/selinux.conf 

SELINUX=disabled 

SElinux kapatıltan sonra system yeniden başlatılmalıdır. 

 

Samba uygulamasında dizinlere izin vermek için. 

#chcon -t samba_share_t /home/share1 

 

Booleanlar, SELinux'daki işlevler için açık / kapalı ayarlarıdır. SELinux yeteneklerini açıp kapatabilen yüzlerce ayar vardır ve çoğu önceden tanımlanmıştır. getebool -a komutunu çalıştırarak sisteminizde hangi boole'ların ayarlanmış olduğunu öğrenebilirsiniz. 

#getebool -a 
#getebool -a | grep samba 

 

 

TERMİNAL KULLANIMI 

Ctrl + C 

CTRL + Z 

CTRL A 

 

SİSTEM HAKKINDA BİLGİ ALMAK 

echo 

echo merhaba 

echo $SHELL 

echo $PATH 

clear 

hostname 

date  tarih 

cal  takvim 

hostnamectl 

localectl 

systemctl 

journalctl 

Ifconfig 

 

SYSTEM INFO 

hostname 

ifconfig 

localectl 

hostnamectl 

env 

lsmem 

lscpu 

free 

date 

cal 

whoami 

last 

uname -i 

uname -a 

uptime 

cat /etc/issue 

cat /etc/os-release 

type 

whatis 

Whereis 

 

 

DOYSA İÇERİĞİNİ FİLTRELEME 

cut -d : -f1 /etc/passwd   -- 1 numaralı ayracı gösterir 

cut -d : -f1-4 /etc/passwd --- 1 ve 4 numaralı ayracı gösterir 

cut -d ‘ ‘ -f1 /etc/passwd -- boşluğu keser ve 1 numaralı ayracı gösterir 

 

 

DOSYA İÇERİĞİ GÖRÜNTÜLEME 

Cat dosya1 dosya2 dosya3  

Cat –n  

Cat -b  

Cat –E satır sonlarının dolar sembolü ile işaretlenmesi 

Tersten okuma 

Tac 

less 

less /root  --> Aşağı doğru arama 

less ?root  --> Yukarı doğru arama 

More terminal penceresine sığmayan metinleri okumanızı sağlar.  

Varsayılan olarak 10 satır okunur head  dosyanın başını okurken  tail ise dosyanın sonunu okumaktadır.  

head 

head -5 

tail 

tail –5 

Tail –f dosyaları canlı okumamızı sağlar log dosyaları gibi 

Dosya ve dizin isimleri arasında boşluklar var ise ‘’ çeltik kullanılmalıdır 

nl number lines - satırlara sayı ver 

nl dosya1  

DOSYALARI SIRALAMA 

Sort 

Sort –c kontrol etme komutu yani, sırayı bozanları kontrol etmesini söyler 

Sort –n numaratik sıralama 

sort –r terse sıralama 

Sort –k2 isme göre sıralama 

Sort –k 2 –r dosya  isme göre ters sorgulama 

Sort –k 2 –r dosya –o mehmet ile çıktıyı kayıt edebiliriz 

Sort –R ile listeyi random yanı karışık bir hale getirebiliriz. 

Sort komutu ls veya find güçlü bir komut haline gelmektedir. 

 

 

Dosyalar HAKKINDA BİLGİ ALMA 

ls –l 

  

File türünü öğrenmek için 

Stat 

WC KOMUTU 

wc 

wc -l satır sayısı 

wc -w kelime sayısı 

wc -c bytes sayısı 

ls –l / |wc –l komutu ile dizindeki dosya sayısını da öğrenebiliriz. 

 

 

 

 

Set  ??? 

 

Tr transform 

Tr komutu, tek tek karakterleri standart girdiden değiştirir. Kullanım şekli: 

Bir grupta (KUME1) değiştirilmesini istediğiniz karakterleri ve ikinci grup (KUME2) olarak değiştirilmesini istediğiniz karakterleri belirtirsiniz. KUME1’deki her karakter, KUME2’deki eşdeğer konumdaki bir karakterle değiştirilir. 

tr abc 123 <dosya   bu örnekte dosyanın içindeki abc harflari sırasi ile a = 1 b = 2 ve c = 3 e dönüştürülecektir. 

Uniq 

isminden de anlaşılacağı gibi unique (benzersiz) demektir. Yenilenen satırları kaldırır. Benzer olan satırları eler ve sadece 1 defa gösterir. Sort ile beraber kullanmanız gerekir, böylece önce dosya içeriğini sıralamış olursunuz. 

Sort dosya | uniq  

cut -d ' ' -f2 sirasiz.txt |sort|uniq 

Gördüğünüz gibi sirasiz.txt dosyası içindeki önce cut ile boşluktan sonraki isimleri aldık, sonrasında isim bilgilerini sort ile küçükten büyüğe doğru sıraladık. uniq komutu ile tekrarlanan satırları sildik, böylece dısyamızdaki tekrarlı isimler kalktı ve sadece 7 satır isim ge 

 

 

 Sed  

Sed komutu, değiştirilen dosyayı standart çıktıya göndererek doğrudan dosyaların içeriğini değiştirir.  

sed ‘s/eskikelime/yenikelime/g’ dosya1  

 
 

Chage? 

Getent 
getenforce 0 (selilinux) 

  

Link 

Hard Link 

  

ln dosya /home/yenidosya_adi 

  

Soft Link 

  

ln -s /etc/apt/sourcelist  /home/mehmet/repo gibi 

  

  

KOMUT OPERATÖRLERİ 

  

Wildcard Komutu 

Komutları yazarken kriter oluşturmamızı sağlayan özel krakterlerdir. Filtreleme işlevi görür 

* Bir veya birden fazla karakterlerin yerine geçebilecek bir joker karakterdir. 

? Yalnızcabir karakterin yerine geçebilecek bir joker karakteridir.  

[] yerine geçeceği karakterleri küme şeklinde belirten wildcard operatörüdür. 

 

Buradaki yıldız içinde dosya/dizin geçen tüm anlamına gelmektedir ve işlerimizi çok kolaylaştırır. 

rm dosya* 

mv dosya* 

cp dosya* 

find / -name *.log 

find / -name swap* 

yum install wireshark* 

apt-get remove vim* 

*.html dizin içindeki sadece html uzantılı dosyaları gösterecektir. 

 

Buradaki ? karakteri herhangi bir karakter anlamına gelir. Her ? bir herhangi karakter anlamına gelir. 

  

Dizin içerisinde 5 adet dosya olduğunu varsayalım. dosya1 dosya2 dosya3 dosya34 dosya35 

  

mv dosya? /root ile taşıma işlemini başlattığımızda dosya1 dosya2 ve dosya3 dosyalarını taşıyacaktır.  

  

yada bir arama gerçekleştireceğiz ama bir tane karakteri hatırlamadığımızı varsayalım bu kısımda da kullanabiliriz. 

  

find / -name sw?p   

  

[] Köşeli parantez  

 Ls 1[02]*.txt  

Yukarıda ki örnekte 10 ve 12 ile başlayan ve uzantısı txt olan her şeyi sıralamış olduk. 

Sadece listelemek için değil kopyalama taşıma işlemlerinde de kullanabiliriz. 

Köşeli parantezin için yazılan şeyleri veya başına ! koyulduğunda yazılı olanların dışındakilere işlem yapmaktadır. 

  

mv [abc] 

mv [!abc] 

  

Bunlar dışında bir aralıkta verilebilir 

 Mv [91]*  /mehmet   9 ve 1 ile başlayan tüm herşeyi mehmet dizinine at demiş olduk. 

mv [1-4] veya mv [a-g] 

  

Tüm küçük harfleri listeleme veya kopyalama 

  

ls [[:lower:]]* 

  

Tüm büyük harfleri listeleme veya kopyalama 

  

ls [[:upper:]]* 

  

Diğer bir örnektede rakamlar olabilir 

rakamlar ile başlayanları kopyala diyebiliriz. 

cp *[[:digit:]]  

rakamlar ile bitenleri kopyala diyebiliriz. 

cp *[[:digit:]] 

  

Aynı şekilde harfle başlayanları veya bitenleri alpha ile yapabiliriz. 

  

cp *[[:alpha:]] /dizin 

  

  

Yada rakamla başlayıp harfle biten dosyaları listeleyelim. 

  

ls  [[:digit:]]*[[:alpha:]] 

 

Çoklu Komut Çalıştırma 

  

| karakteri 

  

cat /etc/passwd | grep -i root 

  

; karakteri 

  

date; hostname 

  

&& karakteri 

  

date && hostname   -- > ilk komut çalışmaz ise diğer komutları çalıştırmaz 

  

|| karakteri 

  

date || hostname   --> İlk komut çalışmasa bile diğer komutlar çalışmaya devam eder. 

 

  

Çıktı Yönlendirme Komutları 

 > büyüktür sembolu, bir programın veya komutun çıktısını bir dosyaya yazmamızı sağlamaktadır. 

 

>  Çıktıyı yönlendirir ve dosyanın üstüne yazar. 

 

Çalıştırılacak komut  >  komut çıktınısı yazdırılmasını istediğimiz dosyayı yazıyoruz. Dosya var ise üstüne yazılacaktır yani içerisi tamamen silinecektir, yok ise yeniden oluşturulacaktır. 

Cat renkler.txt ülkeler.txt > yenidosya 

Date > tarih.txt 

Cat *.html 

 

Çıktıları dosyaların sonuna yazdırmak için kullanılan yönlendirme operatörü yani >> Çıktıyı yönlendirir ve en alt satıra yazar. 

 

Pipe  

Terminal çıktılarını farklı bir programa girdi olarak vermek için kullanılan pipe "|" operatörünün kullanımı anlatılıyor. 

Bir dosyanın içeriğini okuyup satır sayısını yazdıralım . 

 

Mevcut tüm paketleri listelemek için aşağıdaki komut kullanılmaktadır. 

Apt list | nl 

Yum list | nl 

Ilk komuttan sonra girdi olarak gönderiyoruz. 

Şimdi ise depodan bulunan wireshark ile başlayan paketleri çıkarıp toplam ne kadar uygulama ve bağımlılık olduğuna bakalım. 

yum list | grep -v wireshark* | nl 

Sunucu üzerinde kurulu bir paketi pipe ile bulalım 

Dpkg –l | grep –i nano 

Rpm –qa | grep –i nano 

 

Kullanıcılar ve Gruplar 

Root kullanıcısı tüm yetkiye ve erişimlere sahiptir. Sistem seviyesinde yetkiler için kullanılır. Ev dizin /root dizinidir. İhtiyaç olmadıkça kullanılmaması önerlilir. 

Diğer kullanıcılar ise, kendilerine veya gruplarına tanımlı yetkileri kullanılar. Ev dizinler varsayılan olarak /home/ dizini içerisine oluşmaktadır. 

UID = USER ID 

Kullanıcılar /Etc/passwd altında tanımlanır ve bu listeyi tüm kullanıcılar okuayabilir. Dosyayı açtığınız zaman aslında bir tablodur ve  sütünler halinde ayrıldığını görebilirsiniz. Burada gözüken tüm kullanıcılar oturum açtığı anlamına gelmez. Belirli uygulamaları çalıştırmak için oluşturmuşlardır ve sistemde oturum açamazlar. 

Parolalar ise /etc/passwd  

 
GID= Grup ID  

Anlamlarını ifade eder. 

Bir kullanıcı birden fazla gruba dahil edilebilir. 

Grup üyeleri /etc/group altında tanımlanır. 

 

Kullanıcı eklemek, silmek vb işlemler için yönetici haklarına sahip olmanız geremektedir. 

Kullanıcı ekleme,  

Useradd 

Useradd komutundan farklı olarak adduser bize ne yaptığını anlatan bir arayüz gelmektedir. 

Kullanıcı ekledikten sonra shadow dosyasına baktığımız zaman kullanıcının parolası olmadığı için ! Işareti olduğunu yani hashinin gelmediğini görüyoruz bunun için parola belirlememiz gerekmektedir.  

Passwd komutu parolalar ekrana yazılmaz ama arka planda işlenir. 

Kullanıcı silme 

userdel 

Deluser ise yine bize silme işleminden sonra bize bir özet ekranı verecektir.  

Grupları listeleme ve ekleme ve silme  

Kullanıcı gruplarını yönetme 

Grup işlemleri 

Ilk olarak grupları okuyalım 

Cat /etc/group 

Grup ekleme 

Addgroup finans 

Addgroup aile 

Grup silme 

Delgroup aile 

 

!! Eğer kullanıcılar birden fazla gruba üye ise bunu etc/groub altından veya id komutu ile görülebilir. 

Kullanıcıları gruplara dahil edelim. 

Usermod –a –G grupadi  kullanıcıadi 

A = add ekleme 

G= grup  

SAHİPLER VE İZİNLER  

SAHİPLER 

Sahip olan kullanıcı ve gruplara  izinler tanımlanmıştır. O yüzde sahiplik çok önemlidir. 

Root kullanıcısının dosya sisteminde en geniş yetkiye sahiptir. Yani dosya üzerinden tüm erişime sahiptir. Sistem üzerindeki dosyaları okuyabilir, çalıştırabilir silebilir anlamına gelmektedir. Yönetici iznine sahip bir kullanıcı dosya izinlerini değiştirebilir. Yani sahip olmadığı bir dosya üzerinde değişiklikler yapabilir. 

 

chown 

Sistemde var olan kullanıcıları bilmeni gerekmektedir. 

Chow kullanıcı_adi dosya/dizin adı dosyanın kullanıcı sahibini değiştirmiş olduk. 

Chgrp grup_adi dosya/dizin adı dosyanın grup sahibini değiştirmiş olduk. 

Kullanıcı ve grup sahibini toplu olarak değiştirmek istersek 

Chown ahmet:finans dosya/dizin adı ile kullanıcı sahibini ahmet, grup sahibini finasn olarak güncelliyorum. Bu işlemler alt dosya ve dizinler üzerindeki izinleri etkilemeyecektir. 

Chown –R  yani recursive, bir dizinin sahipliğini değiştirirken içinde bulunan dosya ve dizinlerinde sahipliğini değiştirmeye yarar. 

Chgrp –R  

 

Chown –R  

 

 

Kullanıcılar gruplar ve diğerleri Her bir rakam hepsi sayılır 

chmod 

r4 

w2 

x1 

777 tüm yetkileri verir 

000 tüm izinleri alır 

  

chmod 741 dosya/dizin 

  

Yukarıdaki örnek Kullanıcıya(w,r,x) Grup(r)okuma Diğerlerinede (x)çalıştırma 

Alt dizin ve dosyalara izinleri aktarmak için  

Chmod –R  

 

 

 

Servisler 

 

Linuxte arka planda, gerektiğinde kullanılmak için sürekli çalışan uygulamalara servis deriz. İstenildiği zaman durdurulabilr çalıştırılabilir yönetebilirz. 

Sevisleri ekleyebiliriz silebiliriz.  Neleri servis olarak olarak örnek verebiliriz. Kullanıcı yönetimi olan loging servisi, kayıt tutma log servisi , web (apache, nginx) ssh, servisi gibi örnekler verebiliriz.   

Linuxte sistemdeki servisleri yönetmek için kullandığımız komut systemctl dir. 

systemctl list-units --type service komutu ile sistem üzerindeki servis ünitlerini görebiliriz.  

Listelediğimiz zaman running çalışan servisler, extended çalışıp duran servileri görebiliyoruz. 

Şimdi sadece çalışan servisleri görelim 

systemctl list-units --type service –state running 

Bir servis hakkında bilgi almak için status komutunu kullanmamız gerekmektedir. Servisin ne zaman çalıştığını, aktif olup olmadığı, sistem açılışında çalışıp çalışmayacağı gibi bir çok bilgi alabiliriz. 

Servisin pid, si task ı o anda ne kadar ram kullandığını ve loglarını inceleyebiliriz. 

Servislerin nerede çalıştığını görebilir ve bunları okuyabiliriz. 

Cat /lib/systemd/Network bu bir servis dosyasıdır. 

 

 

/etc/init.d/services_adi restart 

systemctl restart servis 

systemctl enable servis 

systemctl disable servis 

systemctl status servis 

 

 

  

NETWORK 

İP 

Ifconfig komutu yeni sürümlerde yüklü gelmemektedir, bu durumda  ip komutunu kullanmamız gerekmektedir. 

Ip addr show  

Kısaltması olarak ip a komutunu kullanabiliriz. 

Komutu çalıştırdıktan sonra iki adet ethernet gözükmektedir 

Lo back yani bilgisayarın kendisini temsil eder ve 127.0.0.1 olarak gözükür. 

Diğeri ise internete çıktığımız ethernettir. Bu kısımda ip adresi cihazın mac adresi görmekteyiz. Ethernetin durumunu görebiliriz.  

Inet 6 ise ipv6 göstermektedir. Bildiğiniz gibi dünyada ipv4 tükendiği için zamanla ipv6 ya geçişler başlamıştır. 

  

Komut satırına sadece hostname –I yazarak sadece ip adresini görebiliriz. 

 

Ping atarak paketlerin gönderildilip ne kadar saniyede döndüğünü görebiliriz. Her saniyede bir ping gönderir ve dönüş ms lerini bize gösterir. Programdan çıktığı zaman kısa bi açıklama bize verecektir. 

Ping 8.8.8.8 

Ping –c 3 8.8.8.8 

 

Güvenlik duvarı açık olduğundan eğer gerekli izinler verilmez ise ping atılamaz. 

 

Ağ bağlantısı üzerinde oluşan trafiğin izlemek için tcpdump aracını kullanabiliriz.  

Bunu daha görsel olarak izlemek için, iftop programını kullanabiliriz. Bu program yüklü olarak gelmez ve bağlandığımız sunucuları gelen/giden paket istatistiklerini gösterir. 

 

Tabiki ağ trafiğini izlemek için kullanılabilecek en güzel programlardan bir tanesi wiresharktır ve çok popülerdir. 

 

 

DNS 

Domain name system Isimleri, IP adreslerine çevirmek için kullanılan bir sistemdir. En basit örnek ile telefon rehberi .  DNS servisler genelde ISP tarafından sağlanır. KUllanıcılar isterse kendi dns hizmetlerini kullanabilir. 

 

 

DNS sorguları yapmak 

Nslookup  

Dig 

 

Reverse dns ise ip adresine gidip dns sorgulayabiliriz. Çoğu zaman çalışmamaktadır. 

 

Eğer bir mail sunucusunu öğrenmek istersek 

Nslookup –query=mx mynet.com 

Şimdi ise isim sunucularını öğrenelim. 

Nslookup –query=ns mynet.com 

 

 

 

Telnet 

 

Snmp 

 

DİSK İŞLEMLERİ 

 

CLI --> fdisk, cdisk, gdisk 

GUI --> gparted 

  

Package Converter 

uygulama converter  

alien 

 

hdd 

gdisk komutu 

mbr gpt ye çevirmek için kullanılır. 

w enter 

  

 

PAKET VE GÜNCELLEME İŞLEMLERİ 

Paketler, genelde bir yazılımın derlenmiş hali ya da kaynak kodudur. Bir paket içerisinde kaynak kodlar, bağımlılıklar, kurulum dosyaları, dökümantasyonlar oluşmaktadır. Bu kısımda paket yöneticileri devreye girmektedir. Bilgisayarımıza bir paketi kolaylıkla kurmamızı kaldırmamızı ve yapılandırmamızı sağlayan sistemlerdir. 

 

Apt paket yöneticisi, bilgisayarımıza bir paketi kolaylıkla kurmamızı, kaldırmamızı ve yapılandırmamızı sağlayan paket yönetim sistemidir. 

 

Apt update paketlerin listesini günceller, yani bir paketin güncel halini kurmadan listeyi güncellememiz gerekmektedir. 

Apt install paketleri yükler. 

Apt remove yüklü olan bir paketi kaldırır 

Apt upgrade, bilgisayarda kurulu olan paketlere bakarak en güncel hale yükseltir. 

 

Örnek olarak bir vlc kurulumu başlattığınız zaman, vlc nin ihtiyaç duyduğu bağımlılıklar, hepsini yükleyecektir. Zaten en alt kısımıda kaç adet paket kurulacağını söylemektedir. İlk olarak paketi indirip, sonrasında kurup kullanıma hazır hale getirecektir. 

 

Eğer uygulamanın ismini bilmiyorsanız, apt search komutunun yanına aramak istediğiniz paket hakkında bir şeyler yazarak bulmayı kolaylaştırabilirsiniz. 

Apt search browser 

 

Paket yükseltme işlemi yapmadan önce, hangi paketlerin yükseltileceğiniz bilmemiz önem arz eder Bunun için öncelikle apt list –upgradable 

Buradan güncellemek istediğimiz programı bulalım . 

Bulduktan sonra hangi pakete yükseltileceğini görüyoruz. 

Yükseltme işlemi yapmak için,  paketi tekrar yüklüyormuş gibi yapıyoruz. Bu işlemden sonra zaten paketin yükseltileceği bilgisini veriyor. 

Eğer sistem üzerindeki tüm paketleri güncellemek isterseniz,  

Apt upgrade komutunu çalıştırmamız yeterlidir. 

  

Paket kaldırma 

Bir paketi yüklerken hatırlarsanız, ihtiyaç duyduğu bir çok bağımlıklıkta kurulmaktadır. Paketleri kaldırırken bağımlılıklar kalmaktadır. Ilk olarak paketi kaldıralım. 

Apt remove paket_Adi 

Bağımlılıkların gereksiz yer kaplamaması için  kaldırmak için aşağıdaki komutu çalıştıralım. Bu komutu çalıştırdıktan sonra, ne kadar paket kalkacağı ne kadar  yer açılacağı gibi bir çok bilgi verecektir.  

Autoremove 

 

Ne olduğunuzu bilmediğiniz, paketleri kaldırmanız sisteme zarar verebilir. Paketleri kaldırdığınız zaman konfigürasyon dosyaları oluşur ve kaldırma işlemi yaptığınız da bu dosyalar kalır. Bu işlem sonrası hem paket hem konfigürasyon dosyaları kaldırılır. 

Apt purge wireshark 

 

Purge komutu bağımlılık paketlerini kaldırmaz. 

 

Paket dosyasından paket kurulumu 

Debian tabanlı sistemler, dpkg programı kullanılır. Debian paket yönetrimi sisteminin temelini oluşturur. Burada bilmemiz gereken önemli bir nokta vardır. Eğer dpkg ile bir program yüklüyorsanız paketin çalışması için gereken tüm bağımlıkları yüklemeniz gerekir . Apt paket yöneticisinin de amacu zaten budur. 

Wget ile bir dosya indiriyorum örnek liefpad 

 

Indirme işlemi bittikten sonra 

Dpkg –i paket.deb yazarak kurulumu başlatıyorum. 

 

Dpkg –l ile sistemde yüklü olan tüm paketleri görebiliriz. 

Paketi kaldırmak için ise  

Dpkg –r leafpad yazarak veya depo da var ise apt remove yarak paketi kaldırabiliriz 

 

SHELL PROGRAMLAMA 

 

Sh unix kabuğu  bash ise  

Echo türkçede yankı gelen ekrana yazdırmamızı sağlayan bir komuttur. Shell programala demek bunları script haline getirmemizdir. 

Shell programlarının ilk satırında hangi shell türü olduğu yazılması gerekmektedir. 

Vi sss.sh 

#!/bin/sh   gibi 

Echo “merhaba dünya”  

Touch meraba.txt 

Echo “ biz dostuz” >> merhaba.txt 

 

Çoğu linux sürümünde sh kabuğu bash e yönlendirilmiştir.  

Dash ise bashe göre daha hızlıdır ve az kkaynak tüketir. Hatta yeni sürümlerde sh dash e yönlendirilmiştir.  

Bunu anlamak için aşağıdaki komutu çalıştırabiliriz. 

file -h /bin/sh 

Veya ll /bin/sh 

Gördüğünüz gibi sembolik olarak bağlanmıştır. 

 

Bir programı çalıştırmadan da deneyebilirsiniz,  

Kabuğu sonrasında dosyayı yazabiliriz. 

Bash deneme.sh 

Yorumlar bırakara diez işareti koyabiliriz,  yani satırların ne işe yaradığını yazmamız faydalı olacaktır. 

If döngüsü kullanımı 

???? 

Ekrana tarihi ve takvimi yazdıralım 

Yazdığımız shell programları, komutları çalıştırabildiği gibi farklı shell programlarını da çalıştırabilir. Bu derste bir shell programı içinden farklı bir shell programının çağırılması anlatılıyor.  

İstersek  bittikten sonra başka bir programı çalıştırabiliriz. 

En altına  

Bash /etc/bash.sh 

 

 

 

 

 

 

Blog'a Dön