Unix Eğitim Notları – 2. Bölüm

20 Aralık 2017Unix & Linux
Daha önceki makalemizde konunun devamına Unix Eğitim Notları - 2. Bölüm olarak kaldığımız yerden devam ediyoruz.

Text Editörler

Vİ, NANO, PİCO EMACS vardır. En çok kullanılan editör ise VI editörüdür.

VI Editörü

vi solaris dediğimde dosya açılır. Yoksa da oluşturacaktır. Ancak hiçbir değişiklik yapmadan çıkarsak işlem yapmayacaktır. 2 mod vardır. Inser t Mod, ve Komut Modu Insert Mod : i, a, o, s tuşu ile bir şeyi eklemek için insert moduna geçiş yapmak gerekir. Editörden Kopyala yapıştır için ESC ile komut moduna geliriz.

Tüm satır için

Bulunduğumuz satıra geliyoruz. Yy : Kopyalama P : yapıştır.

Bir Metin için

Kelimenin başından itibaren cursor'u konumlandırmalıyız. y: Kopyalama w: Yapıştır.

İlk 6 satır  kopyalamak için kısayol

6yy : Kopyala P : Yapıştır dersek 6'cı satırı kopyala, Yapıştırmak istenen konuma git. P ile yapıştır. Ya da 6yy : 6. satırı kopyala 6p : 6 kere bulunduğumuz konuma yapıştırır.

Kesme İşlemi

cc : Keser (Dikkat Insert moda gecer. Esc  ile cikip kesme moduna gec) Pp : yapistir.

Satır Silmek için

Dd : Bulunduğumuz konumdaki satırı siler. 6dd : Bulunduğumuz konumdan itibaren sonraki 6 satırı siler.

Undo

u: En son konuma bir sefer gider.

Redo

: En son geri alınan işlemi tekrar çağırır.

Kelime Arama

 : /aranacak kelime N ile bir sonraki kelimeye Shift  + n ile de geri aramasına diger.

Save İçin

:w tmp'de tutan verileri direk diske yazar.

Save As İçin;

:w /uygulama/saveas yaparak dosyanın ismini verdiğimiz için yeni olarak kaydeder.

Kaydetmeden çıkmak için

: q

Satır Numarasını gösmek için

:set nu

Satırın Sonuna

 : $

Satırın Başına

: 0

Dosyanın Sonuna

: shift + g ya da " ] " (Shift + Alt Gr + 9 )

Dosyanın Başına :

:1 Dosyadan Çıkmak için: wq, Shift +zz, q! gibi değişik kombinasyonlar vardir.

Dosyayı Görüntülemek için

More

Büyük dosyalar için kullanabiliriz. Dosyayı görüntülemek için more dosya adı Yukarı : b Aşağı : z Çıkmak için : q

Cat

Daha küçük dosyalar için kullanabiliriz.

Less

 Alternatif Görüntüleme programı

Sort

sort dosyaadı ile dosyanın içerisini sıralamak için kullanırız. Tersten sıralamak için sort -r dosyaadı

Grep

Bir dosya içerisinde bir kelime aramak için kullanılır. Grep "aranacak kelime" "dosya adı" Grep  mustafa save as İki kelimeyi veya mantığı ile aramak için egrep e- 'ilk kelime' -e 'ikinci kelime'  dosya adı Ya da egrep 'mustafa|sd' ile de arayabiliriz. Tüm klasörlerde her dosyanın içinde kelime aramak için grep -r -i aranacakkelime  dosyanınyolu Grep -r -i abc /

Find

find  aranacak yer -name aranacak kelime find / name solaris -name : Arama opsiyonu isme göre aratmış oluyorum. Bu opsiyonlar çok farklı arama yapabiliyoruz. Sadece dosyaları göstermek için Find / -name solaris -tyle f  (f dosyayı temsil eder) Örnek :         adı : "Deneme1" Sahibi : root Tipi : dosya Bulunan sonuçları : sil Yapmak için kullanılacak komut; find / -name deneme1 -user root -type f -exec rm {} \;

Cut

Sercan,kaya, 1234 Mustafa,cetin, 4321 Cut –f2,3 –d, dosya adı -f 2 ve 3 alanları ya da sutunları listele –d ile de ne ile ayrıştığı gösterilir. En sonuna da dosya adını yazarız.

