Linux Bilgi

Açılır sayfadan bilgilere ulaşabilirsiniz.

💡 Bilgisayarımızın adını kalıcı olarak değiştirmek için, hem /etc/hostname hem de /etc/hosts dosyalarını düzenlememiz gerekir.

  • 1. /etc/hostname dosyasını düzenleyelim.

/etc/hostname dosyası, bilgisayarımızın ana bilgisayar adını içeren bir metin dosyasıdır. Bu dosyayı düzenlemek için şu komutu kullanalım:

sudo nano /etc/hostname

Dosya açıldıktan sonra, mevcut ana bilgisayar adını yeni ana bilgisayar adıyla değiştirelim. Örneğin, ana bilgisayar adımızı “yeni-isim” olarak değiştirmek için şu satırı kullanalım:

yeni-isim

  • 2. /etc/hosts dosyasını düzenleyelim.

/etc/hosts dosyası, bilgisayarımızın IP adreslerini ve ana bilgisayar adlarını içeren bir metin dosyasıdır. Bu dosyayı düzenlemek için şu komutu kullanalım:

sudo nano /etc/hosts

Dosya açıldıktan sonra, mevcut ana bilgisayar adını yeni ana bilgisayar adıyla değiştirelim. Örneğin, ana bilgisayar adımızı “yeni-isim” olarak değiştirmek için şu satırı bulup ve düzenleyelim:

127.0.0.1 localhost
127.0.1.1 yeni-isim

Yeni ana bilgisayar adı için bir IP adresi girmemize gerek yoktur.

Dosyayı kaydetmek ve kapatmak için Ctrl+X tuşlarına basıp, ardından Y tuşuna basalım.

3. Bilgisayarı yeniden başlatalım.

Bilgisayarı yeniden başlatmak için şu komutu kullanalım:

sudo reboot

Bilgisayar yeniden başlatıldıktan sonra, yeni ana bilgisayar adını görebiliriz.

Notlar:

 

  • Bilgisayarınızın ana bilgisayar adını değiştirmek, yalnızca root kullanıcısı olarak yapabilirsiniz.
  • Bilgisayarı yeniden başlatmadan önce değişiklikleri kaydetmeyi unutmayın.

apt net-tools komutu, Ubuntu Linux dağıtımındaki net-tools paketini yükler. net-tools paketi, ağ arayüzlerini yönetmek için kullanılan bir dizi araç içerir. Bu araçlar, ağ arayüzlerini listelemeyi, ağ arayüzlerinin özelliklerini değiştirmeyi ve ağ arayüzlerini yapılandırmayı sağlar.

net-tools paketi, aşağıdaki araçları içerir:

  • ifconfig: Ağ arayüzlerini listeler ve ağ arayüzlerinin özelliklerini gösterir.
  • route: Ağ yönlendirme tablosunu gösterir.
  • arp: Ağ adres çeviri tablosunu gösterir.
  • netstat: Ağ bağlantılarını gösterir.
  • traceroute: Bir hedefe giden ağ yolunu gösterir.
  • ping: Bir hedefin kullanılabilir olup olmadığını test eder.
  • tcpdump: Ağ trafiğini yakalar.
  • netcat: Ağ bağlantıları oluşturur.

apt net-tools komutunu kullanarak net-tools paketini yüklemek için aşağıdaki adımları izleyin:

  1. Bir terminal açın.
  2. Aşağıdaki komutu girin:
sudo apt install net-tools
  1. Yönetici şifresini girin.
  2. Enter tuşuna basın.

Ubuntu’da SSH bağlantısı kurabilmek için aşağıdaki paketleri yüklemeniz gerekir:

  • openssh-server: SSH sunucusunu yükler.
  • openssh-client: SSH istemcisini yükler.

Bu paketleri yüklemek için aşağıdaki adımları izleyin:

  1. Bir terminal açın.
  2. Aşağıdaki komutları girin:
sudo apt update
sudo apt install openssh-server openssh-client
  1. Yönetici şifresini girin.
  2. Enter tuşuna basın.

Bu komutlar, openssh-server ve openssh-client paketlerini yükleyecektir.

openssh-server paketi, SSH sunucusunu yükler. SSH sunucu, uzak makinelere bağlanmak için kullanılan bir hizmettir.

openssh-client paketi, SSH istemcisini yükler. SSH istemcisi, SSH sunucularına bağlanmak için kullanılan bir araçtır.

SSH bağlantısı kurmak için, uzak makinenin IP adresini ve port numarasını bilmeniz gerekir. SSH sunucusunu uzak makinede yapılandırdıysanız, SSH bağlantısı kurmak için aşağıdaki komutu kullanabilirsiniz:

Ubuntu’da yeni bir kullanıcı oluşturmak için aşağıdaki adımları izleyin:

  1. Bir terminal açın.
  2. Aşağıdaki komutu girin:
sudo adduser [kullanıcı adı]

Örnek:

sudo adduser yeni-kullanıcı

Bu komut, yeni bir kullanıcı hesabı oluşturacaktır.

cat /etc/passwd

Bu komut, /etc/passwd dosyasını okuyacak ve dosyadaki tüm kullanıcı hesaplarını listeleyecektir.

Listeyi inceleyerek, aktif olmayan veya silinmiş kullanıcı hesaplarını belirleyebilirsiniz.

Aktif olmayan bir kullanıcı hesabını kaldırmak için aşağıdaki komutu kullanabilirsiniz:

sudo deluser [kullanıcı adı]
cat /etc/passwd | wc -l

Bu komut, /etc/passwd dosyasını okuyacak ve dosyadaki kullanıcı sayısını sayacaktır.

Örneğin, sistemde 10 kullanıcı varsa, bu komut aşağıdaki çıktıyı üretecektir:

10

Bu komut, 22 numaralı bağlantı noktasında dinleyen tüm hizmetleri listeleyecektir. OpenSSH servisi açıksa, bu komut sshd hizmetinin 22 numaralı bağlantı noktasında dinlediğini gösterecektir.

  • systemctl status sshd komutunu kullanarak:
systemctl status sshd

Bu komut, SSH servisinin durumunu gösterecektir. OpenSSH servisi açıksa, bu komut sshd.service servisinin Active (running) olarak çalıştığını gösterecektir.

OpenSSH servisinin açık olup olmadığını anlamak için aşağıdaki yöntemleri kullanabilirsiniz:

  • netstat komutunu kullanarak:
netstat -an | grep 22

 

 
 

 

 

şağıdaki örnekte, “deneme” kullanıcısına sudo yetkileri verilir:

# sudo visudo

deneme ALL=(ALL:ALL) ALL

# sudo reboot

# sudo apt update

Linux işletim sisteminde dosya ve dizin kopyalama, taşıma ve isim değiştirme işlemleri için aşağıdaki komutları kullanabilirsiniz:

Dosya Kopyalama

Dosya kopyalama işlemi, bir dosyanın aynı içeriğiyle başka bir konumda bir kopyasını oluşturma işlemidir. Dosya kopyalamak için aşağıdaki komutu kullanabilirsiniz:

cp [kaynak dosya] [hedef dosya]

Örneğin, /home/kullanıcı/dosya.txt dosyasını /home/kullanıcı/kopya.txt dosyasına kopyalamak için aşağıdaki komutu kullanabilirsiniz:

cp /home/kullanıcı/dosya.txt /home/kullanıcı/kopya.txt

Dosya Taşıma

Dosya taşıma işlemi, bir dosyayı başka bir konuma taşıma işlemidir. Dosya taşımak için aşağıdaki komutu kullanabilirsiniz:

mv [kaynak dosya] [hedef dosya]

Örneğin, /home/kullanıcı/dosya.txt dosyasını /home/kullanıcı/kopya dizinine taşımak için aşağıdaki komutu kullanabilirsiniz:

mv /home/kullanıcı/dosya.txt /home/kullanıcı/kopya

Dosya İsim Değiştirme

Dosya isim değiştirme işlemi, bir dosyanın adını değiştirme işlemidir. Dosya ismini değiştirmek için aşağıdaki komutu kullanabilirsiniz:

