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:
- Bir terminal açın.
- Aşağıdaki komutu girin:
sudo apt install net-tools
- Yönetici şifresini girin.
- 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:
- Bir terminal açın.
- Aşağıdaki komutları girin:
sudo apt update
sudo apt install openssh-server openssh-client
- Yönetici şifresini girin.
- 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:
- Bir terminal açın.
- 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:
- Terminali açın.
- 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.
- Uzak bilgisayarda,
~/.ssh
dizinine gidin. authorized_keys
dosyasını açın.- Yerel bilgisayarınızdan oluşturduğunuz SSH anahtarının içeriğini kopyalayın.
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:
- Bir metin editörü açın. Vim, Nano veya Emacs gibi herhangi bir metin editörü kullanabilirsiniz.
- Aşağıdaki kodu yazın:
#!/bin/bash
echo "Merhaba, dünya!"
Bu kod, “Merhaba, dünya!” mesajını ekrana yazdırır.
- Dosyayı kaydedin ve “.sh” uzantısı ile kaydedin. Örneğin, dosyayı “merhaba.sh” olarak kaydedebilirsiniz.
- 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 Linux, Unix ve macOS gibi işletim sistemlerinde bulunduğunuz dizinin tam yolunu gösterir.
Bash Programa Dili
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’.
Open any editor to create a bash file. Here, nano editor is used to create the file and filename is set as ‘First.sh’
Add the following bash script to the file and save the file.
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.
Or,
$ ./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.