RHCSA Serisi: Nano ve Vim ile Metin Dosyalarını Düzenleme/grep ve regexps ile metni analiz etme - Bölüm 4


Her sistem yöneticisi günlük sorumluluklarının bir parçası olarak metin dosyalarıyla uğraşmak zorundadır. Buna mevcut dosyaların (büyük olasılıkla yapılandırma dosyaları) düzenlenmesi veya yenilerinin oluşturulması da dahildir. Linux dünyasında kutsal bir savaş başlatmak istiyorsanız sistem yöneticilerine en sevdikleri metin düzenleyicinin hangisi olduğunu ve nedenini sorabileceğiniz söylendi. Bu makalede bunu yapmayacağız ancak RHEL 7'de en yaygın kullanılan metin düzenleyicilerden ikisini kullanmanıza yardımcı olacak birkaç ipucu sunacağız: nano (basitliği ve kolaylığı nedeniyle) özellikle yeni kullanıcılar için kullanım kolaylığı) ve vi/m (onu basit bir düzenleyiciden daha fazlasına dönüştüren çeşitli özellikleri nedeniyle). Birini veya diğerini veya emacs veya pico gibi başka bir düzenleyiciyi kullanmak için daha birçok neden bulabileceğinize eminim. Bu tamamen size kalmış.

Nano Editor ile Dosyaları Düzenleme

nano'yu başlatmak için komut istemine nano yazıp isteğe bağlı olarak ardından bir dosya adı yazabilirsiniz (bu durumda, dosya mevcutsa) , sürüm modunda açılacaktır). Dosya mevcut değilse veya dosya adını atlarsak, nano da sürüm modunda açılacak ancak yazmaya başlamamız için bize boş bir ekran sunacaktır:

Önceki resimde görebileceğiniz gibi, nano, ekranın alt kısmında belirtilen kısayollar yoluyla kullanılabilen çeşitli işlevleri görüntüler (^, diğer adıyla düzeltme işareti, Ctrl tuşu). Bunlardan birkaçını isimlendirmek gerekirse:

  1. Ctrl + G: işlevlerin ve açıklamaların tam listesini içeren yardım menüsünü getirir: Ctrl + X: geçerli dosyadan çıkar. Değişiklikler kaydedilmemişse iptal edilir.
  2. Ctrl + R: tam yol belirterek, içeriğini mevcut dosyaya eklemek üzere bir dosya seçmenizi sağlar.

  1. Ctrl + O: dosyada yapılan değişiklikleri kaydeder. Dosyayı aynı adla veya farklı bir adla kaydetmenize olanak tanır. Daha sonra onaylamak için Enter tuşuna basın.

  1. Ctrl + X: geçerli dosyadan çıkar. Değişiklikler kaydedilmemişse iptal edilir.
  2. Ctrl + R: tam yol belirterek, içeriğini mevcut dosyaya eklemek üzere bir dosya seçmenizi sağlar.

/etc/passwd içeriğini geçerli dosyaya ekleyecektir.

  1. Ctrl + K: geçerli satırı keser.
  2. Ctrl + U: yapıştırın.
  3. Ctrl + C: geçerli işlemi iptal eder ve sizi önceki ekrana yerleştirir.

Açılan dosyada kolayca gezinmek için nano aşağıdaki özellikleri sağlar:

  1. Ctrl + F ve Ctrl + B imleci ileri veya geri hareket ettirirken, Ctrl + P ve Ctrl + N tıpkı ok tuşları gibi sırasıyla satır satır yukarı veya aşağı hareket ettirir.
  2. Ctrl + boşluk ve Alt + boşluk imleci her defasında bir kelime ileri ve geri hareket ettirir.

Nihayet,

  1. Ctrl + _ (alt çizgi) ve ardından X,Y'yi girmeniz, imleci belgede belirli bir yere yerleştirmek istiyorsanız sizi tam olarak Satır X, Y sütununa götürecektir.

Yukarıdaki örnek sizi mevcut belgedeki satır 15, sütun 14'e götürecektir.

Linux'un ilk günlerini hatırlayabiliyorsanız, özellikle de Windows'tan geliyorsanız, yeni bir kullanıcı için nano ile başlamanın en iyi yol olduğunu muhtemelen kabul edeceksiniz.

