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ı?
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:
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.
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.