Ancak, Linux esnek bir sistem olduğundan, bu varsayılan ayarların mutlaka uygulanması gerekmez. Örneğin, büyük bir ortamda yoğun şekilde izlenen bir sunucudaki standart çıktı bir yazıcı olabilir.
5.1.2. Yönlendirme operatörleri
5.1.2.1. > ve | ile çıktı yönlendirmesi
Bazen bir komutun çıktısını bir dosyaya koymak isteyeceksiniz veya bir komutun çıktısına başka bir komut vermek isteyebilirsiniz. Bu, çıktının yeniden yönlendirilmesi olarak bilinir. Yönlendirme, ">" (büyüktür sembolü) veya "|" kullanılarak yapılır. Bir komutun standart çıktısını başka bir komuta standart girdi olarak gönderen (boru) operatörü.
Daha önce gördüğümüz gibi, kedi komut dosyaları birleştirir ve hepsini standart çıktıda bir araya getirir. Bu çıktıyı bir dosyaya yeniden yönlendirerek, bu dosya adı oluşturulur - veya zaten varsa üzerine yazılır, bu yüzden dikkatli olun.
nancy:~> kedi testi1
Bazı kelimeler
nancy:~> kedi testi2
başka kelimeler
nancy:~> kedi testi1 test2 > test3
nancy:~> kedi testi3
Bazı kelimeler
nancy:~> kedi testi1
Bazı kelimeler
nancy:~> kedi testi2
başka kelimeler
nancy:~> kedi testi1 test2 > test3
nancy:~> kedi testi3
Bazı kelimeler
biraz diğer sözler
Üzerine yazmayın!
Çıktıyı yeniden yönlendirirken mevcut (önemli) dosyaların üzerine yazmamaya dikkat edin. Bash dahil birçok mermi, sizi bu riskten korumak için yerleşik bir özelliğe sahiptir: noklobber. Daha fazla bilgi için Bilgi sayfalarına bakın. Bash'de eklemek istersiniz set -o noklobber senin emrine .bashrc Dosyaların yanlışlıkla üzerine yazılmasını önlemek için yapılandırma dosyası.
"Hiçbir şeyi" mevcut bir dosyaya yönlendirmek, dosyayı boşaltmaya eşittir:
nancy:~> ls -l listesi -rw-rw-r-- 1 bebek | nancy | 117 2 Nisan 18:09 listesi |
nancy:~> > liste | ||
nancy:~> ls -l listesi -rw-rw-r-- 1 bebek | nancy | 0 4 Nisan 12:01 listesi |
Bu işleme denir kırpma.
Var olmayan bir dosyaya aynı yeniden yönlendirme, verilen ada sahip yeni bir boş dosya oluşturacaktır:
nancy:~> ls -l yeni liste
ls: newlist: Böyle bir dosya veya dizin yok
nancy:~> > yeni liste
nancy:~> ls -l yeni liste
ls: newlist: Böyle bir dosya veya dizin yok
nancy:~> > yeni liste
nancy:~> ls -l yeni liste
-rw-rw-r-- 1 nancy nancy
0 Nis 4:12 yeni liste
nancy:~> ls -l yeni liste
-rw-rw-r-- 1 nancy nancy
Bölüm 7, bu tür yeniden yönlendirme kullanımına ilişkin birkaç örnek daha verir. Komutların borularını kullanan bazı örnekler:
Bir metin içinde bir kelime bulmak için, "kalıp1" ile eşleşen tüm satırları görüntüleyin ve "kalıp2" ile eşleşen satırların görüntülenmesini hariç tutun:
grep pattern1 dosya | grep -v pattern2
Bir seferde bir sayfa listeleyen bir dizinin çıktısını görüntülemek için:
ls -The | az
Bir dizindeki bir dosyayı bulmak için:
ls -l | grep dosya_adı_kısmı
5.1.2.2. Giriş yönlendirmesi
Başka bir durumda, normalde bir dosyayı bir seçenek olarak kabul etmeyen bir komutun girdisi olarak bir dosya isteyebilirsiniz. Bu giriş yönlendirmesi, "<" (sembolden küçük) operatörü kullanılarak yapılır.
Aşağıda, girdi yeniden yönlendirmesini kullanarak birine dosya gönderme örneği verilmiştir.
andy:~> posta [e-posta korumalı] < yapmak
Kullanıcı ise mikrofon sistemde var, tam adresi yazmanıza gerek yok. İnternette birine ulaşmak istiyorsanız, argüman olarak tam adresi girin. posta.
Bu, yeni başlayanların kedisinden biraz daha zor okur dosya | posta birisi, ancak elbette mevcut araçları kullanmanın çok daha zarif bir yolu.
5.1.2.3. Yönlendirmeleri birleştirme
Aşağıdaki örnek, giriş ve çıkış yeniden yönlendirmesini birleştirir. Dosya metin.txt önce yazım hataları için kontrol edilir ve çıktı bir hata günlüğü dosyasına yönlendirilir:
harf harf kodlamak metin.txt > error.log
Aşağıdaki komut, kullanırken başka bir dosyayı incelemek için verebileceğiniz tüm komutları listeler. az:
mikrofon:~> daha az --yardım | grep -inceliyorum
:e [dosya] Yeni bir dosyayı inceleyin.
:n * Komut satırından sonraki (N-th) dosyayı inceleyin.
:p * Komut satırından önceki (N.inci) dosyayı inceleyin.
:x * Komut satırından ilk (veya N-th) dosyayı inceleyin.
mikrofon:~> daha az --yardım | grep -inceliyorum
:e [dosya] Yeni bir dosyayı inceleyin.
:n * Komut satırından sonraki (N-th) dosyayı inceleyin.
:p * Komut satırından önceki (N.inci) dosyayı inceleyin.
:x * Komut satırından ilk (veya N-th) dosyayı inceleyin.
The -i seçeneği büyük/küçük harfe duyarlı olmayan aramalar için kullanılır - UNIX sistemlerinin çok büyük/küçük harfe duyarlı olduğunu unutmayın. Bu komutun çıktısını ileride başvurmak üzere kaydetmek istiyorsanız çıktıyı bir dosyaya yönlendirin:
mikrofon:~> daha az --yardım | grep -i inceleyin > dosyaları daha az inceleyin
mikrofon:~> kedi inceleme-dosyaları-az
:e [dosya] Yeni bir dosyayı inceleyin.
:n * Komut satırından sonraki (N-th) dosyayı inceleyin.
:p * Komut satırından önceki (N.inci) dosyayı inceleyin.
:x * Komut satırından ilk (veya N-th) dosyayı inceleyin.
mikrofon:~> daha az --yardım | grep -i inceleyin > dosyaları daha az inceleyin
mikrofon:~> kedi inceleme-dosyaları-az
:e [dosya] Yeni bir dosyayı inceleyin.
:n * Komut satırından sonraki (N-th) dosyayı inceleyin.
:p * Komut satırından önceki (N.inci) dosyayı inceleyin.
:x * Komut satırından ilk (veya N-th) dosyayı inceleyin.
Bir komutun çıktısı, bu komutlar normalde standart girdiden girdiyi okuyup çıktıyı standart çıktıya yazdığı sürece, neredeyse istediğiniz kadar başka bir komuta aktarılabilir.
Bazen yapmazlar, ancak bu komutlara standart tanımlara göre davranmalarını söyleyen özel seçenekler olabilir; bu nedenle, hatalarla karşılaşırsanız, kullandığınız komutların belgelerini (man ve Info sayfaları) okuyun.
Yine, ihtiyacınız olan mevcut dosyaların adlarını kullanmadığınızdan emin olun. Çıktıyı mevcut dosyalara yeniden yönlendirmek, bu dosyaların içeriğini değiştirecektir.
5.1.2.4. >> operatörü
Dosya verilerinin üzerine yazmak yerine, birbirini izleyen iki büyüktür işaretini kullanarak mevcut bir dosyaya metin de ekleyebilirsiniz:
Örnek:
mikrofon:~> kedi istek listesi
daha fazla para daha az iş
mikrofon:~> tarih >> istek listesi
mikrofon:~> kedi istek listesi
daha fazla para daha az iş
mikrofon:~> tarih >> istek listesi
mikrofon:~> kedi istek listesi
daha fazla para daha az iş
28 Şubat Perşembe 20:23:07 CET 2002
mikrofon:~> kedi istek listesi