Linux Dersleri 42. systemctl

  • systemctl linux servislerini ve hatta 3.parti servisleri kontrol etmeye yarayan bir araçtır.
  • Centos 7 ile birlikte service komutunun yerini almıştır.

Bazı kullanım şekli;

  • systemctl (systemctl list-units ile aynı işlevi görür)

Sistemdeki aktif servisleri gösterecektir.

  • systemctl list-units –all

Sistemdeki aktif olsun olmasın tüm servisleri gösterir.

  • systemctl start | stop | status servisadı.aplikasyon (sadece aplikasyon adını yazarak da genelde kullanılabilir)

Yukardaki komut istediğimiz servisi sırasıyla başlatmaya, durdurmaya veya durum bilgisini almaya yarar.

  • systemctl enable aplikasyon

Yukarıdaki komut aplikasyonumuzun sistem her boot edildiğinde başlatılmasını sağlar, bunun için sistem arkplanda /lib/systemd/system veya /etc/systemd/system içinde bulunan servis dosyasından sembolink link oluşturup diskte systemdnin otomatik başlatılacak dosyaların bulunduğu yere atar.

  • systemctl disable aplikasyon

Yukardaki komut aplikasyonunun otomatik başlatılmasını sağlayan sembolik linki kaldırır.

  • systemctl status aplikasyon

Yukardaki komut servis durumunu, cgroup hiyararşini ve birkaç log satırını gösterir.

  • systemctl restart aplikasyon

Yukardaki komut servisi yeniden başlatmamızı sağlar

  • systemctl reload aplikasyon

Yukardaki komut restart ile aynıdır, servisi yeniden başlatmamızı sağlar

  • systemctl restart-or-reload aplikasyon

Yukardaki komut eğer aplikasyonda restart veya reload komutlarından hangisini çalıştıracağımızdan emin değilsek kullanabiliriz.


systemctl ile bilgisayarımızı aşağıdaki şekilde yeniden başlatabilir, kapatabilir veya halt edebiliriz.

  • systemctl poweroff
  • systemctl reboot
  • systemctl halt

Not: Ayrıca kendi istediğimiz dosyaları systemctl tarafından kontrol edilmesini istiyorsak /etc/systemd/system klasörü altına servisadı.service adı altında kaydederek yapabiliriz. Bu şekilde yarattığımız dosyaların belli bir formata uyması gerekmektedir

Ör :

[Unit]
Description=<Servis tanımı>

[Service]
User=<kullanıcı adı ör: root>
WorkingDirectory=<servisin klasörü ör: /root>
ExecStart=<çalıştırılacak script adı>
# Ekstra parametreler
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target

eğer bir phyton eklemek istersek şu şekilde yapabiliriz.

[Unit]
Description=<Servis tanımı>

[Service]
User=<kullanıcı adı ör: root>
WorkingDirectory=<Phyton scriptinin bulunduğu klasör>
ExecStart=/home/user/.virtualenv/bin/python main.py
# Ekstra parametreler
Restart=always
RestartSec=3
# /home/user/.virtualenv/bin/python 'u kendi virtualenv and main.py dosyalarınızın olduğu yerle değiştirin

[Install]
WantedBy=multi-user.target
İşletim sistemleri, Linux kategorisine gönderildi | , , , , ile etiketlendi | Yorum yapın

Linux Dersleri 41. Linuxda prosesler, görevler ve zamanlayıcılar

  • Application / Service

Linuxda application yani programlar aynı zamanda bir servis gibidirler. Windowsdaki word, powerpoint veya ntp, nfs, apache, rsyslog gibi.

  • Script

Scriptler bir dosyaya yazılan ve çalıştırılabilir olan dosyalardır. Örneğin linuxda shell scriptleri ve temel komutları; adduser, pwd, cd vb. birer scripttir.

  • Process

Bir uygulama çalıştırdığımızda bir veya daha fazla process ve bunlara bağlı idler oluşturur.

  • Deamon

Deamon processlerden farklı olarak özel olarak durdurulmadığı sürece arka planda çalışan processlerdir.

  • Threads

Her process bir veya daha fazla thread üretir. Thread processle aynı işlevi görmekle beraber daha ufak görevler için üretilir.

  • Job

Bir zamanlayıcı tarafından belirli bir zamanda çalışması için oluşturulmuş process veya threadlerdir.


PROCESS VE SERVİS KOMUTLARI

  • Systemctl (eski adıyla service)
  • ps

Sistemde çalışan processleri göstermeye yarar

  • top

