Emre AYRILMAZ

Emre AYRILMAZ

Eski MCT, Coder,

© 2019

.Net Denemeleri

Bash Komutları ve Kullanımları.

Ubuntu bash üzerinde günlük işlerimde sık sık kullandığım ve önemli bulduğum komutları gruplara ayırarak listeledim.

Dizin Dosya

ls : Dizini listeler.

ls -l #sonucu uzun liste biçimi olarak verir.

bash_ls.png

–help parametresi komutun kullanımı hakkında detaylı bilgiler verecektir.

cd : Dizin değiştirir.

cd / #ana dizine gider.
cd .. #bir üst dizine gider.
cd home #home adlı dizine gider.

# işaretinden sonraki kodlar göz ardı edilir. Yorum gibi.

mkdir : Dizin oluşturu.

rm : Dosya/Dizin siler.

rm test.txt / #dosyayı siler.
rm -r pictures #dizini siler.
rm -rf pictures #silinecek dizin dolu ise uyarı vermeksizin tüm içeriği siler.

linux işletim sistemi k/b harf duyarlı olduğundan hem komutları hem de dosya/dizin adlarını bu doğrultuda yazmalısınız.

mv : Dosya/Dizin taşır.

cp : Dosya/Dizin kopyalar.

pwd : İçinde bulunan dizinin tam yolunu verir.

cat : Dosya içerini konsola yazdırır. Aynı zamanda dosya birleştirme de yapabilir.

cat names1.txt names2.txt > allnames.txt

grep : Dosya içeriğinde arama yapar.

grep emre /home/test2/names.txt #emre ifadesi dosya içinde varsa konsola yazdırı.
grep e. /home/test2/names.txt #düzenli ifadeler de kullanılabilir.

bash_grep.png

tab komutu otomatik tamamlama yapar.

touch : Boş dosya oluşturur. Bu komuta alternatif olarak şu yöntem ile de dosya oluturabilirsiniz.

nano komutlar.txt

Açılana editör ile dosya içeriğini yazın.

bash_nano.png

İşiniz bitince ctrl + x komutu ardından Y (yes) ve enter ile bitirin.

stat : Dosya/Dizin durumu hakkında detaylı bilgi verir.

bash_stat.png

chmod : Dosya/Dizin erişim yetkilerini belirler.

chmod 620 names.txt #-rw--w----

Yetki matrisi şu şekilde oluşur;

|         | owner | group | other |
|---------|-------|-------|-------|
| read    | x     |       |       |
| write   | x     | x     |       |
| execute |       |       |       |

Yetki belirleme ise numerik şeklide yapılır. Yetkiler read=4,write=2 ve execute=1 bit değeri ile belirlenir. Bu değerler toplama yapılarak kombine edilebilir.

Alternatif olarak harf ile de yapılabilir.

chmod a-x names.txt #execute iznini tümden kaldırır.

Web/Network

ifconfig : Ağ arayüzlerini listeler.

lsof : Açık olan dosyaları listeler. İşletim sisteminde herşey dosya olduğu için belli bir porttan iletişim kuran aygıtları da görebilirsiniz.

lsof -i #açık olan tüm ağ bağlantılarını listeler.

curl : Http istemci

curl https://ayrilmaz.com #ilgili sitenin html çıktısını konsola yazdırır.
curl https://ipecho.net/plain; echo #dış ip bilgisini konsola yazdırır.

ftp : Ftp işlemlerini yapar.

ftp ftp.ayrilmaz.com #bağlantı oluşturur.
get names.txt #dosya indirme
mget name* #aynı anda birden fazla dosya indirir.
put names.txt #dosya yükleme

Sistem

free : Ram durumunu gösterir.

top : Sistem kaynaklarının kullanımını gösterir.

lsblk : Disk ve bölümleri listeler.

passwd : Parola değiştirmek için kullanılır.

shutdown : Sistemi kapat/yeniden başlatma.

shutdown -> -r now #yeniden başlatır.

systemctl : Servis işlemleri için kullanılan komut.

systemctl start kestrel-blog.service #örnek kullanım.

apt : paket yükleme komutu.

sudo apt update #paket veritabanını günceller.
sudo apt upgrade #mevcut paketleri yükseltir.
sudo apt install nginx #nginx paketini yükler.
sudo apt remove nginx #nginx paketini kaldırır. Paket ile igili tanım dosyaları kalır. Tamamen kaldırmak için remove yerine purge komutu kullanılır.