Dosyaları Vim Düzenleyiciyle Düzenleme

Vim, RHEL 7 gibi tüm POSIX uyumlu *nix sistemlerinde bulunan, Linux'taki ünlü bir metin düzenleyicisi olan vi'nin geliştirilmiş bir sürümüdür. Eğer şansınız varsa ve vim'i yükleyebilirsiniz, devam edin; değilse, bu makalede verilen ipuçlarının çoğu (hepsi olmasa da) işe yarayacaktır.

Vim'in ayırt edici özelliklerinden biri, çalıştığı farklı modlardır:

  1. Komut modu, dosyaya göz atmanıza ve bir veya daha fazla harften oluşan kısa ve büyük/küçük harfe duyarlı kombinasyonlardan oluşan komutlar girmenize olanak sağlar. Bunlardan birini belirli sayıda tekrarlamanız gerekiyorsa, önüne bir sayı ekleyebilirsiniz (bu kuralın yalnızca birkaç istisnası vardır). Örneğin, yy (veya Y, yank'ın kısaltması) geçerli satırın tamamını kopyalarken, 4yy (veya 4Y) geçerli satırın tamamını sonraki üç satırla birlikte (toplamda 4 satır) kopyalar.
  2. Ex modunda, dosyaları değiştirebilirsiniz (geçerli bir dosyayı kaydetmek ve harici programları veya komutları çalıştırmak dahil). Ex moduna girmek için komut modundan başlayarak iki nokta üst üste (:) (veya başka bir deyişle Esc + :) ve ardından doğrudan kullanmak istediğiniz ex-mode komutunun adını yazmamız gerekir.
  3. i harfini yazarak erişilen ekleme modunda, yalnızca metni giriyoruz. Çoğu tuş vuruşu metnin ekranda görünmesine neden olur.
  4. Esc tuşuna basarak her zaman komut moduna girebiliriz (üzerinde çalıştığımız mod ne olursa olsun).

Önceki bölümde nano için özetlediğimiz işlemlerin aynısını şimdi vim ile nasıl gerçekleştirebileceğimizi görelim. Vim komutunu onaylamak için Enter tuşuna basmayı unutmayın!

Vim'in tam kılavuzuna komut satırından erişmek için komut modundayken :help yazın ve ardından Enter tuşuna basın:

Üst kısım, vim ile ilgili belirli konulara ayrılmış tanımlı bölümlerle birlikte içeriklerin bir dizin listesini sunar. Bir bölüme gitmek için imleci onun üzerine getirin ve Ctrl + ] (köşeli parantez kapatma) tuşlarına basın. Alt bölümün geçerli dosyayı görüntülediğini unutmayın.

1. Bir dosyada yapılan değişiklikleri kaydetmek için, aşağıdaki komutlardan herhangi birini komut modunda çalıştırın; bu işinizi görecektir:

:wq!
:x!
ZZ (yes, double Z without the colon at the beginning)

2. Değişiklikleri atmaktan çıkmak için :q! kullanın. Bu komut ayrıca yukarıda açıklanan yardım menüsünden çıkmanıza ve komut modunda geçerli dosyaya dönmenize olanak sağlar.

3. N sayıda satırı kesin: komut modundayken Ndd yazın.

4. M sayıda satırı kopyalayın: komut modundayken Myy yazın.

5. Daha önce kesilmiş veya kopyalanmış satırları yapıştırın: Komut modundayken P tuşuna basın.

6. Başka bir dosyanın içeriğini geçerli dosyaya eklemek için:

:r filename

Örneğin, /etc/fstab içeriğini eklemek için şunları yapın:

7. Bir komutun çıktısını geçerli belgeye eklemek için:

:r! command

Örneğin, tarih ve saati imlecin geçerli konumunun altındaki satıra eklemek için:

Yazdığım başka bir makalede (LFCS serisinin 2. Bölümü), vim'de bulunan klavye kısayollarını ve işlevlerini daha ayrıntılı olarak açıkladım. Bu güçlü metin düzenleyicinin nasıl kullanılacağına ilişkin daha fazla örnek için bu eğitime başvurmak isteyebilirsiniz.