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.
d rw- r -- r --
d = dosyanın tipi
r = read = 4
w = write = 2
x = execute = 1
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
: qSatır Numarasını gösmek için
:set nuSatırın Sonuna
: $Satırın Başına
: 0Dosyanı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 : qCat
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 -lNL
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.txtAçı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.txtDosya 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.