Register Now

Login

Lost Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Login

Register Now

Canyoupwn.me ~

TR | Temel Linux Komutları – 2

İlk yazıyı okumadıysanız ilk yazıya gitmek için:  Temel Linux Komutları – 1

Dosya ve Dizinlerde Yekiler

  • -rwxrwxrwx   dosya oldugunu göstermektedir.
  • drwxrwxrwx d  dizin oldugunu göstermektedir.
    • r okuma yetkisi
    • w  yazma yetkisi
    • x  çalıştırma yetkisi

iusiber

  • Dosya/Dizin değişkeninden sonraki ilk 3 lü blok Kullanıcı yetkileri, sonraki 3 lü blok Grup yetkileri ve son 3 lü blok diğer kullanıcı yetkilerini göstermektedir.

Yetki Değiştirme

chmod [ugoa] [+-=] [rwxst] [dosya/dizin_adı]
  • u  dosya/dizin sahibi
  • g  dosya/dizin sahibiyle aynı gruptaki kullanıcılar
  • o  diğer kullanıcılar
  • a  herkes
  • +  yetki ekleme
  •   yetki çıkarma
  • r  okuma yetkisi
  • w  yazma yetkisi
  • x  çalıştırma yetkisi
  • s  suid biti
  • t  sticky biti

r = 4

w = 2

x = 1

rwx = 7

chmod 777  =  chmod rwxrwxrwx

  • Alt dizinler/dosyalarında yetkilerini değiştirebiliriz.
chmod -R [yetki] [dosya/dizin adı]

Bazen Sistemde Yapılan Değişikliklerde sistemde yaptığımız düzenlemelerde değişiklik olduğunu görebilirsiniz. Bunların önüne geçmek için chattr komutundan faydalanabiliriz.

Dosyayı Değiştirilemez Yapmak

chattr +i [dosya/dizin adı]

Dosyaları Kontrol Etmek

lsattr

Dizin Altındaki Tüm Dosyaları Kontrol Etmek

chattr -R [dizin adı]

Suid Biti

Suid biti sistemdeki normal kullanıcının root yetkisiyle erişilen dosyalara erişebilmesi için dosyalara verilen yetkiye verilen addır.

  • Suid Bitine Sahip Dosyaları Arama
find /[hedef dizin] -perm -4000

Program Kurma/Kaldırma – Sistem Güncelleme

Linux ta farklı dosya kurulum şekilleri vardır bunlardan bazıları kaynak koddan derleyip kurma, paket yönetim sistemi yardımıyla kurma yada repositorylerden çekerek kurabiliriz.

Günümüzde linux dağıtımlar genelde iki türlü paket türü kullanmaktadırlar.

  • RedHat/Fedora/CentOS rpm
  • Debian/Ubuntu dpkg

bunlar manuel kurulum için kullanılan paket türleridir. Repositorylerden kurulum yapmak için rpm  kullanan sistemler için yum , deb  kullanan paket yöneticileri apt  kullanır.

  • Debian Tabanlı Dağıtımlarda Manuel Paket Kurmak
dpkg -i [paket_adı.deb]
  • Çoklu paket içeren programları kurmak için;
dpkg - i *.deb
  • Kurulu paketle ilgili bilgi almak için;
dpkg --status [paket_Adı]
dpkg -s [paket_ Adı]
  • Paket Kaldırma
dpkg --purge remove [paket_Adı]
  • Paketi Tamamen Silmek İçin
dpkg remove [paket_adı]
  • rpm kullanan sistemlerde paket kurmak için;
rpm -ivh [paket_Adı.rpm]

i  Paketi kur

v  İşlemleri göster

h  kurulum düzeyini göster

  • rpm kullanan sistemler paket kaldırmak için
rpm -ev [paket_Adı]

Repolardan Program Kurulumu

  • Sistemimizde hangi repolardan program çekildiğini listelemek için alttaki dosyalara bakabilirsiniz(dağıtımınıza göre) ;
etc/apt/sourcest.list
etc/yum.repos.d
  • Repodan program kurulumu için;
apt-get install  [program_Adı]
yum install [program_Adı]
  • Repolarda program olup olmadığını sorugulamak için;
apt-cache search [program_Adı]
  • Kuracağımız program ve paket hakkında bilgi almak için;