mv [kaynak dosya] [yeni dosya adı]

Örneğin, /home/kullanıcı/dosya.txt dosyasının adını /home/kullanıcı/yeni_dosya.txt olarak değiştirmek için aşağıdaki komutu kullanabilirsiniz:

mv /home/kullanıcı/dosya.txt /home/kullanıcı/yeni_dosya.txt

Dizin Kopyalama

Dizin kopyalama işlemi, bir dizinin aynı içeriğiyle başka bir konumda bir kopyasını oluşturma işlemidir. Dizin kopyalamak için aşağıdaki komutu kullanabilirsiniz:

cp -r [kaynak dizin] [hedef dizin]

Örneğin, /home/kullanıcı/dizin dizinini /home/kullanıcı/kopya dizinine kopyalamak için aşağıdaki komutu kullanabilirsiniz:

cp -r /home/kullanıcı/dizin /home/kullanıcı/kopya

Dizin Taşıma

Dizin taşıma işlemi, bir dizini başka bir konuma taşıma işlemidir. Dizin taşımak için aşağıdaki komutu kullanabilirsiniz:

mv -r [kaynak dizin] [hedef dizin]

Örneğin, /home/kullanıcı/dizin dizinini /home/kullanıcı/kopya dizinine taşımak için aşağıdaki komutu kullanabilirsiniz:

mv -r /home/kullanıcı/dizin /home/kullanıcı/kopya

Dizin İsim Değiştirme

Dizin isim değiştirme işlemi, bir dizinin adını değiştirme işlemidir. Dizin ismini değiştirmek için aşağıdaki komutu kullanabilirsiniz:

mv -r [kaynak dizin] [yeni dizin adı]

Örneğin, /home/kullanıcı/dizin dizinini /home/kullanıcı/yeni_dizin olarak değiştirmek için aşağıdaki komutu kullanabilirsiniz:

mv -r /home/kullanıcı/dizin /home/kullanıcı/yeni_dizin

Dosya sahibini değiştirmek için aşağıdaki komutu kullanabilirsiniz:

chown [yeni sahip] [dosya]
Örneğin, /home/kullanıcı/dosya.txt dosyasının sahibini root kullanıcısına değiştirmek için aşağıdaki komutu kullanabilirsiniz:

chown root /home/kullanıcı/dosya.txt
Dizin Sahibini Değiştirmek

Dizin sahibini değiştirmek için aşağıdaki komutu kullanabilirsiniz:

chown -R [yeni sahip] [dizin]
Örneğin, /home/kullanıcı/dizin dizininin sahibini root kullanıcısına değiştirmek için aşağıdaki komutu kullanabilirsiniz:

chown -R root /home/kullanıcı/dizin
Dizin Grubunu Değiştirmek

Dizin grubunu değiştirmek için aşağıdaki komutu kullanabilirsiniz:

chown -R [yeni grup] [dizin]
Örneğin, /home/kullanıcı/dizin dizininin grubunu sudo grubuna değiştirmek için aşağıdaki komutu kullanabilirsiniz:

chown -R sudo /home/kullanıcı/dizin

chgrp komutu, Linux işletim sisteminde dosya ve dizinlerin grup bilgilerini değiştirmek için kullanılır. chgrp komutu, bir dosyanın veya dizinin grubunu değiştirir.

Dosya Grubunu Değiştirmek

Dosya grubunu değiştirmek için aşağıdaki komutu kullanabilirsiniz:

chgrp [yeni grup] [dosya]
Örneğin, /home/kullanıcı/dosya.txt dosyasının grubunu sudo grubuna değiştirmek için aşağıdaki komutu kullanabilirsiniz:

chgrp sudo /home/kullanıcı/dosya.txt
Dizin Grubunu Değiştirmek

Dizin grubunu değiştirmek için aşağıdaki komutu kullanabilirsiniz:

chgrp -R [yeni grup] [dizin]
Örneğin, /home/kullanıcı/dizin dizininin grubunu sudo grubuna değiştirmek için aşağıdaki komutu kullanabilirsiniz:

Arşiv Oluşturma

Arşiv oluşturmak için tar komutunu kullanabilirsiniz. tar komutu, bir veya birden fazla dosyayı tek bir dosyada bir araya getirir.

Dosya Arşivi Oluşturma

Dosya arşivi oluşturmak için aşağıdaki komutu kullanabilirsiniz:

tar cvf [arşiv adı] [dosya1] [dosya2] ...

Örneğin, /home/kullanıcı/dosya1.txt ve /home/kullanıcı/dosya2.txt dosyalarını arşiv.tar arşivinde bir araya getirmek için aşağıdaki komutu kullanabilirsiniz:

tar cvf arşiv.tar /home/kullanıcı/dosya1.txt /home/kullanıcı/dosya2.txt

Dizin Arşivi Oluşturma

Dizin arşivi oluşturmak için aşağıdaki komutu kullanabilirsiniz:

tar cvf [arşiv adı] [dizin]

Örneğin, /home/kullanıcı/dizin dizinini dizin.tar arşivinde bir araya getirmek için aşağıdaki komutu kullanabilirsiniz:

tar cvf dizin.tar /home/kullanıcı/dizin

Arşiv Çıkarma

Arşiv çıkarmak için tar komutunu kullanabilirsiniz. tar komutu, bir arşivi açarak içindeki dosyaları veya dizinleri çıkarır.

Dosya Arşivi Çıkarma

Dosya arşivi çıkarmak için aşağıdaki komutu kullanabilirsiniz:

tar xvf [arşiv adı]

Örneğin, arşiv.tar arşivindeki dosyaları çıkarmak için aşağıdaki komutu kullanabilirsiniz:

tar xvf arşiv.tar

Dizin Arşivi Çıkarma

Dizin arşivi çıkarmak için aşağıdaki komutu kullanabilirsiniz:

tar xvf [arşiv adı] -C [çıkarılacak dizin]

Örneğin, dizin.tar arşivindeki dosyaları /home/kullanıcı/çıkarılacak_dizin dizinine çıkarmak için aşağıdaki komutu kullanabilirsiniz:

tar xvf dizin.tar -C /home/kullanıcı/çıkarılacak_dizin

Dosya arşivi içeriklerini listelemek için aşağıdaki komutu kullanabilirsiniz:

tar tf [arşiv adı]
tar -

Örneğin, arşiv.tar arşivi içindeki dosyaları listelemek için aşağıdaki komutu kullanabilirsiniz:

tar tf arşiv.tar

Bir komutun çıktısını bir dosyaya yönlendirmek için > yönergesini kullanabilirsiniz. Bu yönerge, komutun çıktısını belirtilen dosyaya yazar.

Örneğin, ls komutunun çıktısını çıktı.txt dosyasına yönlendirmek için aşağıdaki komutu kullanabilirsiniz:

ls > çıktı.txt

Bu komut, ls komutunun çıktısını çıktı.txt dosyasına yazar.

Bir Komutun Çıktısını Bir Dosyanın Sonuna Ekleme

Bir komutun çıktısını bir dosyanın sonuna eklemek için >> yönergesini kullanabilirsiniz. Bu yönerge, komutun çıktısını belirtilen dosyanın sonuna ekler.

Örneğin, ls komutunun çıktısını çıktı.txt dosyasının sonuna eklemek için aşağıdaki komutu kullanabilirsiniz:

ls >> çıktı.txt

Bu komut, ls komutunun çıktısını çıktı.txt dosyasının sonuna ekler.

Bir Komutun Girdisini Bir Dosyadan Alma

Bir komutun girdisini bir dosyadan almak için < yönergesini kullanabilirsiniz. Bu yönerge, komutun girdisini belirtilen dosyadan alır.

Örneğin, cat komutunun girdisini girdi.txt dosyasından almak için aşağıdaki komutu kullanabilirsiniz:

cat < girdi.txt

Bu komut, girdi.txt dosyasının içeriğini cat komutuna girdi olarak verir.

