Login Sunucularında Dosya İçeriğini Değiştirme

UHeM sitesinden
Uhem (Mesaj | katkılar) tarafından oluşturulmuş 10:21, 11 Kasım 2014 tarihli sürüm

(fark) ← Önceki hâli | en güncel halini göster (fark) | Sonraki hâli → (fark)
Atla: kullan, ara

Login sunucularına bağlandınız. Mesela, bir gaussian işi vereceksiniz. LSF Kullanım Kılavuzu 'nda ve Gaussian Kullanım Kılavuzu 'nda ayrıntılarını bulabileceğiniz gibi, Sistemimizde hazır bulunan lsf betiklerinden birini kendi ihtiyaçlarınıza göre değiştirmeniz gerekecek. İşte bu klavuzda bunu yapmanın 2 farklı yolunu göstereceğiz:

  1. nano ile dosya değiştirme,
  2. vim ile dosya değiştirme.


nano kullanımı çok kolay, fakat çok fazla özelliği de bulunmayan bir editördür. Başlangıç için çok uygundur.


Diğer anlatacağımız vim ise bunun tam tersine, başlangıçta çok garip, alışması zor, fakat birkez alıştığınız zaman sadece vim kullanmak isteyeceğiniz kadar yetenekli ve çok fazla özelliği bulunan bir editördür.


Ancak bu açıklamamızdan, nano 'nun kötü, vim 'in iyi olduğu ve mutlaka vim kullanmanız gerektiği sonucunu çıkarmayınız. Sadece basit değişiklikler için vim öğrenmeniz gerekli değildir. nano işinizi halletmenin hızlı ve kolay bir yoludur.


nano Komutu ile Dosya Değiştirme

Öncelikle değiştireceğimiz lsf betiğini kendi alanımıza kopyalayalım:


cp /RS/progs/lsf_betikleri/gaussian_v2.1.lsf ./gaussian.lsf


Sonrasında artık nano komutunu kullanabiliriz. nano gaussian.lsf diyerek gaussian.lsf dosyasını değiştirmeye başlayalım:


Nano-dosya-degistirme-baslangic.png


Komutu çalıştırınca aşağıdaki gibi bir görüntü ile karşılaşacağız:


Nano-dosya-degistirme-acilis.png


Burada istedigimiz değişiklikleri yapabiliriz. Sonrasında yaptığımız değişiklikleri kaydetmek için Ctrl yada Mac bilgisayarlarda control tuşuna basılı tutarken x tuşuna basalım.


Burada ekranın alt-sol köşesine bakarsanız, ^X Exit yazdığını göreceksiniz. Bu bize çıkış için Ctrl tuşuna basılı tutarken x tuşuna basmamız gerektiğini hatırlatmak için.


Nano-dosya-degistirme-kayit.png


Ctrl X tuşuna basınca bize kaydetmek istiyor muyuz diye soruyor. Y tuşuna basarak kaydederek, N tuşuna basarak kaydetmeden çıkış yapabiliriz. Yada Ctrl tuşuna basılı tutarken C tuşuna basarak çıkmaktan vaz geçebilirsiniz.


Y tuşuna basınca, bu kez de hangi dosyaya kaydedeceğimizi sorar. Başlangıçtaki dosya adı (gaussian.lsf) hazır olarak gelir. Başka bir adla kayıt etmek istersek bu satırı değiştirebiliriz. Yoksa Enter tuşuna basarak aynı dosyaya kayıt ederiz.


Nano-dosya-degistirme-kayitismi.png


Böylece, komut satırına geri döneriz.


Nano-dosya-degistirme-baslangic.png


nano komutu hakkında anlatacaklarımız bu kadar.


vim Komutu ile Dosya Değiştirme

Öncelikle değiştireceğimiz lsf betiğini kendi alanımıza kopyalayalım:


cp /RS/progs/lsf_betikleri/gaussian_v2.1.lsf ./gaussian.lsf