Pipe (  |  )  Önemi

find -type f -user root -name deneme1 | xargs cat Bulduğu sonucu pipe a kadar ile sonucu bulur. Pipe isaretinden sonra tekrar islemi yapar .

WC

WordCount Toplam Satır kelime ve karakter sayılarını verir. Sadece satır satısı ise wc -l

NL

Tüm satırlarının yanına satır numarası koyar. Ancak boşlukları saymaz. Wc Boşlukları da sayar. Touch file{1..10} ile file1, file2 … file10 şeklinde dosya oluşturur.

Echo

Echo merhaba; Bir şeyin yansıması nı yapar. Echo "im $[2011 - 1985] yaşıdır." Bu şekilde hesaplama yapılır. Sadece adı file ile başlayanları listele. ls file Sadece 5 karakterlileri listele ls ????? 5 karakterli sonu 6 olan ls ????6 İlk harfi a ile f arasında başlayan sonu ne olursa olsun ls [a-f]* Bu komut ile büyük F ile başlayanları göstermedi. Sebebi aAbBcCdDeEfF sıralaması olması küçük sonra büyük olarak sıralanır. Buna göre komut ls [a-F]* demeliyiz.

Büyüktür İşareti > ile Dosya Oluşturma

> dosyaadı dediğimizde sorgu çıktısını dosyaya yazdırır. > komutun çıktısını dosya ya kaydeder. >> ise var olan dosyanın altına ekler.

Küçüktür < İşareti ile Sağdaki komut ile çalıştır.

Sağ taraftaki dosya içeriğinin komutları soldaki komut ile çalıştırır. wc -l < root.txt Root.txt dosyasını wc -l ile çalıştırmış oluyor. << Iki Küçüktür wc ül << EOF EOF kelimesini bulana kadar listeleme yapar.

; Noktalı Virgül

Iki komutu tek satırda yazabiliyorum. Echo merhaba ; ls gibi.

Pipe | Karakteri

Bir komutun çıktısını diğer Nl rootdir.txt

Örnek-1

  • _ / etc / Passwd dosyasını numaralandırılmalı
  • Başında “root” kelimesi olan satırı kes
  • Bu satırdaki şifre ve default shell alanlarını bulup
  • Karakter sayısını txt dosyasına yazdır.

Cevap-1

grep ^root /etc/passwd | nl | cut –f2, 7 –d: | wc –m > sonuc.txt

Açıklama-1

^ işareti root ile başlayanlar bulmasını sağlar. Cut komutu ile belirli alanları kesmek için kullanırız.

Örnek-2

  • etc/passwd dosyasında “sh” kelime ile bitmeyen satırlar bul
  • Numaralandır
  • ve 5. Alanları kes
  • Toplam satır ve karakter sayısını sonuç.txt dosyasına ekle

Cevap-2

grep  sh$ /etc/passwd | nl | cut –f1, 5 –d: | wc –m > sonuc.txt

Dosya ve Klasör İzinleri

Dosya ve Klasör İzinleri d rw- r -- r -- d = dosyanın tipi r = read = 4 w = write = 2 x = execute = 1
  • d rw- r -- r -- İlk üç karakter dosya sahibine aittir.
  • d rw- r -- r -- Sonraki üç karakter sahip grubuna aittir.
  • d rw- r -- r -- En son grup ise son kullanıcılara aittir.
U = user G = grup O = diğerleri Örnekte ; İlk üç grupta rw- ‘de r = 4, w = 2 Toplam = 6 Orta üç karakterde r--  = 4 Son üç Karakterde  r-- =  4 Sonucu 644 sonucu olacaktır. Bu yetkileri artırmak için; Chmod 777 rootdir.txt dediğimizde dosyaya tam yetki vermiş olacağız.

Execute Kaldırmak için

Execute hakkını kaldırmak için chmod –x dosya adı dediğimizde execute yetkileri kalkar. +x ise execute yetkisi vermiş oluruz.

Execute Eklemek için

Chmod u+x rootdir.txt user kullanıcılarına execute yetkilerini tanımlamış oluruz.

Sahipliğini Değiştirmek için

chown kullanıcı adı dosya adı chown bin rootdir.txt

Sahip Grubunu değiştirmek için

Chgrup bin rootdir.txt