Bir Komutun Çıktısını Başka Bir Komutun Girdisi Olarak Kullanma

Bir komutun çıktısını başka bir komutun girdisi olarak kullanmak için | yönergesini kullanabilirsiniz. Bu yönerge, komutun çıktısını | ile birbirine bağlanan diğer komutların girdisi olarak kullanır.

Örneğin, ls komutunun çıktısını grep komutunun girdisi olarak kullanmak için aşağıdaki komutu kullanabilirsiniz:

ls | grep "dosya.txt"

cat Komutu

cat komutu, bir dosyanın içeriğini görüntüler.

Örneğin, dosya.txt dosyasının içeriğini görüntülemek için aşağıdaki komutu kullanabilirsiniz:

cat dosya.txt

echo Komutu

echo komutu, bir metin çıktısı verir.

Örneğin, “Merhaba, dünya!” metnini görüntülemek için aşağıdaki komutu kullanabilirsiniz:

echo "Merhaba, dünya!"

grep Komutu

grep komutu, bir dosyada belirli bir ifadeyi arar.

Örneğin, dosya.txt dosyasında “Merhaba” ifadesini aramak için aşağıdaki komutu kullanabilirsiniz:

grep "Merhaba" dosya.txt

Bu komut, dosya.txt dosyasında “Merhaba” ifadesini içeren satırları görüntüler.

sed Komutu

sed komutu, bir dosyanın içeriğini değiştirir.

Örneğin, dosya.txt dosyasında tüm “Merhaba” ifadelerini “Günaydın” olarak değiştirmek için aşağıdaki komutu kullanabilirsiniz:

sed "s/Merhaba/Günaydın/g" dosya.txt

Bu komut, dosya.txt dosyasında tüm “Merhaba” ifadelerini “Günaydın” olarak değiştirir.

awk Komutu

awk komutu, bir dosyanın içeriğini analiz eder ve filtreler.

Örneğin, dosya.txt dosyasında tüm sayısal değerleri görüntülemek için aşağıdaki komutu kullanabilirsiniz:

awk '{print $1}' dosya.txt

Bu komut, dosya.txt dosyasında tüm sayısal değerleri görüntüler.

sort Komutu

sort komutu, bir dosyanın içeriğini sıralar.

Örneğin, dosya.txt dosyasını alfabetik olarak sıralamak için aşağıdaki komutu kullanabilirsiniz:

sort dosya.txt

Bu komut, dosya.txt dosyasını alfabetik olarak sıralar.

uniq Komutu

uniq komutu, bir dosyanın içeriğindeki yinelenen satırları kaldırır.

Örneğin, dosya.txt dosyasında yinelenen satırları kaldırmak için aşağıdaki komutu kullanabilirsiniz:

uniq dosya.txt

Bu komut, dosya.txt dosyasında yinelenen satırları kaldırır.

wc Komutu

wc komutu, bir dosyanın satır, kelime ve karakter sayısını sayar.

Örneğin, dosya.txt dosyasının satır, kelime ve karakter sayısını saymak için aşağıdaki komutu kullanabilirsiniz:

wc dosya.txt

Bu komut, dosya.txt dosyasının satır, kelime ve karakter sayısını görüntüler.

Örneğin, aşağıdaki komut, metin adında yeni bir metin dosyası oluşturur ve bu dosyaya “Merhaba, dünya!” metnini yazar:

cat > metin
Merhaba, dünya!

dpkg, Debian tabanlı işletim sistemlerinde kullanılan bir paket yönetim aracıdır. .deb uzantılı paketleri yüklemek, kaldırmak, güncellemek, yapılandırmak ve hakkında bilgi almak için kullanılır.

dpkg, Debian paket yönetim sisteminin temelini oluşturan düşük seviyeli bir araçtır. APT gibi yüksek seviyeli araçlar, dpkg’yi kullanarak paketleri yükler ve kaldırır.

dpkg’nin temel kullanımları şunlardır:

  • Paket yükleme: dpkg -i [paket adı] komutu, [paket adı] adlı .deb paketini yükler.
  • Paket kaldırma: dpkg -r [paket adı] komutu, [paket adı] adlı paketi kaldırır.
  • Paket güncelleme: dpkg -u [paket adı] komutu, [paket adı] adlı paketi en son sürüme günceller.
  • Paket yapılandırması: dpkg-reconfigure [paket adı] komutu, [paket adı] adlı paketin yapılandırmasını açar.
  • Paket hakkında bilgi: dpkg -l komutu, sistemde kurulu tüm paketleri listeler.

dpkg komutunun birçok farklı parametresi vardır. Daha fazla bilgi için dpkg man sayfasını inceleyebilirsiniz.

Örnek:

sudo dpkg -i vlc-2.4.3-1~deb11u1_amd64.deb

Bu komut, VLC media player’ın en son sürümünü yükler.

dpkg komutunun bazı yaygın kullanımları şunlardır:

  • Yeni bir paket yüklemek:
sudo dpkg -i [paket adı].deb
  • Yüklü bir paketi kaldırmak:
sudo dpkg -r [paket adı]
  • Yüklü bir paketi güncellemek:
sudo dpkg -u [paket adı]
  • Yüklü bir paketin yapılandırmasını açmak:
sudo dpkg-reconfigure [paket adı]
  • Sistemdeki tüm paketleri listelemek:
dpkg -l

Tabii ki.

apt show sqlmap komutu, Debian tabanlı işletim sistemlerinde kullanılan bir paket yönetim aracı olan APT’nin bir komutudur. Bu komut, sistemde kurulu olan sqlmap paketi hakkında bilgi verir.

apt show komutunun temel kullanımı, sistemde kurulu olan herhangi bir paket hakkında bilgi almaktır. Komutun ilk parametresi, bilgi almak istediğiniz paketin adıdır. Bu durumda, sqlmap paketi hakkında bilgi almak istiyoruz.

apt show sqlmap komutunun çıktısı, paketin aşağıdaki bilgilerini içerir:

  • Paket adı: sqlmap
  • Paket sürümü: 1.5.1-1
  • Paket sağlayıcısı: sqlmapproject
  • Paket bağımlılıkları: python3, requests, bs4, pycryptodome, yara-python
  • Paket açıklaması: SQLMAP, otomatik SQL enjeksiyon ve veritabanı ele geçirme aracıdır.

apt show komutunun çıktısını daha ayrıntılı hale getirmek için, -a parametresini kullanabilirsiniz. Bu parametre, paketin kurulum dosyalarının konumunu ve paketin boyutunu da gösterir.

apt show -a sqlmap komutunun çıktısı aşağıdaki gibidir:

Package: sqlmap
Version: 1.5.1-1
Architecture: amd64
Maintainer: sqlmapproject
Section: utils
Priority: optional
Homepage: https://sqlmap.org/
Installed-Size: 154
Depends: python3, requests, bs4, pycryptodome, yara-python
Description: SQLMAP, otomatik SQL enjeksiyon ve veritabanı ele geçirme aracıdır.

Filename: pool/main/s/sqlmap/sqlmap_1.5.1-1_amd64.deb
Size: 154260
MD5sum: 7549d208d4510053513049d0b03248d8
SHA1: 48a1c401714440051d65010a78296c675a895a79
SHA256: 38b750430e09e44111993216204394489941655098055278862e5f06384a2a26

apt-cache, Debian tabanlı işletim sistemlerinde kullanılan bir paket arama ve bilgi alma aracıdır. Bu araç, yerel APT dosyalarından paketler hakkında mevcut bilgileri sorgulayan ve görüntüleyen bir komut satırı aracıdır.

apt-cache’in temel kullanımları şunlardır:

  • Bir paketi arama: apt-cache search [paket adı] komutu, [paket adı] adlı paketi arar ve paketin açıklamasını, sürümünü ve bağımlıklarını gösterir.
  • Bir paket hakkında bilgi alma: apt-cache show [paket adı] komutu, [paket adı] adlı paket hakkında ayrıntılı bilgi verir.
  • Bir paketin bağımlılıklarını listeleme: apt-cache depends [paket adı] komutu, [paket adı] adlı paketin doğrudan ve dolaylı bağımlıklarını listeler.
  • Bir paketin sürüm geçmişini görüntüleme: apt-cache policy [paket adı] komutu, [paket adı] adlı paketin mevcut ve geçmiş sürümlerini gösterir.