Sistemdeki bütün processleri detaylı şekilde gösterir. Bu detaylar arasında kullanılan ram ve cpu miktarları, kullanıcılar vs.

  • kill

Process sonlandırmak için kullanılır process adıyla veya idsiyle kullanılır.

  • crontab

Aplikasyonları, processleri veya servisleri zamanlamak için kullanılır. crontable bir process eklediğimiz zaman linux literatüründe bu artık bir job olmuş olur.

  • at

crontable aynı işlevi görür tek farkı zamanlanmış işlem sadece 1 kere çalışır.

İşletim sistemleri, Linux kategorisine gönderildi | , , , , , , , , , , , ile etiketlendi | Yorum yapın

Linux Dersleri 40. Yararlı sistem komutları

  • date

Sistem zamanını verir.

  • uptime

Sırasıyla sistem zamanını, ne kadar zamandır sistemin çalışır vaziyette olduğunu, kaç kullanıcının halihazırda giriş yaptığını ve son olarak 1, 5 ve 15 dakikalık ortalama cpu yükünü yüzde olarak verir.

  • hostname

Linux makinamızın adını verir.

  • uname

Bağlandığımız bilgisayarın kernel adını verir.

  • uname -n

hostname komutuyla aynıdır, bağlandığımız bilgisayarın diğer bilgisayarlarla iletişim kurarken kullandığı ağ adını verir.

  • uname -r

Bağlandığımız bilgisayarın kernel versiyonunu verir.

  • uname -p

Bağlandığımız bilgisayarın işlemci mimarisini verir.

  • uname -a

Bağlandığımız bilgisayarın yukarda saydığımız tüm bilgilerini toplu halde verir.

  • which komutadı

Kullandığımız komutun linuxun hangi klasörü altında bulunduğunu gösterir. Unutmayın ki linuxda her şey bir dosyadır.

  • cal

Takvimi gösterir.

  • Ör : cal 9 1975

1975 yılında 9. ay olan Eylül ayının takvimini gösterir, bu şekilde o ayın takvimine bakarak hangi günde doğduğunuzu bulabilirsiniz 🙂

  • Ör : cal 1990

1990 senesinin bütün aylarını gösterir.

  • bc

Binary calculator’ın kısaltılmışıdır hesap makinesi işlevi görür.

İşletim sistemleri, Linux kategorisine gönderildi | , , , , , , , , ile etiketlendi | Yorum yapın

Linux Dersleri 38. Kullanıcılarla iletişim

  • users

Bu komutla sisteme giriş yapmış (login) kullanıcıları listeler

  • wall

Sistem geneli bir mesaj yazmanızı sağlar, yazdığınız mesaj sisteme giriş yapmış aktif bütün kullanıcılar tarafından görülür, sistemi yeniden başlatacaksanız ve kullanıcıları uyarmak isterseniz wall komutuyla kullanıcıları bilgilendirmek işe yarar. Yazdığınız mesajdan “ctrl + d” ile çıkabilirsiniz. Mesaj yazılır yazılmaz bütün kullanıcılara gider. Kullanıcılar mesaj alanından “enter” a basarak çıkabilirler.

  • write kullanıcıadı

Belli bir kullanıcıya mesaj yazmak için kullanılır. Mesaj yazdıktan sonra enter tuşuna basar basmaz mesaj kullanıcıya gider. Kullanıcı mesajın kimden geldiğini görür. Mesajı yazan kişi gene “ctrl+d” ile mesajdan çıkabilir.

İşletim sistemleri, Linux kategorisine gönderildi | , , , ile etiketlendi | Yorum yapın

Linux Dersleri 37. Kullanıcıları izlemek

  • who

Hangi kullanıcıların sisteme ne zaman login olduğunu, login olanların terminal idsini verir. who komutunu sistemde çok fazla yoğunluk olduğu zaman kaç kişinin sisteme giriş yaptığını görmek için kullanırız.

  • last

En son sisteme giriş (login) yapan kullanıcıları saatleriyle görmemizi sağlar.

  • w

w komutu who’ya benzer whodan biraz daha fazla bilgi verir.

  • finger

Genelde saf linux dağıtımında gelmez, kurmanız gerekir, (pinky alternatif olarak kullanılabilir) Aşağıdaki şekilde kurabilirsiniz.

yum install finger -y (redhat,centos dağıtımlarında)

sudo apt-get install -y finger (debian tabanlı dağıtımlarda)

sudo dnf install finger (Fedora)

  • finger kullanıcıadı