apt-cache show [program_Adı]
  • Paket kaldırmak için;
apt-get remove [program_Adı]
  • Programı konfigğrasyonları ile birlikte kaldırmak için;
apt-get purge remove [program_Adı]
  • Sitemde eski kurulumdan kalan paketleri temizlemek için;
apt-get autoremove
apt-get autoclean

Sistem Güncelleme

apt-get update
apt-get upgrade
  • Sistem sürümü yükseltmek için;
apt-get dist-upgrade

Dizin Oluşturma Silme

mkdir [dizin_Adı]
  • Birden fazla dizin için;
mkdir [dizin_Adı1] [dizi_Adı2]
  • Alt alta dizin oluşturmak için;
mkdir -p [dizin_Adı1]/[dizin_Adı2]/[dizin_Adı3]
  • Dizini içindeki dosyalarla beraber silmek için;
rm -r [dizin_Adı]
  • Silerken sorgu almak için;
rm -ir [dizin_Adı]
  • Direk silmek için;
rm rf [dizin_Adı]
  • Birden fazla dizin silmek için;
rm -ir [dizin_Adı1] [dizin_Adı2]

Dosya İşlemleri

cat

  • Text okuma;
cat /etc/passwd
  • Text dosyası oluşturalım ve içine birşeyler yazalım(ctrl+d) dosyayı kapatalım;
cat > [dosya_Adı] [metin]

toch

  • Text dosyası oluşturmak için;
touch [dosya_Adı]

more

  • Dosya içeriğini daha düzgün şekilde okumak için;
more [dosya adı]

echo

  • Dosya oluşturup içine birşeyler not almak için;
echo "deneme" > [dosya_Adı]
  • Dosya mevcut ve içi dolu ise var olan metnin altına bişeyler eklemek için;
echo "deneme" >> [dosya_Adı]

tail

  • Dosyanın son 10 satırını okumak için;
tail [dosya_Adı]
  • Son n satırı görüntülemek için;
tail -n [dosya_Adı]

less

  • Dosya okumak için;
less [dosya_Adı]

sort

  • Dosya çıktısını alfabetik olarak sıralatmak için;
sort [dosya_Adı]
  • Komut çıktılarını daha düzgün şekilde almak;
[komut] | sort

wc

  • Dosyadaki satır satısı için;
wc -l [dosya_Adı]
  • Dosyadaki karakter satısı için;
wc -c [dosya_Adı]
  • Dosyadaki kelime sayısı için;
wc -w [dosya_Adı]

head

  • Dosyanın ilk 10 satırını görüntülemek için;
head [dosya_Adı]
  • Dosyanın ilk n satırını görüntülemek için;
head -n [dosya_Adı]

nl

  • Satır başlarına numara eklemek için;
nl [dosya_Adı]

pr

  • Dosya içeriğini sayfalara bölmek için;
pr [dosya_Adı]

od

  • Dosya içeriğini 16 lık sistemde görüntülemek içinİ
od  -x [dosya_Adı]
  • Dosya içeriğini 8 lik sitstemde görüntülemek içinİ
od [dosya_Adı]

tee

  • Dosya oluşturup içine yazmak için;
tee [dosya_Adı]

paste

  • İki yada daha fazla dosyayı okuyup satırları yan yana görüntülemek için;
paste [dosya_Adı1] [dosya_Adı2]

| operatörü

  • Pipe işlemlerinde kullanılır. Örneğin bir komutun çıktısını diğer komutla birleştirmek için;
[komut1] | [komut2]

** echo komutunda ‘ (ters tırnak) arasındaki girdi string değilde komut olarak algılanır.

grep

  • Dosya da belli bir kelime aratcağımız zaman;
grep [kelime]
  • Büyük/Küçük harf ayrımı yapmaması için;
grep -i [kelime]
  • Aranan kelimenin bulunduğu satır numaralarını görüntülemek için;
grep -ni [kelime]
  • Bulunduğumuz dizinde tüm dosyalarda belli bir stringi aratmak için;
grep [kelime] * | more

cut

  • -d  ayrılacak alanları
  • -f  hangi alanları görüntülemek istiyorsak
  • -c  gösterilecek karakter sayısı