pt remove paketadi komutu, Debian tabanlı işletim sistemlerinde kullanılan bir paket kaldırma komutudur. Bu komut, sistemde kurulu olan [paketadi] adlı paketi kaldırır.

apt remove komutunun temel kullanımı, sistemde kurulu olan herhangi bir paketi kaldırmaktır. Komutun ilk parametresi, kaldırmak istediğiniz paketin adıdır.

apt remove paketadi komutunun çıktısı, paketin kaldırıldığını ve kalan disk alanını gösterir.

Örnek:

apt remove vlc

Bu komut, VLC media player paketini kaldırır.

dpkg -l | grep chrome

sudo apt remove chrome.deb

farklı kullanım 

dpkg -r chrome.deb

apt purge komutu, Debian tabanlı işletim sistemlerinde kullanılan bir paket kaldırma komutudur. Bu komut, sistemde kurulu olan paketin yanı sıra, paketin yapılandırma dosyalarını da kaldırır.

apt purge komutunun temel kullanımı, sistemde kurulu olan herhangi bir paketi tamamen kaldırmaktır. Komutun ilk parametresi, kaldırmak istediğiniz paketin adıdır.

apt purge komutunun çıktısı, paketin kaldırıldığını ve kalan disk alanını gösterir.

Linux Source List, Linux işletim sistemlerinde kullanılan bir paket yönetim dosyasıdır. Bu dosya, sistemin paketleri nereden indireceğini ve güncelleyeceğini belirtir.

Source List dosyasının içeriği, aşağıdaki gibi bir biçimdedir:

deb http://deb.debian.org/debian stable main

Bu satır, sistemin Debian işletim sisteminin stable depolarından paketleri indirmesini ve güncellemesini belirtir.

Source List dosyasına birden fazla depo eklemek mümkündür. Her depo için ayrı bir satır eklenmelidir. Örneğin, aşağıdaki Source List dosyası, Debian işletim sisteminin stable ve testing depolarından paketleri indirmesini ve güncellemesini belirtir:

deb http://deb.debian.org/debian stable main
deb http://deb.debian.org/debian testing main

Source List dosyası, genellikle /etc/apt/sources.list konumunda bulunur. Bu dosya, root kullanıcısı tarafından düzenlenebilir.

Source List dosyasını düzenlerken dikkat edilmesi gerekenler şunlardır:

  • Source List dosyasına yalnızca güvenilir depolar ekleyin. Güvenilmeyen depolar, sisteminizin güvenliğini tehlikeye atabilir.
  • Source List dosyasındaki deponun adresi ve bileşenleri doğru bir şekilde yazın. Yanlış adres veya bileşen, sisteminizin paketleri indirememesine veya güncelleyememesine neden olabilir.

Source List dosyasındaki değişiklikleri yaptıktan sonra, APT paket yönetim sistemini güncellemeniz gerekir. Bu, aşağıdaki komut ile yapılabilir:

sudo apt update

APT paket yönetim sistemi güncellendikten sonra, sisteminizdeki paketleri yeni sürümüne güncellemek için aşağıdaki komutu kullanabilirsiniz:

sudo apt upgrade

Source List dosyası, Linux işletim sistemlerinde paketleri nereden indireceğini ve güncelleyeceğini belirlemek için kullanılan önemli bir dosyadır. Bu dosyayı düzenlerken dikkatli olmak ve yalnızca güvenilir depolar eklemek önemlidir.

SSH kullanarak bir kullanıcıya bağlanmak için:

Gereklilikler:

  • Uzak makinenin IP adresi veya adı
  • Uzak makinede SSH sunucusunun etkin olması
  • Uzak makinede oturum açmak istediğiniz kullanıcı adı ve şifresi veya SSH anahtarları

Adım 1: Uzak makinenin IP adresini veya adını öğrenin.

Adım 2: Uzak makinede SSH sunucusunun etkin olduğundan emin olun.

Adım 3: Uzak makinede oturum açmak istediğiniz kullanıcı adı ve şifresini öğrenin veya SSH anahtarları oluşturun ve bunları uzak makinede authorized_keys dosyasına ekleyin.

Adım 4: Bir terminal açın.

Adım 5: Aşağıdaki komutlardan birini girin:

  • ssh [uzak makine IP adresi veya adı] -l [kullanıcı adı]
  • ssh [uzak makine IP adresi veya adı] (SSH anahtarları kullanarak oturum açmak için)

Örnek:

ssh 192.168.1.100 -l umut

Bu komut, 192.168.1.100 IP adresine sahip uzak makineye bağlanacak ve umut kullanıcısı olarak oturum açacaktır.

SSH bağlantısını kesmek için:

Ctrl+C tuşlarına basın.

2. Yontem

ssh kullaniciadi@kullaniciipadresi

Bu işlem uzak bilgisyara bağlantı sağladığımızda uzak bilgisayarın şifresini bizden istemeyecektir. Bir Linux bilgisayarından farklı bir bilgisayara SSH ile bağlantı kurmak için, her iki bilgisayarda da SSH anahtarlarının oluşturulması ve paylaşılması gerekir.

1. SSH anahtarlarını oluşturma

Linux bilgisayarınızda SSH anahtarlarını oluşturmak için aşağıdaki adımları izleyin:

  1. Terminali açın.
  2. Aşağıdaki komutu girin:
ssh-keygen

Bu komut, anahtar çiftinizi oluşturmak için bir dizi soru soracaktır.

  • Dosya adı: Anahtarlarınızın depolanacağı dosyanın adını girin. Varsayılan olarak, anahtarlarınız ~/.ssh/id_rsa dosyasında depolanır.
  • Parola (opsiyonel): Anahtarlarınıza bir parola eklemek isterseniz, bu soruya bir parola girin.
  • Anahtar boyutu: Anahtarlarınızın boyutunu seçin. Daha büyük anahtar boyutları daha güvenlidir, ancak daha yavaş da olabilir. Varsayılan olarak, anahtar boyutu 2048 bittir.

2. SSH anahtarlarını paylaşma

SSH anahtarlarını paylaşmak için, uzak bilgisayardaki ~/.ssh/authorized_keys dosyasına kopyalamanız gerekir.

  1. Uzak bilgisayarda, ~/.ssh dizinine gidin.
  2. authorized_keys dosyasını açın.
  3. Yerel bilgisayarınızdan oluşturduğunuz SSH anahtarının içeriğini kopyalayın.
  4. authorized_keys dosyasını kaydedin.

3. SSH ile bağlantı kurma

SSH ile bağlantı kurmak için, aşağıdaki komutu girin:

ssh kullanici@uzak_bilgisayar

Bu komut, uzak bilgisayara kullanıcı adı ve şifre olmadan bağlanacaktır.

Örnek

Aşağıdaki örnekte, bir Linux bilgisayarından farklı bir Linux bilgisayara SSH ile bağlantı kurulur:

Yerel bilgisayar:

ssh-keygen

Uzak bilgisayar:

mkdir ~/.ssh
vim ~/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD...

Yerel bilgisayar:

ssh kullanici@uzak_bilgisayar

Bu komut, uzak bilgisayara kullanici kullanıcısı olarak bağlanacaktır. Bağlantı sırasında, herhangi bir parola isteminde bulunmayacaktır.

Güvenlik

SSH anahtarları, SSH üzerinden güvenli bir bağlantı oluşturmanın en güvenli yoludur. SSH anahtarlarını kullanırken aşağıdaki güvenlik önlemlerini almayı unutmayın:

  • Anahtarlarınıza güçlü bir parola ekleyin.
  • Anahtarlarınızı sık sık yedekleyin.
  • Anahtarlarınızı yalnızca güvendiğiniz insanlarla paylaşın.