Sonrasında artık vim komutunu kullanabiliriz. vim gaussian.lsf diyerek gaussian.lsf dosyasını değiştirmeye başlayalım:


Vim-dosya-degistirme-baslangic.png


Komutu çalıştırınca aşağıdaki gibi bir görüntü ile karşılaşacağız. Gördüğünüz gibi daha başlangıçta vim farkını belli etti ve açtığımız dosyanın içeriğini renklendirdi:


Vim-dosya-degistirme-acilis.png


Ancak vim daha ilk tuşa bastığınızda sizi panikletir. Birşeyler yazmaya çalıştığınızda, garip şeyler yapar. Bunun sebebi vim 'in iki farklı modunun olmasıdır:

  1. Komut girişi modu,
  2. Değişiklik yapama (Insert) modu.


Açılışta vim, komut girişi modundadır. Bir değişiklik yapmak için, i tuşuna basarak Değişiklik (Insert) moduna geçiş yapmalıyız.


Değişiklik (Insert) modunda olduğumuzu, ekranın alt-sol köşesindeki - - INSERT - - ifadesinden anlayabiliriz:


Vim-dosya-degistirme-editmode.png


Yapacağımız değişiklikleri yaptıktan sonra, çıkış yapmak için, Esc tuşuna basarak komut girişi moduna geçilmelidir. komut girişi modunda iken :w ile kayıt yaparız. :q ile de vim 'den çıkarız. İstersek, ikisini birlikte yaparak, :wq ile kayıt yaparak çıkarız:


Vim-dosya-degistirme-kaydedipcikis.png


Şayet, değişiklik yaptıktan sonra, :q ile kayıt yapmadan çıkmaya çalışırsanız, vim hata vererek çıkış yapmaz. Bu durumda değişiklikleri kaydetmeden çıkmak için :q! komutunu vermemiz gerekir:


Vim-dosya-degistirme-kaydetmedencikis.png


Böylece, komut satırına geri döneriz.


Vim-dosya-degistirme-baslangic.png

ilave vim komutları

Vim 'in tüm özelliklerini buraya sığdırmamız mümkün değil, ancak işinize yarayacak birkaç komuttan kısaca bahsedelim. Bu komutları girmeden önce, şayet insert modunda iseniz, Esc tuşu ile komut girişi moduna geçmeniz gerektiğini unutmayınız. Ayrıca komut modunda da iki farklı komut tipi vardır:

  1. :<komut> şeklindeki, başında : karakteri bulunan komutlar. Bu komutları girerken ekranın altında girdiginiz karakterleri / komutu görürsünüz.
  2. <komut> şeklindeki, başında : karakteri bulunmayan komutlar. Bu komutları girerken bastığınız tuşlar ekranda gösterilmez, sadece etkilerini görürsünüz.


İşte işinize yarayabilecek bir kaç pratik komut:


Kopyala / Kes / Yapıştır

  • yy ile imlecin bulunduğu satır kopyalanır.
    • 8yy ile imlecin bulundugu satırdan itibaren 8 satır kopyalanır.
    • p ile imlecin bulundugu satırın altına kopyalanan satırlar yapıştırılır.


  • dd imlecin bulundugu satırı siler.
    • 5dd imlecin bulundugu satırdan itibaren 5 satır siler.
    • p ile imlecin bulundugu satırın altına silinen satırlar yapıştırılır.


  • v ile metin seçme moduna girilir. v tuşuna bastıktan sonra, ok tuşları ile istediğimiz bölümü seçersiniz.
    • Sonrasında d ile seçili metni siler.
    • Yada y ile seçili metni kopyalabiliriz.
    • V ile de tam satır seçme moduna girilebilir.


Geri Al / Yeniden Yap (Undo / Redo)

  • u ile yapılan işlemler geri alınabilir.
  • Ctrl-r ile (Ctrl ve r tuşlarına birlikte basarak), geri alınan işlemler tekrar yapılabilir.


