4.1. Aygıtların iki çeşidi

Linux ve Unix işletim sistemleri aygıtları iki şekilde tanır. Birinci rasgele erişimli blok aygıtları (diskler gibi), diğeri ise karakter aygıtlardır (seri hatlar ve teypler gibi). Sistemdeki bazı aygıtlar seri, bazıları rasgele erişimli olabilir. Her desteklenen aygıt dosya sisteminde bir aygıt dosyası ile temsil edilir. Bir aygıt dosyasına yazdığınız veya okuduğunuz zaman veriler temsil edilen aygıttan gelir ve aynı aygıta gider. Yazıcıya dosya göndermek istiyorsak sadece komut vermemiz yeterli olacaktır.

$ cat dosya > /dev/lp1
$

Tabii ki bu, böyle bir durumda sistemde dosya" adında bir dosya olmalı ve bu dosyanın içeriği yazıcının anlayabileceği bir yapıda olmalıdır. Bu komut sayesinde yazıcıdan dosya isimli dosyanın çıktısını alabiliriz. Bununla birlikte, sistem üzerinde pek çok kişi cat komutunu kullanarak yazıcıdan çıktı almaya çalışabileceği göz önünde tutularak, birisi de özel bir uygulama kullanabilir. Bu genellikle lpr'dir. Bu uygulama aynı anda sadece tek bir dosyanın basılacağını garanti eder ve bu dosya bittikten sonra diğerlerini otomatik olarak yazıcıya yollar. Buna benzer şeyler bütün aygıtlar için gereklidir. Aslında aygıt dosyaları için çok nadiren endişe etmemiz gerekir.

Aygıtlar sistemde dosyalar olarak gösterildiği için ls veya başka bir komut yardımı ile sistemde bulunan aygıtları (/dev dizininde ) görebiliriz. ls -l komutunun çıktısında satırın en başında aygıt türünü ve erişim izinlerini görmek mümkündür. Örneğin seri bir aleti inceleyecek olursak;

$ls -l /dev/ttyS0
crw-rw-r--    1 root     dialout    4,  64 Aug 19 18:56 /dev/ttyS0
$

Birinci satırın ilk karakteri, yani crw-rw-rw- harflerinin en başındaki `c' harfi bu aygıtın türünü bize gösterir. Bu aygıt bir karakter aygıtıdır. Normal dosyalar için ilk karakter `-', dizinler için `d', blok aygıtları için `b', bağ dosyaları için ise `l'dir. Daha ayrıntılı bilgiyi ls(1) komutunın kılavuz sayfasında bulabilirsiniz.

Unutmayın ki sistemde olsun olmasın bütün aygıt dosyaları sistem içerisinde mevcuttur. Sisteminizde /dev/sda olması sizin SCSI sabit diske sahip olduğunuz anlamına gelmez. Bütün aygıt dosyalarına sahip olmak ilerde ekleyeceğiniz donanımlar için doğru parametreleri bulmak ve aygıt dosyası yapmak zahmetinden sizi kurtarır. Aynı zamanda yükleme uygulamalarını daha basit hale getirir. Bu sayede sistemi yüklerken her donanım aygıtınız için tek tek uğraşmak zorunda kalmazsınız.