Vim, güçlü ve esnek bir metin editörüdür. Temel komutları öğrenmek, Vim’i kullanmaya başlamak için önemlidir.

  • wq: Yaptığınız değişiklikleri kaydeder ve editörden çıkar.
  • w: Yaptığınız değişiklikleri kaydeder, ancak editörden çıkmaz.
  • q!: Yaptığınız değişiklikleri kaydetmeden editörden çıkar.

Metin ekleme

  • Ekle moduna girmek için: i komutunu kullanın.
  • Metin eklemek için: Klavyenizi kullanın.
  • Ekle modundan çıkmak için: Esc tuşuna basın.

Root kullanıcısının SSH ile giriş yapabilmesi için, /etc/ssh/sshd_config dosyasında PermitRootLogin ayarını yes olarak değiştirmeniz gerekir.

/etc/ssh/sshd_config dosyasını düzenlemek için bir metin düzenleyicisi kullanabilirsiniz. Örneğin, Vim düzenleyicisini kullanmak için aşağıdaki komutu kullanın:

sudo nano /etc/ssh/sshd_config

Dosyayı açtıktan sonra, PermitRootLogin ayarını bulun. Bu ayar, root kullanıcısının SSH ile giriş yapıp yapamayacağına karar verir.

PermitRootLogin ayarını yes olarak değiştirmek için, aşağıdaki satırı bulun ve no olarak değiştirin:

#PermitRootLogin prohibit-password
PermitRootLogin yes

Değişiklikleri kaydetmek için Ctrl+X tuşuna basın ve ardından Y yazın.

/etc/ssh/sshd_config dosyasında yaptığınız değişiklikleri etkinleştirmek için SSH servisini yeniden başlatmanız gerekir. SSH servisini yeniden başlatmak için aşağıdaki komutu kullanın:

sudo systemctl restart ssh

Bu adımları tamamladıktan sonra, root kullanıcısı SSH ile uzak sunucuya giriş yapabilecektir.

Dosya ve klasör listeleme işlemleri, bir dosya sistemideki tüm dosyaları ve klasörleri görüntülemek için kullanılan işlemlerdir. Bu işlemler, bir dosya sisteminin içeriğini kontrol etmek, bir dosyayı veya klasörü bulmak veya bir dosya sisteminin boyutunu belirlemek için kullanılabilir.

Dosya ve klasör listeleme işlemleri, işletim sistemine ve dosya sistemine bağlı olarak değişiklik gösterebilir. Ancak, genel olarak aşağıdaki komutlar kullanılarak dosya ve klasör listeleme işlemleri yapılabilir:

  • ls: Bu komut, geçerli dizindeki tüm dosyaları ve klasörleri listeler.
  • ls -l: Bu komut, geçerli dizindeki tüm dosyaları ve klasörleri ayrıntılı olarak listeler.
  • ls -r: Bu komut, geçerli dizindeki tüm dosyaları ve klasörleri ters sırada listeler.
  • ls -a: Bu komut, gizli dosyaları ve klasörleri de dahil olmak üzere geçerli dizindeki tüm dosyaları ve klasörleri listeler.
  • ls [dizin yolu]: Bu komut, belirtilen dizindeki tüm dosyaları ve klasörleri listeler.

Dizinler arası gezinme, bir dosya sisteminde bir dizinden diğerine geçme işlemidir. Dizinler arası gezinme, bir dosyayı veya klasörü bulmak, bir dosya sisteminin içeriğini kontrol etmek veya bir dosya sisteminin boyutunu belirlemek için gerekli olabilir.

Dizinler arası gezinme, işletim sistemine ve dosya sistemine bağlı olarak değişiklik gösterebilir. Ancak, genel olarak aşağıdaki komutlar kullanılarak dizinler arası gezinme yapılabilir:

  • cd [dizin yolu]: Bu komut, belirtilen dizin yoluna gider.
  • cd ..: Bu komut, bir üst dizin yoluna gider.
  • cd -: Bu komut, önceki dizin yoluna gider.

Örneğin, aşağıdaki komut “/etc” dizin yoluna gider:

cd /etc

Aşağıdaki komut bir üst dizin yoluna gider:

cd ..

Aşağıdaki komut önceki dizin yoluna gider:

cd -

Dizinler arası gezinmeyi, dosya sistemi için özel olarak yazılmış komutlar da kullanılarak gerçekleştirebilirsiniz. Örneğin, Linux’ta “pwd” komutu, geçerli dizinin yolunu görüntülemek için kullanılabilir.

Dizin oluşturma ve silme işlemleri, bir dosya sisteminde yeni dizinler oluşturmak veya var olan dizinleri silmek için kullanılan işlemlerdir. Dizin oluşturma ve silme işlemleri, bir dosya sisteminin organizasyonunu düzenlemek için gerekli olabilir.

Dizin oluşturma ve silme işlemleri, işletim sistemine ve dosya sistemine bağlı olarak değişiklik gösterebilir. Ancak, genel olarak aşağıdaki komutlar kullanılarak dizin oluşturma ve silme işlemleri yapılabilir:

Dizin oluşturma:

  • mkdir [dizin adı]: Bu komut, belirtilen dizin adını içeren yeni bir dizin oluşturur.
  • mkdir -p [dizin yolu]: Bu komut, belirtilen dizin yolunu oluşturan yeni dizinleri oluşturur.
  • mkdir Oğrenci isleri : hem Oğrenci dizini hemde İsleri dizini ayrı ayrı oluşturur.
  • mkdir “ogrenci isleri” şekilde yazarsak 1 tane ogrenci  isleri adında dizin oluşturur

Örneğin, aşağıdaki komut “/home/kullanıcı/yeni_dizin” dizin adını içeren yeni bir dizin oluşturur:

mkdir /home/kullanıcı/yeni_dizin

Aşağıdaki komut “/home/kullanıcı/yeni_dizin/alt_dizin” dizin adını içeren yeni bir dizin oluşturur:

mkdir -p /home/kullanıcı/yeni_dizin/alt_dizin

Dizin silme:

  • rmdir [dizin adı]: Bu komut, belirtilen dizin adını içeren boş bir dizini siler.
  • rmdir -r [dizin adı]: Bu komut, belirtilen dizin adını içeren dolu bir dizini ve içindeki tüm dosyaları ve klasörleri siler.

Örneğin, aşağıdaki komut “/home/kullanıcı/yeni_dizin” dizin adını içeren boş bir dizini siler:

rmdir /home/kullanıcı/yeni_dizin

Aşağıdaki komut “/home/kullanıcı/yeni_dizin” dizin adını içeren dolu bir dizini ve içindeki tüm dosyaları ve klasörleri siler:

rmdir -r /home/kullanıcı/yeni_dizin

touch komutu, bir dosya oluşturmak veya bir dosyanın son değiştirilme tarihini ve saatini güncellemek için kullanılır.

touch komutunun temel kullanımı, belirtilen dosya adı ile yeni bir dosya oluşturmaktır. Örneğin, aşağıdaki komut “yeni_dosya” adlı yeni bir dosya oluşturur:

Örneğin, aşağıdaki komut “mevcut_dosya” adlı dosyanın son değiştirilme tarihini ve saatini günceller, ancak dosya içeriğini değiştirmez:

touch -a mevcut_dosya

Aşağıdaki komut “mevcut_dosya” adlı dosyanın son değiştirilme tarihini günceller, ancak dosya saatini değiştirmez:

touch -m mevcut_dosya

Aşağıdaki komut “mevcut_dosya” adlı dosyanın son değiştirilme tarihini ve saatini sıfırlar:

touch -c mevcut_dosya

touch komutu, dosya sistemlerinde gezinmek için önemli bir araçtır. Bu komutu kullanarak, yeni dosyalar oluşturabilir veya var olan dosyaların son değiştirilme tarihini ve saatini güncelleyebilirsiniz.

rm komutunun temel kullanımı, belirtilen dosya adını içeren dosyayı silmek içindir. Örneğin, aşağıdaki komut “yeni_dosya” adlı dosyayı siler:

