'2> & 1' ve '/ dev / null' nedir


1

Senaryolar arasında dolaşıyor 2>&1ve /dev/nullher yerde görüyorum . Onlar neler? Google’dan sonra, OS X’te Linux’tan farklı mı?

Yanıtlar:


2

Unix süreçler yararlanabilir üç 'standart dosya akışları' vardır - stdin, stdoutve stderr- stdingenellikle klavyeden girdi okur ve stdoutve stderrgenellikle Terminal penceresine gidin. stderrdosya tanımlayıcı numarasını 2alır ve stdout dosya tanımlayıcı numarasını alır 1. 2>&1"tüm çıktıyı stderr'e stdout'un gittiği yere yönlendirmek" anlamına gelir. /dev/nullkarakter bir cihazdır - basitçe kendisine yazılmış herhangi bir şeyi atar.

Her yerde bir komut dosyası çıktısını depolamak istemiyoruz ve size terminalde görmek istemiyorsanız, size yönlendirebilir stderraynı yere stdoutsahip 2>&1ve sonra yeniden yönlendirmek stdoutiçin /dev/nullbirlikte> /dev/null

Yalnızca yönlendirmek olsaydı stdoutile > /dev/null, yine terminalde hataları görecekti.


1

2>&1 Tüm çıktıyı dosya gibi belirtilen hedefe yönlendirmek için komut dosyasını çalıştıran kabuğun bilgisi veya /dev/null

/devLinux sistemlerinde yer cihazlara erişimi olan sistemi sağlar. Bu cihazlardan biri null adında bir sahte cihazdır. / dev / null boş bir cihazdır - eğer istersen bir vakum. Bir şey koyduğun bir delik olmaktan başka hiçbir şey yapmaz ve ortadan kaybolur. Aşağıdaki /dev/nullgibi bir dosyaya kopyalarsanız :

cp /dev/null /tmp/foo

belirtilen dosya boş olacak.

Çıktı yönlendirme ile ilgili detaylı bilgiyi burada bulabilirsiniz .

Ve işte / dev / null öğesinin tam tanımı:

UNIX'de bu, yazılabilen bir sanal dosyadır. Bu dosyaya yazılan veriler atılır. Windows makinelerinde NUL dosya çağrısına benzer. Anahtar nokta: Bir makineyi köklendirirken, saldırganlar genellikle günlüğü / dev / null'a yönlendirir. Örneğin, ln -s / dev / null .bash_history komutu sistemin bash komutlarını kaydetmesine neden olur. Kültür: Yerel dilde, karadelikle aynı şey anlamına gelir. Tipik kullanım: Söyleyeceklerimi beğenmezseniz, lütfen yorumlarınızı / dev / null dizinine yönlendirin.


1
Lütfen grub.cfg gibi önemli sistem dosyalarını kullanarak örnekler vermeyin. Bu dosyayı silmek sisteminizi önyüklenemez hale getirir.
terdon

2
Grub.cfg olayını denedim ve komuta girer girmez bilgisayarım kapandı, anakart pop çalmaya başladı ve LCD ekranım alev harflerinde 0xdeadbeef sergilenen alevlere dönüştü. Deneme.
Thomas
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.