tr

  • İçerikteki harfleri değiştirmek için kullanılır, örneğin harfleri büyütmek için;
cat [dosya] | tr a-z A-Z
  • <  operatörü önceki dosyayı girdi olarak almasını sağlamak için kullanılır. Örneğin dosya içindeki karakterleri büyütüp yeni bir dosyaya kaydetmek için;
tr a-z A-Z <[dosya]> [yeni_dosya]
  • -d  karakteri yok saymak için;
cat [dosya] | tr -d [karakter]

file

  • Dosyanın ne tür dosya olduğunu sorgulamak için kullanılır.
file [dosya]
  • Bir dizin altındaki dosyaların hangi türlerinde olduğunu görüntülemek için;
ls -F
  • *  işareti olanlar çalıştırılabilir dosyalar.
  • @  olan dosyalar linkli dosyalar.

find

  • Arama yapmak için kullanılır;
find [dizin] [parametre] [aranılan dosya/dizin]
  • Home diznindeki yetkisi 644 olan dosyaları bulmak için;
find /home -perm 644 | more

locate

  • Tüm dosya ve dizinlerde arama yapmak için;
locate [dosya_Adı]

whereis

  • Programın çalıştırılabilir dosyasını arama için;
whereis [dosya_Adı]

which

  • Programın çalıştırılabilir dosyasının hangi dizinde olduğunu bulmak için;
which [dosya_Adı]

Regex

  • []  içerisindeki karakterlerin istenilen şablonda kullanılabilceğini gösterir.
  • .  ile gösterilen yere istenilen karakterin gelebileceğini gösterir.
  • *  her hangi bir karaktere denk gelir.
  • ^  satır başına denk gelir.
  • $  satır sonuna denk gelir.
  • [^..]  küme içindeki karakterler harici değerleri işaret eder.
  • \{n\}  kendisinden önceki karakterin n kez tekrar edildiğini gösterir.
  • \{n,m\}  kendisinden önceki karakterin en az n kez en fazla m kez tekrar edildiğini gösterir.
  • \{n,\}  kendisinden önceki karakterin en az n kez olduğunu gösterir.
  • \+  kendisinden önceki karakterin bir fazla yada bir az olduğunu gösterir.
  • \?  kendisinden önceki karakterin sıfır yada bir kez bulunduğunu gösterir.
  • \|  kendisinden bir önceki veya bir sonraki karaktere karşılık gelir.
  • \(..\)  grup olarak düzenli deyimleri atar.
  • \  özel karakterlerin normal karakter olarak algılar.

SED

Text dosyaları üzerinde  değişiklik yapmamıza yardımcı olur.

  • -n  Belirtilen satırlara işlem yap.
  • -e  Bir sonraki komutu düzenleme komutu.
  • -f  Bir sonraki dosya adı.
  • p  Yazdır.
  • d  Silme.
  • s/değişecek ifade/yerine gelecek ifade/g Text içinde kelime değiştirme.
    • nd  n. satırı sil.
    • /^$/d  tüm boş satırları sil.
    • s/*$//  her satır sonundaki boşlukları sil.
    • /xam/d  “xam” olan tüm satırları siler.
    • s/00*/0/g  ardışık 0 ların yerine 0 yaz.
    • sed -e “s/apple/elma/g” -e “s/prg/program/g”  aynı anda birçok değişiklik yapmak için.
    • s/\./&\/g  noktadan sonra gelen karakterleri yeni satıra kaydır.
    • 10,20d 10. satırla 20. satır arasını sil. (10. ve 20. satır dahil)
    • /\*\**\*$/d  satırın tamamı ***** olan satırları sil.
    • sed -e “s/[^|]*$//” <dosya>  belirtilen dosyadaki tab ve boşluk karakterlerini kaldır.

Dosya Kopyalama, Taşıma ve Silme İşlemleri

Dosya kopyalamak için cp  komutu kulanılır.

 

  • cp kopyalanacak_dosya kopya_adı

Dosya taşımak için mv  komutu kullanılır.

  • mv dosya /hedef_dizin

Dosya silme işlemi için rm komutu kullanılır.

  • rm dosya_adı

Dizin silmek için rm -r  komutu kullanılır.

  • rm -r /silinecek_dizin

About Mustafa Kaan Demirhan

Security Researcher

Follow Me