RHCSA Serisi: Dosya ve Dizin Yönetimi Nasıl Gerçekleştirilir - Bölüm 2


RHCSA Bölüm 2: Dosya ve dizin yönetimi başlıklı bu makalede, bir sistem yöneticisinin günlük görevlerinde gerekli olan bazı temel becerileri inceleyeceğiz.

Dosya ve Dizinleri Oluşturun, Silin, Kopyalayın ve Taşıyın

Dosya ve dizin yönetimi her sistem yöneticisinin sahip olması gereken kritik bir yeterliliktir. Bu, sıfırdan metin dosyaları (her programın yapılandırmasının özü) ve dizinleri (dosyaları ve diğer dizinleri düzenleyeceğiniz yer) oluşturma/silme ve mevcut dosyaların türünü bulma yeteneğini içerir.

Touch komutu sadece boş dosyalar oluşturmak için değil aynı zamanda mevcut dosyaların erişim ve değişiklik zamanlarını güncellemek için de kullanılabilir.

Bir dosyanın türünü belirlemek için file [filename] komutunu kullanabilirsiniz (bu, onu düzenlemek için tercih ettiğiniz metin düzenleyiciyi başlatmadan önce kullanışlı olacaktır).

ve silmek için rm [dosya adı].

Dizinlere gelince, mkdir [directory] ile mevcut yolların içinde dizinler oluşturabilir veya mkdir -p [/ful/path/to/directory] ile tam yol oluşturabilirsiniz.

Dizinleri kaldırmak söz konusu olduğunda, rmdir [dizin] komutunu vermeden önce bunların boş olduğundan emin olmanız veya daha güçlü olanı (dikkatli kullanın!) rm -rf komutunu kullanmanız gerekir. [dizin]. Bu son seçenek, [directory] ve tüm içeriğini yinelemeli olarak kaldırmaya zorlayacaktır; bu nedenle, riski size ait olmak üzere kullanın.

Giriş ve Çıkış Yönlendirmesi ve Boru Hattı

Komut satırı ortamı, komutların giriş ve çıktısını dosyalardan ve dosyalara yeniden yönlendirmeye ve bir komutun çıktısını adı verilen bir başkasına göndermeye olanak tanıyan çok kullanışlı iki özellik sağlar. sırasıyla yönlendirme ve ardışık düzen.

Bu iki önemli kavramı anlamak için, öncelikle kelimenin *nix anlamında, aslında özel dosyalar olan karakterlerin en önemli üç G/Ç (Giriş ve Çıkış) akışını (veya dizisini) anlamamız gerekir.

  1. Standart giriş (diğer adıyla stdin) varsayılan olarak klavyeye eklenir. Başka bir deyişle klavye, komut satırına komut girmek için kullanılan standart giriş cihazıdır.
  2. Standart çıktı (stdout olarak da bilinir) varsayılan olarak ekrana eklenir; komutların çıktısını "alan" ve bunları ekranda görüntüleyen cihazdır.
  3. Standart hata (diğer adıyla stderr), bir komutun durum mesajlarının varsayılan olarak gönderildiği yerdir; bu aynı zamanda ekrandır.

Aşağıdaki örnekte, ls /tecmint sonucunun yanı sıra ls /var çıktısı da stdout'a (ekran) gönderilir. . Ancak ikinci durumda gösterilen stderr'dir.

Bu özel dosyaları daha kolay tanımlamak için her birine, onlara erişmek için kullanılan soyut bir temsil olan bir dosya tanımlayıcı atanır. Anlaşılması gereken en önemli şey, bu dosyaların da diğerleri gibi yeniden yönlendirilebilmesidir. Bunun anlamı, bir dosya veya komut dosyasındaki çıktıyı yakalayıp başka bir dosyaya, komuta veya komut dosyasına girdi olarak gönderebilmenizdir. Bu, örneğin daha sonra işlenmek veya analiz edilmek üzere komutların çıktısını diskte saklamanıza olanak tanır.

Stdin (fd 0), stdout (fd 1) veya stderr'i (fd 2) yeniden yönlendirmek için aşağıdaki operatörler mevcuttur.

Redirection Operator

Etki

>

Standart çıktıyı, standart çıktıyı içeren bir dosyaya yönlendirir. Hedef dosya mevcutsa üzerine yazılacaktır.

>>

Standart çıktıyı bir dosyaya ekler.

2>

Standart hatayı standart çıktıyı içeren bir dosyaya yönlendirir. Hedef dosya mevcutsa üzerine yazılacaktır.

2>>

Mevcut dosyaya standart hatayı ekler.

&>

Hem standart çıktıyı hem de standart hatayı bir dosyaya yönlendirir; Belirtilen dosya mevcutsa üzerine yazılacaktır.

<

Belirtilen dosyayı standart giriş olarak kullanır.

<>

Belirtilen dosya hem standart giriş hem de standart çıkış için kullanılır.

Yönlendirmenin tersine, ardışık düzen oluşturma, bir komutun arkasına ve diğerinin önüne dikey bir (|) çubuğu eklenerek gerçekleştirilir.

Hatırlamak:

  1. Yönlendirme, bir komutun çıktısını bir dosyaya göndermek veya bir dosyayı komuta girdi olarak göndermek için kullanılır.
  2. Ardışık düzen, bir komutun çıktısını başka bir komuta girdi olarak göndermek için kullanılır.

Yönlendirme ve Ardışık Düzen Örnekleri

Örnek 1: Bir komutun çıktısını bir dosyaya yönlendirmek

Bir dosya listesi üzerinde yineleme yapmanız gerekeceği zamanlar olacaktır. Bunun için öncelikle o listeyi bir dosyaya kaydedip daha sonra o dosyayı satır satır okuyabilirsiniz. Doğrudan ls çıktısı üzerinde yineleme yapabileceğiniz doğru olsa da, bu örnek yeniden yönlendirmeyi göstermeye yarar.

ls -1 /var/mail > mail.txt

Örnek 2: Hem stdout'u hem de stderr'i /dev/null'a yönlendirmek

Hem stdout'un hem de stderr'in ekranda görünmesini engellemek istersek, her iki dosya tanımlayıcıyı da /dev/null'a yönlendirebiliriz. Aynı komut için yeniden yönlendirme uygulandığında çıktının nasıl değiştiğine dikkat edin.

ls /var /tecmint
ls /var/ /tecmint &> /dev/null

Örnek 3: Bir dosyayı komuta girdi olarak kullanma

Cat komutunun klasik sözdizimi aşağıdaki gibidir.

cat [file(s)]

Doğru yönlendirme operatörünü kullanarak bir dosyayı giriş olarak da gönderebilirsiniz.

cat < mail.txt

Örnek 4: Bir komutun çıktısını diğerine girdi olarak gönderme

Büyük bir dizininiz veya işlem listeniz varsa ve belirli bir dosyayı veya işlemi bir bakışta bulmak istiyorsanız, listeyi grep'e yönlendirmek isteyeceksiniz.

Aşağıdaki örnekte boru hatlarını kullandığımızı unutmayın. İlki gerekli anahtar kelimeyi arar, ikincisi ise asıl grep komutunu sonuçlardan çıkarır. Bu örnek Apache kullanıcısıyla ilişkili tüm işlemleri listeler.

ps -ef | grep apache | grep -v grep