Bul / Değiştir

  • /<aranacak> ile verilen ifadeyi imlecin bulunduğu yerden ileri doğru arar.
    • n ile bir sonraki bulunana gider.
    • /mkdir ile mkdir geçen satırları arar.
    • ?<aranacak> ile verilen ifadeyi imlecin bulunduğu yerden geriye doğru arar.


  • :<satır-aralığı>s/<aranacak>/<değişecek>/g Verilen satırlarda, aranacak ifadeyi bulduğunda değişecek ile değiştirir.
    • :%s/küçük/büyük/g metindeki bütün küçük kelimeleri büyük kelimesi ile değiştirir.
    • :14,52s/küçük/büyük/g 14 ila 52. satırlardaki bütün küçük kelimeleri büyük kelimesi ile değiştirir.
    • Sondaki g bulunan tüm ifadeleri değiştir demek, kaldırırsanız sadece ilk bulduğu ifadeyi değiştirir.
    • vim'de Regular Expression (RegEx) desteği vardır:
      • %s/^Bu Dosya/Dosyamız/ sadece satır başındaki Bu Dosya ifadelerini Dosyamız ile değiştirir.
      • ^ satır başı, $ satır sonu, . her hangi bir karekter, * sıfır dahil herhangi bir sayıda demektir.
      • :%s/ *$// kaç tane olursa olsun satır sonundaki boşluk karakterlerini sil demektir.
      • Regular Expression (RegEx) çok geniş bir konudur ve başka programlarca da kullanılır.
      • :%s/\([^ABC][A-Za-z0-9_-]*\).jpg/\1.gif/g bu ifade ile A, B veya C ile başlamayan .jpg uzantılı dosya adlarının uzantısını .gif yapar.


  • :g/<aranacak>/d ile aranacak ifadeyi bulduğunda o satırı siler.
    • :g/BSUB/d BSUB gecen satırları siler.
    • :g/^ *$/d sadece boşluk içeren satırları siler.
    • g her bulduğunu sil demek, verilmezse sadece ilk bulduğunu siler.


Görünüm Ayarları

  • :set number ile satır numaralarını gösterir.
    • :set number! ile satır numaralarını gizler.


  • :syntax on dosyanın türüne göre renklendirmeyi açar.
    • :syntax off renklendirmeyi kapar.


Birden fazla Dosya

vim ile birden fazla dosya da açabilirsiniz:


  • vim -O <dosya1> <dosya2> ile iki dosyayı yanyana açar.
    • iki kez Ctrl-w ile bir dosyadan diğerine geçilir.
    • Yazacağınız komutlar imlecin bulunduğu tarafta geçerlidir.
    • -O yerine -o ile dosyaları alt alta açar.
    • :qa ile tümünden bir seferde çıkabilirsiniz.


  • vim -d <dosya1> <dosya2> ile iki dosyayı yanyana diff modda açar.
    • Bu şekilde iki dosyada da aynı olan satırlar normal bir şekilde gösterilir.
    • Farklı satırlar ise renklendirilerek farklı satırlar belli edilir.
    • Birçok satır aynı ise bu satırları gizleyip, +-- 17 lines ... şeklinde gösterir.
    • Gizlenmiş satırları görmek için, +-- 17 lines ... satırında <Boşluk> tuşuna basınız.


  • :vsplit <dosya_adi> ile zaten açtığınız vim ekranını dikey bölerek yanına verilen dosyayı açar.
    • :split <dosya_adi> ile zaten açtığınız vim ekranını yatay bölerek üstüne verilen dosyayı açar.


Çeşitli Komutlar

  • :<satir-numarası> ile verilen satıra gider.
    • :1 dosyanın başına döner.
    • :27 27. satıra gider.
    • :$ dosyanın sonuna gider.


  • K ile imlecin üzerinde bulunduğu kelimenin man sayfasını açar.
    • q tuşu ile man sayfasından çıkılır.
    • Sonra da <Enter> tuşuna basarak vim'e geri dönülür.


vim komutu hakkında anlatacaklarımız bu kadar.