rm yeni_dosya
touch yeni_dosya

Kullanıcı Grubu Oluşturmak

groupadd komutu, yeni bir kullanıcı grubu oluşturur.

Örneğin, yeni_grup adında yeni bir kullanıcı grubu oluşturmak için aşağıdaki komutu kullanabilirsiniz:

groupadd yeni_grup

Kullanıcı Grubu Silmek

groupdel komutu, mevcut bir kullanıcı grubunu siler.

Örneğin, yeni_grup adındaki kullanıcı grubunu silmek için aşağıdaki komutu kullanabilirsiniz:

groupdel yeni_grup

Kullanıcı Grubunu Değiştirmek

groupmod komutu, mevcut bir kullanıcı grubunu değiştirir.

Örneğin, yeni_grup adındaki kullanıcı grubunun adını yeni_grup_2 olarak değiştirmek için aşağıdaki komutu kullanabilirsiniz:

groupmod -n yeni_grup_2 yeni_grup

Kullanıcı Grubuna Kullanıcı Eklemek

gpasswd komutu, bir kullanıcı grubuna kullanıcı eklemek veya çıkarmak için kullanılır.

Örneğin, yeni_grup adındaki kullanıcı grubuna kullanıcı kullanıcısını eklemek için aşağıdaki komutu kullanabilirsiniz:

gpasswd -a kullanıcı yeni_grup

Kullanıcı Grubundan Kullanıcı Çıkarmak

gpasswd komutu, bir kullanıcı grubundan kullanıcı çıkarmak için kullanılır.

Örneğin, yeni_grup adındaki kullanıcı grubundan kullanıcı kullanıcısını çıkarmak için aşağıdaki komutu kullanabilirsiniz:

gpasswd -d kullanıcı yeni_grup

Kullanıcının Üye Olduğu Grupları Listelemek

groups komutu, bir kullanıcının üye olduğu tüm grupları listeler.

Örneğin, kullanıcı kullanıcısının üye olduğu tüm grupları listelemek için aşağıdaki komutu kullanabilirsiniz:

groups kullanıcı

Ubuntu için Resmi Arşiv Aynaları
Bu aynalar dağıtım için tüm yazılımların depolarını ve arşivlerini sağlar.

Link: https://launchpad.net/ubuntu/+archivemirrors

pwd, print working directory‘nin kısaltmasıdır ve bulunduğunuz klasörün tam yolunu yazdırır. Örneğin, şu anda /home/kullanıcı klasöründeyseniz, pwd komutu /home/kullanıcı çıktısını verir.

sudo -i, superuser do as root‘ün kısaltmasıdır ve geçici olarak root kullanıcısı ayrıcalıkları verir. Bu, sistem dosyalarında değişiklik yapma gibi root erişimi gerektiren görevleri gerçekleştirmek için kullanılabilir.

sudo su, superuser do su‘nun kısaltmasıdır ve mevcut oturumu root kullanıcısı olarak yeniden başlatır. Bu, root kullanıcısı olarak tüm komutları çalıştırmak için kullanılabilir.

exit komutunun kullanımı oldukça basittir. Komutu komut satırında çalıştırmanız yeterlidir. Örneğin, exit komutu, komut satırını kapatır.

rmdir komutunun kullanımı oldukça basittir. Silmek istediğiniz dizinin adını komut satırında belirtmeniz yeterlidir. Örneğin, rmdir dizin komutu, dizin adlı dizini siler.

man komutunun çıktısı, komutun veya programın nasıl kullanılacağına dair ayrıntılı talimatlar içerir. Çıktı, komutun veya programın seçeneklerini, parametrelerini ve kullanım örneklerini içerir.

file komutu, bir dosyanın içeriğini inceleyerek dosyanın türünü belirlemek için kullanılır. Bu komut, Unix ve Unix benzeri işletim sistemlerinde standart bir programdır.

file komutunun kullanımı oldukça basittir. Dosyanın adını veya yolunu komut satırında belirtmeniz yeterlidir. Örneğin, file dosya.txt komutu, dosya.txt dosyasının türünü belirler.

file komutunun çıktısı, dosyanın türünü ve bazı ek bilgileri içerir. Örneğin, file dosya.txt komutunun çıktısı aşağıdaki gibi olabilir:

dosya.txt: ASCII text

file komutunun çıktısı, dosyanın türünü belirlemek için aşağıdaki yöntemleri kullanır:

  • Dosyanın başlangıcındaki birkaç baytı analiz eder.
  • Dosyanın dosya uzantısını analiz eder.
  • Dosyanın içeriğini daha ayrıntılı olarak analiz eder.

file komutu, aşağıdaki dosya türlerini belirleyebilir:

  • ASCII metin dosyaları
  • Hexadecimal metin dosyaları
  • Bin dosyaları
  • Arşiv dosyaları
  • Yığın dosyaları
  • C, C++, Java, Python vb. programlama dilleri için kaynak dosyaları
  • Belge dosyaları
  • Grafik dosyaları
  • Ses dosyaları
  • Video dosyaları

file komutu, dosyaların türünü belirlemek için kullanışlı bir araçtır. Bu komut, dosyaların içeriğini incelemeden önce dosya türünü belirlemenize yardımcı olabilir.

Sistem saati UTC ile senkronize edilmiş ancak Türkiye saat dilimine ayarlanmamış. Bu nedenle, sistem saati Türkiye saatine göre yanlış bilgi veriyor.

Sistem saatini Türkiye saat dilimine ayarlamak için aşağıdaki komutu kullanabilirsiniz:

sudo timedatectl set-timezone Europe/Istanbul

Bu komut, sistem saatini Türkiye saat dilimine ayarlar.

locate komutunu kullanmak için plocate paketini indirmeniz gerekiyor. plocate, locate komutunun daha hızlı ve daha verimli bir sürümüdür.

plocate paketini indirmek için aşağıdaki komutu kullanabilirsiniz:

sudo apt install plocate

Bu komut, plocate paketini indirir ve kurar.

plocate paketini kurduktan sonra, locate komutunu kullanmaya başlayabilirsiniz.

locate komutu, bir dosyanın veya dizinin sistemdeki tüm konumlarını görüntülemek için kullanılır. Örneğin, locate dosya.txt komutu, dosya.txt dosyasının sistemdeki tüm konumlarını görüntüler.

/home/kullanıcı/dosya.txt /var/www/dosya.txt

İlk shell programınızı yazmak için aşağıdaki adımları takip edebilirsiniz:

  1. Bir metin editörü açın. Vim, Nano veya Emacs gibi herhangi bir metin editörü kullanabilirsiniz.
  2. Aşağıdaki kodu yazın:
#!/bin/bash

echo "Merhaba, dünya!"

Bu kod, “Merhaba, dünya!” mesajını ekrana yazdırır.

  1. Dosyayı kaydedin ve “.sh” uzantısı ile kaydedin. Örneğin, dosyayı “merhaba.sh” olarak kaydedebilirsiniz.
  2. Dosyayı çalıştırmak için aşağıdaki komutu kullanın:
bash merhaba.sh

Bu komut, “Merhaba, dünya!” mesajını ekrana yazdırır.

Kodun açıklaması:

  • #!/bin/bash satırı, dosyanın bir shell betiği olduğunu belirtir.
  • echo “Merhaba, dünya!” satırı, “Merhaba, dünya!” mesajını ekrana yazdırır.

İlk shell programınızı yazmak için bu adımları takip ederek başlayabilirsiniz. Daha sonra, daha karmaşık programlar yazmak için shell betiklerinin temel özelliklerini öğrenebilirsiniz.

