/media/cdrom
je konvence pro připojovací bod , zatímco /dev/cdrom
je speciální zařízení, které lze namontovat na první.
Potřebujete obojí, protože slouží různým účelům:většina aplikací nečte přímo ze speciálního zařízení, ale může číst ze souborového systému (něco, co je připojeno)
(Děkuji za tolik odpovědí na mou otázku. Po chvíli hledání na webu se chci podělit o své vlastní porozumění.)
Podle zde:
V operačních systémech podobných Unixu je soubor zařízení nebo speciální soubor rozhraním pro ovladač zařízení který se objeví v systému souborů, jako by to byl obyčejný soubor.
Podle zde:
Příkaz mount slouží k připojení souborového systému nalezen na nějakém zařízení do velkého stromu souborů.
Takže si myslím, že zde existují 2 různé úrovně softwarové abstrakce:
-
/dev/cdrom
je speciální soubor zařízení. Abstrahuje hardware CD-ROM jako blokové IO zařízení. Tuto abstrakci poskytuje ovladač zařízení. -
/media/cdrom
je přípojný bod pro souborový systém. Poskytuje tedy vyšší úroveň abstrakce hardwaru CD-ROM, tedy jako souborového systému. Například souborový systém ISO-9660. A tuto abstrakci poskytuje ovladač systému souborů.
Takže v podstatě 2 různá umístění souborů pro 2 různé úrovně abstrakce. A v různých scénářích můžeme potřebovat jiný. Myslím, že jiné operační systémy, jako je Windows, také poskytují tak odlišné možnosti, pouze Linux je sjednocuje do jedné hierarchie souborů.
(Myslím, že bych možná měl udělat nějaký experiment a napsat nějaký kód C na Linuxu, abych mohl komunikovat s oběma /dev/cdrom
a /media/cdrom
. A uvidíte, jak vše pokračuje.)
(Budu se neustále učit a zdokonalovat své chápání podle potřeby.)
Proč máme oba /dev/cdrom
a /media/cdrom
?
Proč máme oba /dev/sda2
a /home
?
V podstatě /dev/cdrom
je soubor . Když k němu přistupujete, přistupujete k jednotlivým bitům a bajtem na CD (pokud tam nějaký je). Zatímco /media/cdrom
je složka . Když k němu přistupujete, přistupujete k souborům uložené na disku CD.
Podobně /dev/sda2
představuje nezpracovaný obsah druhého oddílu na prvním pevném disku. Do toho byste zapsali přímo, např. pokud byste chtěli oddíl naformátovat. (mkfs
program doslova otevře /dev/sda2
nebo cokoliv jiného a zapíše na něj konkrétní bitové vzory.) Poté připojíte /dev/sda2
řekněme na /home
a nyní máte přístup ke skutečným souborům . Jak přistupujete k souborům přes přípojný bod, ovladač souborového systému čte a zapisuje základní soubor zařízení.
Toto je prostě způsob, jakým Unix dělá věci.