File Management

/dev/null nedir ve nasıl kullanılır

/dev/null nedir ve nasıl kullanılır
Linux, çeşitli amaçlar için bazı sanal cihazları barındıran ilginç bir işletim sistemidir. Sistemde çalışan programlar söz konusu olduğunda, bu sanal cihazlar gerçek dosyalarmış gibi davranır. Araçlar bu kaynaklardan veri talep edebilir ve besleyebilir. Veriler, onları bir diskten okumak yerine işletim sistemi tarafından oluşturulur.

Böyle bir örnek /dev/null. Her Linux sisteminde bulunan özel bir dosyadır. Ancak, diğer birçok sanal dosyanın aksine, okumak yerine yazmak için kullanılır. /dev/null'a ne yazarsan yaz atılacak, boşluğa unutulacak. UNIX sisteminde boş aygıt olarak bilinir.

Neden boşluğa bir şey atmak isteyesin ki?? /dev/null'un ne olduğunu ve kullanımını kontrol edelim.

Önkoşullar

/dev/null kullanımına derinlemesine dalmadan önce, standart ve standart veri akışı. Bu ayrıntılı kılavuza göz atın standart, standart, ve standart.

Hızlı bir yenileme yapalım. Herhangi bir komut satırı yardımcı programı çalıştırıldığında, iki çıktı üretir. çıkış gidiyor standart ve hata (oluşturulduysa) standart. Varsayılan olarak, bu veri akışlarının her ikisi de terminal ile ilişkilendirilir.

Örneğin, aşağıdaki komut dizeyi çift tırnak işareti içinde yazdıracaktır. Burada çıktı depolanır standart.

$ echo “Merhaba Dünya”

Bir sonraki komut bize önceden çalıştırılan komutun çıkış durumunu gösterecektir.

$ yankı $?

Önceki komut başarıyla çalıştırıldığından çıkış durumu 0'dır. Aksi takdirde çıkış durumu farklı olacaktır. Geçersiz bir komut çalıştırmayı denediğinizde ne olur??

$ adfadsf
$ yankı $?

Şimdi, dosya tanımlayıcı hakkında bilgi sahibi olmamız gerekiyor. UNIX ekosisteminde bunlar bir dosyaya atanan tamsayı değerleridir. Her ikisi de standart (dosya tanımlayıcı = 1) ve standart (dosya tanımlayıcı = 2) belirli bir dosya tanımlayıcıya sahip. Dosya tanıtıcısını (bu durumda 1 ve 2) kullanarak, standart ve standart diğer dosyalara.

Başlangıç ​​için, aşağıdaki örnek, standart echo komutunun bir metin dosyasına. Burada dosya tanıtıcısını belirtmedik. Belirtilmezse, bash kullanacaktır standart varsayılan olarak.

$ echo “Merhaba Dünya” > günlük.Txt

Aşağıdaki komut, standart bir metin dosyasına.

$ asdfadsa 2> hatası.Txt

/dev/null kullanma

Çıktıyı /dev/null'a yönlendirme

Artık /dev/null'un nasıl kullanılacağını öğrenmeye hazırız. İlk olarak, normal çıktı ve hatanın nasıl filtreleneceğini kontrol edelim. Aşağıdaki komutta grep, “/sys” dizininde bir dize (bu durumda merhaba) aramaya çalışacaktır.

$ grep -r merhaba /sys/

Ancak, kök ayrıcalığı olmadığı için çok fazla hata üretecektir, grep bir dizi dosyaya erişemez. Böyle bir durumda, “İzin reddedildi” hatalarıyla sonuçlanacaktır. Şimdi yeniden yönlendirmeyi kullanarak daha net bir çıktı alabiliriz.

$ grep -r merhaba /sys/ 2> /dev/null

Çıktı çok daha iyi görünüyor, doğru? Hiçbir şey değil! Bu durumda, grep'in birçok dosyaya erişimi yoktur ve erişilebilir olanlarda “merhaba” dizesi yoktur.

Aşağıdaki örnekte, Google'a ping göndereceğiz.

$ google'a ping at.com

Ancak, tüm bu başarılı ping sonuçlarını görmek istemiyoruz. Bunun yerine, yalnızca ping Google'a ulaşamadığında oluşan hatalara odaklanmak istiyoruz. Bunu nasıl yaparız?

$ google'a ping at.com 1> /dev/null

Burada, içeriği standart /dev/null dizinine atılır, yalnızca hatalar bırakılır.

Tüm çıktıları /dev/null'a yönlendir

Bazı durumlarda çıktı hiç kullanışlı olmayabilir. Yeniden yönlendirmeyi kullanarak tüm çıktıyı boşluğa boşaltabiliriz.

$ grep -r merhaba /sys/ > /dev/null 2>&1

Bu komutu biraz kıralım. İlk önce, hepsini boşaltıyoruz standart /dev/null'a. Ardından, ikinci bölümde bash'a göndermesini söylüyoruz standart için standart. Bu örnekte, çıktı alınacak hiçbir şey yok. Ancak, kafanız karıştıysa, komutun başarıyla çalışıp çalışmadığını her zaman kontrol edebilirsiniz.

$ yankı $?

Değer 2'dir çünkü komut çok fazla hata üretmiştir.

Dosya tanımlayıcısını unutma eğilimindeyseniz standart ve standart, aşağıdaki komut gayet iyi yapacak. Önceki komutun daha genelleştirilmiş bir biçimidir. Her ikisi de standart ve standart /dev/null'a yönlendirilecek.

$ grep -r merhaba /sys/ &> /dev/null

Diğer örnekler

Bu ilginç bir tanesidir. dd aracını hatırla? Dosyaları dönüştürmek ve kopyalamak için güçlü bir araçtır. dd hakkında daha fazla bilgi edinin. dd kullanarak diskinizin sıralı okuma hızını test edebiliriz. Tabii ki, doğru bir ölçüm değil. Ancak, hızlı bir test için oldukça kullanışlıdır.

$ dd ise= of=/dev/null durum=ilerleme bs=1M iflag=doğrudan

Burada Ubuntu 18'i kullandım.04.4 ISO büyük dosya olarak.

Benzer şekilde, internet bağlantınızın indirme hızını da test edebilirsiniz.

$ wget -O /dev/null

Son düşünceler

Umarım, bu /dev/null dosyasının ne olduğunu net bir şekilde anlamışsınızdır. Bu, kendisine yazılırsa atan ve eğer okunursa boş yazan özel bir cihazdır. Bu ilginç özelliğin gerçek potansiyeli, ilginç bash komut dosyalarındadır.

Bash komut dosyasıyla ilgileniyor musunuz?? Bash komut dosyası oluşturmaya yeni başlayanlar kılavuzuna göz atın.

Zevk almak!

Ubuntu 14'te League Of Legends Nasıl Kurulur.04
League of Legends hayranıysanız, bu, League of Legends koşusunu test etmeniz için bir fırsattır. Linux kullanıcısıysanız LOL'nin PlayOnLinux'ta destek...
En son OpenRA Strateji Oyununu Ubuntu Linux'a yükleyin
OpenRA, klasik Command & Conquer: Red Alert gibi erken Westwood oyunlarını yeniden yaratan bir Libre/Free Gerçek Zamanlı Strateji oyun motorudur. Dağı...
Gamecube & Wii için en yeni Dolphin Emulator'ı Linux'a yükleyin
Dolphin Emulator, seçtiğiniz Gamecube & Wii oyunlarını Linux Kişisel Bilgisayarlarda (PC) oynamanıza izin verir. Ücretsiz olarak kullanılabilen ve aç...