Shell betiklerinin temel özelliklerinden bazıları şunlardır:

  • Komutlar: Shell betikleri, komutları çalıştırmak için kullanılır. Örneğin, ls komutu, mevcut dizinin içeriğini listelemek için kullanılır.
  • Değişkenler: Shell betikleri, değişkenleri depolamak için kullanılabilir. Örneğin, isim değişkeni, bir kullanıcının adını depolamak için kullanılabilir.
  • Koşullar: Shell betikleri, koşullar kullanarak programın davranışını kontrol etmek için kullanılabilir. Örneğin, if komutu, bir koşulun doğru olup olmadığını kontrol etmek için kullanılır.
  • Döngüler: Shell betikleri, döngüler kullanarak bir işlemi tekrarlamak için kullanılabilir. Örneğin, for döngüsü, bir dizi öğeyi işlemek için kullanılır.

Chmod komutu, dosyaların ve dizinlerin erişim haklarını değiştirmek için kullanılır. Chmod, “change mode” kelimesinin kısaltmasıdır.

Chmod komutunun kullanımı aşağıdaki gibidir:

chmod [modifikasyonlar] [dosya veya dizin]

modifikasyonlar: Dosya veya dizinin erişim haklarını tanımlayan bir sayı veya sembol dizisidir.

dosya veya dizin: Erişim haklarını değiştirmek istediğiniz dosya veya dizinin yoludur.

Modifikasyonlar:

  • O: Sahibine okuma izni
  • R: Sahibine yazma izni
  • X: Sahibine çalıştırma izni
  • G: Gruba okuma izni
  • W: Gruba yazma izni
  • X: Gruba çalıştırma izni
  • O: Diğer kullanıcılara okuma izni
  • R: Diğer kullanıcılara yazma izni
  • X: Diğer kullanıcılara çalıştırma izni

Örneğin, aşağıdaki komut, “dosya.txt” dosyasına sahibine okuma, yazma ve çalıştırma izni verir:

chmod 755 dosya.txt

Bu komut, aşağıdakileri yapar:

  • O: Sahibine okuma izni verir.
  • R: Sahibine yazma izni verir.
  • X: Sahibine çalıştırma izni verir.

Diğer bir örnek:

chmod 644 dosya.txt

Bu komut, aşağıdakileri yapar:

  • O: Sahibine okuma izni verir.
  • R: Sahibine yazma izni verir.
  • X: Sahibine çalıştırma izni vermez.

Chmod komutu, octal kodlar veya semboller kullanarak dosya ve dizinlerin erişim haklarını değiştirebilir.

Octal kodlar:

  • 0: Erişim izni yok
  • 1: Okuma izni
  • 2: Yazma izni
  • 3: Okuma ve yazma izni
  • 4: Çalıştırma izni
  • 5: Okuma ve çalıştırma izni
  • 6: Yazma ve çalıştırma izni
  • 7: Okuma, yazma ve çalıştırma izni

Örneğin, aşağıdaki komut, “dosya.txt” dosyasına sahibine okuma, yazma ve çalıştırma izni verir:

chmod 755 dosya.txt

Bu komut, aşağıdaki octal kodu kullanır:

755 = 11110101

Semboller:

  • r: Okuma izni
  • w: Yazma izni
  • x: Çalıştırma izni

Örneğin, aşağıdaki komut, “dosya.txt” dosyasına sahibine okuma, yazma ve çalıştırma izni verir:

chmod rwx dosya.txt

Bu komut, aşağıdaki sembolleri kullanır:

rwx = rwx

Chmod komutu, bir dosyanın veya dizinin erişim haklarını değiştirmek için güçlü bir araçtır. Dosya ve dizinlerin erişim haklarını dikkatlice kontrol etmek önemlidir.

pwd komutu, “print working directory” kelimelerinin kısaltmasıdır ve LinuxUnix ve macOS gibi işletim sistemlerinde bulunduğunuz dizinin tam yolunu gösterir.

Bash Programa Dili

Bash Nedir?

Açılımı Bourne Again Shell.
Unix ve benzeri işletim sistemleri için yazılmış kabuktur.
Bash Script ise bu kabuğun betik dilidir.

Dosya Sistemi Nedir? İşletim sisteminin bir disk veya bölüm üzerindeki dosyaları takip edebilmesi için oluşturulmuş yöntem ve veri yapıları bütünüdür.

herşey DOSYA
Linux’ta system üzerindeki herşey bir dosyadır. Sistem aygıtları, donanım kaynakları, hafızada çalışan programlar…

/bin
Zorunlu temel komutları içerir.
/etc
Sistem ayarlarını barındırır.
/boot
Başlangıç için gerekli dosyaları bulundurur.
/lib
Kütüphane dosyalarını ve çekirdek modülleri
/dev Donanım dosyalarını bulundurur.
/media: Bazı depolama
ortamları için baglama noktası.

rm komutu, bir dosyayı veya dizini silmek için kullanılır.

history komutu, komut geçmişini görüntülemek için kullanılır.

cat komutu, bir dosyanın içeriğini görüntülemek için kullanılır.

cp komutu, bir dosyayı veya dizini kopyalamak için kullanılır.

mv komutu, bir dosyayı veya dizini taşımak veya yeniden adlandırmak için kullanılır.

clear komutu, terminal ekranını temizlemek için kullanılır.

who komutu, şu anda sistemde oturum açmış olan kullanıcıları görüntülemek için kullanılır.

whoami komutu, genellikle komut satırında kullanıcının kimlik doğrulaması için kullanılır.

ttv komutu, dosyaları ve dizinleri düzenli olarak yedeklediğinizde yedekleme zamanlamalarını kontrol etmek için kullanılabilir.

which komutu, komutların yolunu bilmediğinizde kullanışlıdır.

locate komutu, bir dosyayı veya dizini bulmak için hızlı bir yol sağlar.

date komutu, sistem saatini manuel olarak ayarlamak için kullanılabilir.

time komutu, komutların performansını izlemek için kullanılabilir.

myscript.sh terminalde çalıştırdığımızda. Merhaba Dünya yazısını getirecek.

echo $1 $2 parametreler

Terminalde ./myscript.sh 

Bash scriptleri, matematiksel ifadeleri kullanarak aritmetik işlemler gerçekleştirebilir. Bash scriptlerinde aritmetik ifadeler, dolar işaretinden sonra iki tane iç içe parantez kullanılarak belirtilir. Örneğin, aşağıdaki kod, iki sayının toplamını hesaplar:

#!/bin/bash

sayi1=10
sayi2=20

toplam=$((sayi1 + sayi2))

echo "Toplam: $toplam"

Bu kod, aşağıdaki çıktıyı üretir:

Toplam: 30

Bash scriptlerinde kullanılabilen aritmetik operatörler şunlardır:

  • +: Toplama
  • -: Çıkarma
  • *: Çarpma
  • /: Bölme
  • %: Mod alma

Örneğin, aşağıdaki kod, iki sayının farkını hesaplar:

#!/bin/bash

sayi1=10
sayi2=20

fark=$((sayi1 - sayi2))

echo "Fark: $fark"

Bu kod, aşağıdaki çıktıyı üretir:

Fark: -10

Bash scriptlerinde aritmetik ifadeler, değişkenleri kullanarak da yapılabilir. Örneğin, aşağıdaki kod, iki değişkenin toplamını hesaplar:

#!/bin/bash

sayi1=10
sayi2=20

toplam=$((sayi1 + sayi2))

echo "Toplam: $toplam"

Bu kod, aşağıdaki çıktıyı üretir:

Toplam: 30

Bash scriptlerinde aritmetik ifadeler, döngüler ve koşullu ifadelerde de kullanılabilir.

 
 

 

 

You can run bash script from the terminal or by executing any bash file. Run the following command from the terminal to execute a very simple bash statement. The output of the command will be ‘Hello World’.

 
echo “Hello World”

Open any editor to create a bash file. Here, nano editor is used to create the file and filename is set as ‘First.sh’

nano First.sh

Add the following bash script to the file and save the file.

#!/bin/bash
echo “Hello World”

You can run bash file by two ways. One way is by using bash command and another is by setting execute permission to bash file and run the file. Both ways are shown here.

bash First.sh

Or,

chmod a+x First.sh
$ ./First.sh