Yukarıdaki örnek kullanıcının home klasörünü, bashını, emailini, dahil olduğu planı, ne zaman sisteme giriş yaptığı gibi bilgileri verir

  • finger -s kullanıcıadı

Yukarıdaki örnek kullanıcının sadece idle durumunu ve ne zaman giriş (login) yaptığı bilgisini verir.

  • finger -p manav

-p parametresini kullanırsak mail,pgp key ve plan gözükmez

  • id

Eğer kullanıcı adı girilmeden kullanılırsa sizin hakkınızda bilgi verir. Bu bilgiler arasında kullanıcı idiniz ve ait olduğunuz gruplar yer alır. Kullanıcı adı belirtirseniz o kullanıcı hakkında bu bilgileri verir.

İşletim sistemleri, Linux kategorisine gönderildi | , , , , , ile etiketlendi | Yorum yapın

Linux Dersleri 36. Kullanıcı değiştirme ve sudo yetkisi

Linuxda kullanıcı değiştirmek için su komutu kullanılır, kullanım şekli aşağıdaki gibidir;

su kullanıcıadı

veya

su – kullanıcıadı

Not: su komutuyla birlikte kısa çizgi kullanmazsak içinde bulunduğumuz klasör, enviromental variables denilen kullanıcı ayarları ve shellimiz değişmez.

Not : root kullanıcısında geçmek için kullanıcıadı yazmamıza gerek yoktur.

Not : kullanıcı accountundan çıkmak için exit komutunu kullanırız.

Root yetkiniz olmadığı ve root yetkisi gerektiği durumlarda aşağıdaki gibi sudo komutunu kullanırız;

sudo komut

Not : Bir kullanıcının sudo yetkisini /etc/sudoers dosyasında belirlenir bu dosyayı sudo visudo komutuyla editleyebiliriz.

sudoers yetkisini kullanıcıyı sudo grubuna ekleyerek de aşağıdaki şekilde verebiliriz.

usermod -aG sudo kullanıcıadı

Not : Bu grup bazen wheel de olabilir sudoers dosyanızda sudoers’in hangi grup olduğuna bakarsanız şuna benzer bir satır görmeniz gerekir;

%sudo ALL=(ALL:ALL) ALL

İşletim sistemleri, Linux kategorisine gönderildi | , , , , , ile etiketlendi | Yorum yapın

Linux Dersleri 34. Kullanıcı yönetimi

Linuxda kullanıcı yönetimi için kullanılan komutlardan bazıları şunlardır.

  • useradd
  • groupadd
  • userdel
  • groupdel
  • usermod

Bu vb komutlar linuxda 3 farklı dosyada saklanır. Bunlar sırasıyla

  • /etc/passwd
  • /etc/group
  • /etc/shadow
  • /etc/gshadow

dur.

useradd komutunun basit kullanım şekli şöyledir

Ör : useradd kullaniciadi

Bazı linux dağıtımlarında yukarıdaki şekilde useradd komutu kullanıldığında default bir home klasörü yaratmayabilir bu yüzden useradd komutunu aşağıdaki şekilde -m opsiyonuyla kullanmak gerekebilir.

Ör : useradd -m kullaniciadi

useradd komutu ile tam olarak bir kullanıcı yaratmak için komutu şu şekilde kullanırız

Ör : useradd -g grupadi -s /bin/bash -c “kullanıcı tanımı” -m -d /home/kullaniciadi kullaniciadi

Bazı linux dağıtımlarında -g opsiyonu kullandığınızda grup önceden yaratılmamışsa hata verecektir. Bu tür bir durumda aşağıdaki şekilde -g opsiyonunu kullanmadan kullanici adiyla aynı adla bir grup yaratılmasını sağlayabiliriz.

Ör : useradd -s /bin/bash -c “kullanıcı tanımı” -m -d /home/kullaniciadi kullaniciadi

Kullanıcı silmek için userdel komutunu kullanırız, kullanımı aşağıdaki şekildedir;

Ör : userdel -r kullanıcıadı

Kullanıcı silerken -r opsiyonunu kullanmazsak kullanıcı ile yaratılan klasörleri silmez. Buna dikkat etmek gerekir.

Grup yaratmak için groupadd komutunu kullanırız, basit kullanımı aşağıdaki şekildedir;

Ör : groupadd grupadı

Grup silmek içinse grupdel komutunu kullanırız, basit kullanımı aşağıdaki şekildedir;

Ör : groupdel grupadı

usermod komutu kullanıcı üzerinde çeşitli değişiklikler yapmamızı sağlar, örneğin kullanıcıyı başka bir gruba daha eklemek için (örneğin yenibirgrup) usermod komutunu aşağıdaki şekilde kullanabiliriz.

