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
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