Bash scriptleri, koşullu ifadeler kullanarak programın davranışını kontrol edebilir. Bash scriptlerinde kullanılan koşullu ifadeler şunlardır:

  • if: Bir koşulun doğru olup olmadığını kontrol eder.
  • elif: if ifadesinin ardından gelir ve if ifadesinin doğru olup olmadığına bakılmaksızın, başka bir koşulu kontrol eder.
  • else: if ve elif ifadelerinin ardından gelir ve her iki ifadenin de yanlış olması durumunda çalışır.
  • case: Bir değişkenin değerine göre bir dizi koşulu kontrol eder.

if ifadesi:

if ifadesi, bir koşulun doğru olup olmadığını kontrol eder. if ifadesi, aşağıdaki gibi kullanılır:

if [ koşul ]; then
    # Koşul doğru ise bu bloktaki komutlar çalışır
fi

örnek:

#!/bin/bash

yas=20

if [ $yas -ge 18 ]; then
    echo "Yetişkinsin."
fi

Bu kod, kullanıcının yaşı 18’den büyükse “Yetişkinsin.” mesajını yazdırır.

elif ifadesi:

elif ifadesi, if ifadesinin ardından gelir ve if ifadesinin doğru olup olmadığına bakılmaksızın, başka bir koşulu kontrol eder. elif ifadesi, aşağıdaki gibi kullanılır:

if [ koşul ]; then
    # Koşul doğru ise bu bloktaki komutlar çalışır
elif [ koşul ]; then
    # Koşul doğru ise bu bloktaki komutlar çalışır
fi

örnek:

#!/bin/bash

yas=17

if [ $yas -ge 18 ]; then
    echo "Yetişkinsin."
elif [ $yas -ge 16 ]; then
    echo "Gençsin."
fi

Bu kod, kullanıcının yaşı 18’den büyükse “Yetişkinsin.” mesajını, yaşı 18’den küçük ancak 16’dan büyükse “Gençsin.” mesajını yazdırır.

else ifadesi:

else ifadesi, if ve elif ifadelerinin ardından gelir ve her iki ifadenin de yanlış olması durumunda çalışır. else ifadesi, aşağıdaki gibi kullanılır:

if [ koşul ]; then
    # Koşul doğru ise bu bloktaki komutlar çalışır
elif [ koşul ]; then
    # Koşul doğru ise bu bloktaki komutlar çalışır
else
    # Her iki koşul da yanlış ise bu bloktaki komutlar çalışır
fi

örnek:

#!/bin/bash

yas=15

if [ $yas -ge 18 ]; then
    echo "Yetişkinsin."
elif [ $yas -ge 16 ]; then
    echo "Gençsin."
else
    echo "Çocuksun."
fi

Bu kod, kullanıcının yaşı 18’den küçük, 16’dan da küçük olduğu için “Çocuksun.” mesajını yazdırır.

case ifadesi:

case ifadesi, bir değişkenin değerine göre bir dizi koşulu kontrol eder. case ifadesi, aşağıdaki gibi kullanılır:

case değişken in
    pattern1)
        # pattern1'e eşleşirse bu bloktaki komutlar çalışır
    ;;
    pattern2)
        # pattern2'ye eşleşirse bu bloktaki komutlar çalışır
    ;;
    *)
        # Herhangi bir pattern'e eşleşmezse bu bloktaki komutlar çalışır
    ;;
esac

örnek:

#!/bin/bash

gün=pazartesi

case $gün in
    pazartesi)
        echo "Pazartesi."
    ;;
    salı)
        echo "Salı."
    ;;
    çarşamba)
        echo "Çarşamba."
    ;;
    perşembe)
        echo "Perşembe."
    ;;
    cuma)
        echo "Cuma."
    ;;
    cumartesi)
        echo "Cumartesi."
    ;;
    pazar)
        echo "Pazar."
    ;;
esac

Bash scriptleri, döngüler kullanarak bir komut setini belirli bir sayıda veya belirli bir koşul altında tekrar tekrar çalıştırabilir. Bash scriptlerinde kullanılan döngüler şunlardır:

  • for: Bir dizi öğeyi işlemek için kullanılır.
  • while: Bir koşul sağlandığı sürece bir komut setini çalıştırmak için kullanılır.
  • until: Bir koşul sağlanmadığı sürece bir komut setini çalıştırmak için kullanılır.

for döngüsü:

for döngüsü, bir dizi öğeyi işlemek için kullanılır. for döngüsü, aşağıdaki gibi kullanılır:

for değişken in dizi; do
    # Döngünün gövdesi
done

örnek:

#!/bin/bash

for i in {1..10}; do
    echo "Sayı: $i"
done

Bu kod, 1’den 10’a kadar olan sayıları yazdırır.

while döngüsü:

while döngüsü, bir koşul sağlandığı sürece bir komut setini çalıştırmak için kullanılır. while döngüsü, aşağıdaki gibi kullanılır:

while koşul; do
    # Döngünün gövdesi
done

örnek:

#!/bin/bash

i=1

while [ $i -le 10 ]; do
    echo "Sayı: $i"
    i=$((i + 1))
done

Bu kod, 1’den 10’a kadar olan sayıları yazdırır.

until döngüsü:

until döngüsü, bir koşul sağlanmadığı sürece bir komut setini çalıştırmak için kullanılır. until döngüsü, aşağıdaki gibi kullanılır:

until koşul; do
    # Döngünün gövdesi
done

örnek:

#!/bin/bash

i=1

until [ $i -gt 10 ]; do
    echo "Sayı: $i"
    i=$((i + 1))
done

Bu kod, 1’den 10’a kadar olan sayıları yazdırır.

break ve continue komutları:

break komutu, döngüyü derhal sonlandırır. continue komutu, döngünün sonraki yinelemesini atlar.

örnek:

#!/bin/bash

for i in {1..10}; do
    if [ $i -eq 5 ]; then
        break
    fi
    echo "Sayı: $i"
done

Bu kod, 1’den 10’a kadar olan sayıları yazdırır, ancak 5 numaralı sayıyı atlar.

continue komutu:

#!/bin/bash

for i in {1..10}; do
    if [ $i -eq 5 ]; then
        continue
    fi
    echo "Sayı: $i"
done

Bu kod, 1’den 10’a kadar olan sayıları yazdırır, ancak 5 numaralı sayının çıktısını atlar.

Bash scriptlerinde döngüler, programın davranışını kontrol etmek için güçlü bir araçtır. Döngüler, bir dizi işlemi tekrarlamak, bir koşulun sağlanmasını beklemek veya bir döngünün gövdesini atlamak için kullanılabilir.

Bash scriptleri, fonksiyonlar kullanarak kodu organize edebilir ve yeniden kullanılabilir hale getirebilir. Bash scriptlerinde kullanılan fonksiyonlar, aşağıdaki gibi tanımlanır:

function fonksiyon_ismi() {
    # Fonksiyonun gövdesi
}

fonksiyon_ismi: Fonksiyonun adı.

fonksiyonun gövdesi: Fonksiyonun gerçekleştireceği işlemler.

örnek:

function merhaba() {
    echo "Merhaba, dünya!"
}

merhaba

Bu kod, “Merhaba, dünya!” mesajını yazdırır.

fonksiyonlar, yerel ve küresel olarak tanımlanabilir.

Yerel fonksiyonlar: Yalnızca fonksiyonun tanımlandığı scriptte kullanılabilir.

Küresel fonksiyonlar: Tüm scriptlerde kullanılabilir.

fonksiyonlar, parametreler alarak tanımlanabilir.

örnek:

function merhaba() {
    echo "Merhaba, $1!"
}

merhaba "Dünya"

Bu kod, “Merhaba, Dünya!” mesajını yazdırır.

fonksiyonlar, return komutu ile bir değer döndürebilir.

örnek:

function topla() {
    return $((1 + 2))
}

echo "Toplam: $(topla)"

Bu kod, “Toplam: 3” çıktısını üretir.

Bash scriptlerinde fonksiyonlar, programın davranışını kontrol etmek için güçlü bir araçtır. Fonksiyonlar, kodu organize etmek, yeniden kullanmak ve parametreler almak için kullanılabilir.