Ör : usermod -G yenibirgrup kullanaciadi

Not: -G opsiyonu kullanıcının esas grubunu değiştirmez sadece diğer gruplara ekler kullanıcının grubunu değiştirmek için chgrp komutunu aşağıdaki şekilde kullanırız;

Ör : chgrp -R yenigrupadı kullaniciadı

Kullanıcı yarattıktan aşağıdaki gibi passwd komutuyla kullanıcımızın şifresini oluşturabiliriz. passwd komutunu kullanınca sizden 2 defa aynı şifreyi girmenizi isteyecek, şifreyi girdikten sonra şifreniz oluşturulacaktır.

Ör : passwd kullaniciadi

İşletim sistemleri, Linux kategorisine gönderildi | , , , , , , , ile etiketlendi | Yorum yapın

Linux Dersleri 33. sed komutu

Sed komutu bir dosyadaki yazılar üzerinde çeşitli değişiklikler yapmamızı sağlar bunlardan bazıları;

  • sed komutuyla bir dosyadaki bir kelimeyi değiştirebilirsiniz
  • Bir kelimenin bulunduğu satırları silebilirsiniz.
  • Boş satırları silebilirsiniz
  • İlk satırı veya istediğiniz adette satırı silebilirsiniz.
  • Tabları spacelerle değiştirebilirsiniz.
  • Bir dosyadan istediğiniz satırları gösterebilirsiniz.
  • vi editör içinde değişiklik yapabilirsiniz.

Genel kullanımı şu şekildedir;

Ör : sed ‘s/değiştirilecekkelime/yenikelime/’ dosyaadi

Yukarıdaki örnekte kullanılan sed komutu sadece bir kelimeyi değiştirirken g parametresini aşağıdaki gibi uygularsak bütün dosyada değişiklik yapar. Burdaki s harfi ingilizce subsitute yani değiştirme kelimesinin ilk harfidir.

Ör : sed ‘s/değiştirilecekkelime/yenikelime/g’ dosyaadi

Yukardaki örnek değişiklik yapmakla beraber bunu dosyamıza yazmaz sadece çıktıda görünür. Eğer dosyaya yazmak istersek aşağıdaki gibi -i parametresini kullanmamız gerekir.

Ör : sed -i ‘s/değiştirilecekkelime/yenikelime/g’ dosyaadi

Eğer ikinci aralığı aşağıdaki gibi boş bırakırsanız dosyanızdan bütün o kelimeleri çıkaracaktır.

Ör : sed -i ‘s/değiştirilecekkelime//g’ dosyaadi

Eğer bir kelimenin geçtiği tüm satırları silmek istersek “d” parametresini aşağıdaki şekilde kullanırız.

Ör : sed -i ‘s/silineceksatırlardakikelime/d’ dosyaadi

Boş satırları kaldırmak istiyorsak sed komutunu aşağıdaki şekilde kullanırız.

Ör : sed -i ‘s/^$/d’ dosyaadi

Sadece ilk satırı kaldırmak istersek sed komutunu şu şekilde kullanırız.

Ör : sed -i ‘1d’ dosyaadi

ilk 2 satırı kaldırmak istersek sed komutunu şu şekilde kullanırız.

Ör : sed -i ‘1,2d’ dosyaadi

Kelimelerdeki tabları kaldırmak için sed komutunu şu şekilde kullanırız.

Ör : sed -i ‘s/\t/ /d’ dosyaadi

10 ile 20. satır arasını almak istersek sed komutunu aşağıdaki şekilde kullanabiliriz.

Ör : sed -n 10,20p dosyaadi

10 ve 20. satırlar arasında kalanlar haricindeki almak istersek aşağıdaki gibi sed komutunu veririz.

Ör : sed 10,20f dosyaadi

Her satırdan sonra boş bir satır bırakmak istersek sed komutunu şu şekilde kullanmamız gerekir.

Ör : sed G dosyaadi

Eğer bir satırdaki hariç istediğimiz bir kelimeyi değiştirmek istersek sed komutunu aşağıdaki gibi kullanırız. (örneğin 7. satırdaki)

Ör : sed ‘!7s/eskikelime/yenikelime/g’ dosyaadi

vi içindeyken sed kullanmak istersek aşağıdaki şekilde kullanabiliriz

:%s/eskikelime/yenikelime/

İşletim sistemleri, Linux kategorisine gönderildi | , ile etiketlendi | Yorum yapın
Page 4 of 10
1 2 3 4 5 6 … 10