Ext2: typy souborů
Z MiS
(Rozdíly mezi verzemi)
(Upřesněno označení souborů ve výpisu ls -l.) |
m (Doplněn popis blokových a znakových zařízení.) |
||
Řádka 52: | Řádka 52: | ||
== Blokové a znakové zařízení (Block device, character device, b resp. c) == | == Blokové a znakové zařízení (Block device, character device, b resp. c) == | ||
* Ve výpisu <code>ls -l</code> je označen znakem <code>b</code> resp. <code>c</code>. | * Ve výpisu <code>ls -l</code> je označen znakem <code>b</code> resp. <code>c</code>. | ||
− | * | + | * Jedná se o virtuální soubory. Pomocí čtení či zápisu do těchto souborů ve skutečnosti čteme nebo zapisujeme přímo obsah pevného disku či dalších zařízení. |
− | * | + | * Například když si chceme zobrazit či zazálohovat obsah Master Boot Recordu (MBR) pevného disku, můžeme přečíst obsah odpovídajícího virtuálního souboru. |
+ | * Při čtení ze znakových zařízení se používá vyrovnávací paměť, můžeme tedy číst a zapisovat jednotlivé znaky (například zápis na obrazovku). | ||
+ | * Při práci s blokovými zařízeními je třeba vždy načíst celý blok dat (například u pevného disku jeden sektor). | ||
* Obvykle jsou v adresáři: <code>/dev</code> | * Obvykle jsou v adresáři: <code>/dev</code> | ||
<div class="Priklad"> | <div class="Priklad"> |
Verze z 19. 11. 2020, 18:26
Souborový systém ext2 (a souborové systémy z něj vycházející) rozlišují následující typy souborů.
Nepleťte s pojmem „typ souboru“ ve smyslu „jaká data soubor obsahuje“!
Například typy souborů „obrázek JPEG“, „dokument OpenOffice“, „zvukový soubor OGG“ apod. určují pouze jaká data soubor obsahuje. Z hlediska následujícího rozdělení se ve všech případech jedná o typ „běžný soubor“.
Běžný soubor (Regular File, -)
- Normální soubor (regular file).
- Ve výpisu
ls -l
je označen znakem-
. - je to klasický soubor, na který jsme zvyklí (dokument, aplikace, obrázek, nebo cokoli jiného).
Adresář (Directory, d)
- Ve Windows se používá jako synonymum pojem složka (folder).
- Ve výpisu
ls -l
ji označuje znakd
. - V unixovém pojetí je adresář speciálním druhem souboru.
- Vysvětletní realizace adresáře v souborovém systému ext2 viz Ext2: adresáře.
Pevný odkaz (hardlink)
- Ve výpisu
ls
není nijak označen, resp. je označen jako běžný soubor. - Je to prostě jiné jméno pro soubor (který je na disku pouze jednou).
- Jedná se vlastně o druhé jméno pro existující i-node.
- Pevné odkazy lze vytvářet pouze v rámci jednoho souborového systému (číslo i-node je unikátní pouze v rámci jednoho FS).
- Vytvoříme příkazem:
ln
- Počet odkazů jmen daného souboru (počet odkazů) zjistíme ve výpisu
ls -l
(položka před jménem vlastníka). - Vysvětletní realizace pevného linku v souborovém systému ext2 viz Ext2:_adresáře → Pevný link.
Symbolický odkaz (symbolic link, symlink l)
- Ve výpisu
ls -l
je označen znakeml
a za názvem souboru má šipku a cestu k souboru, na který ukazuje. - Dá se přirovnat k hypertextovému odkazu na webu nebo k zástupci ve Windows.
- V Unixu a GNU/Linuxu ale můžeme psát například i:
cd odkaz
.
- V Unixu a GNU/Linuxu ale můžeme psát například i:
- Ve výpisu
ls -l
vidíme, na který soubor odkaz ukazuje. - Přejmenování či zrušení odkazovaného souboru způsobí nefunkčnost symbolického odkazu.
- Lze vytvořit symbolický odkaz odkazující na adresář či na soubor v jiném diskovém oddílu.
- Vytváříme příkazem:
ln -s
echo ahoj > ahoj.txt ln -s ahoj.txt odkaz cp odkaz odkaz2 ln -s odkaz odkaz3 ln -s /media/flash/seznam.txt seznam.txt
- Symbolický link si můžeme představit jako soubor, který má v i-node přiřazen speciální typ symbolický link a v jediném datovém bloku má zapsánu cestu k souboru, na který odkazuje.
Všimněte si, že v souborových systémech ext2/3/4 odpovídá velikost souboru u symbolického linku délce cesty.
Blokové a znakové zařízení (Block device, character device, b resp. c)
- Ve výpisu
ls -l
je označen znakemb
resp.c
. - Jedná se o virtuální soubory. Pomocí čtení či zápisu do těchto souborů ve skutečnosti čteme nebo zapisujeme přímo obsah pevného disku či dalších zařízení.
- Například když si chceme zobrazit či zazálohovat obsah Master Boot Recordu (MBR) pevného disku, můžeme přečíst obsah odpovídajícího virtuálního souboru.
- Při čtení ze znakových zařízení se používá vyrovnávací paměť, můžeme tedy číst a zapisovat jednotlivé znaky (například zápis na obrazovku).
- Při práci s blokovými zařízeními je třeba vždy načíst celý blok dat (například u pevného disku jeden sektor).
- Obvykle jsou v adresáři:
/dev
Příklady:
-
/dev/stdin
-
/dev/null
-
/dev/sda1
Pojmenovaná roura (named pipe)
- Roura slouží k „propojení běžících procesů“.
- Běžně roury jsou pouze dočasné, můžeme jim však přiřadit jméno v souborovém systému.
- Vytváříme příkazem:
mkfifo
Socket (Socket)
- Slouží ke komunikaci mezi procesy a to buďto na lokálním stroji, nebo mezi vzdálenými stroji, po síti. Narozdíl od rour podporují oboustrannou komunikaci.
Zopakujte si
- Jaké jsou typy souborů v systému Unix?
- Jak zjistíte, na jaký soubor ukazuje sym-link?
- Jak zjistíte, jestli je soubor hard-link?
- Jak je v linuxových souborových systémech realizován adresář a jak pevný link (viz Ext2: adresáře)?
Související stránky