Ext2: typy souborů
Z MiS
(Rozdíly mezi verzemi)
m (Přidána kategorie Category:Ukládání dat) |
(Doplněny odkazy na popis realizace vybraných typů souborů. + formátování) |
||
Řádka 15: | Řádka 15: | ||
== Adresář (Directory, d) == | == Adresář (Directory, d) == | ||
* Ve Windows se používá jako synonymum pojem složka (folder) | * Ve Windows se používá jako synonymum pojem složka (folder) | ||
− | * Ve výpisu ls -l ji označuje znak d | + | * Ve výpisu <code>ls -l</code> ji označuje znak <code>d</code> |
* V unixovém pojetí je adresář speciálním druhem souboru. | * 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) == | == Pevný odkaz (hardlink) == | ||
− | * Ve výpisu ls není nijak označen. | + | * Ve výpisu <code>ls</code> 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). | * 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. | * 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). | * 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: <code>ln</code> | * Vytvoříme příkazem: <code>ln</code> | ||
− | * 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). | + | * Počet odkazů jmen daného souboru (počet odkazů) zjistíme ve výpisu <code>ls -l</code> (položka před jménem vlastníka). |
+ | * Vysvětletní realizace pevného linku v souborovém systému ext2 viz [[Ext2: adresáře]]. | ||
== Symbolický odkaz (symbolic link, symlink l) == | == Symbolický odkaz (symbolic link, symlink l) == | ||
− | * Označujeme znakem l | + | * Označujeme znakem <code>l</code> |
* Dá se přirovnat k hypertextovému odkazu na webu nebo k zástupci ve Windows. | * 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: <code>cd odkaz</code>. | ** V Unixu a GNU/Linuxu ale můžeme psát například i: <code>cd odkaz</code>. | ||
Řádka 35: | Řádka 37: | ||
* Vytváříme příkazem: <code>ln -s</code> | * Vytváříme příkazem: <code>ln -s</code> | ||
<div class="Priklad"> | <div class="Priklad"> | ||
− | echo ahoj > ahoj.txt | + | echo ahoj > ahoj.txt |
− | ln -s ahoj.txt odkaz | + | ln -s ahoj.txt odkaz |
− | cp odkaz odkaz2 | + | cp odkaz odkaz2 |
− | ln -s odkaz odkaz2 | + | ln -s odkaz odkaz2 |
</div> | </div> | ||
+ | * 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. | ||
+ | <div class="Poznamka"> | ||
+ | Všimněte si, že v souborových systémech ext2/3/4 odpovídá velikost souboru u symbolického linku délce cesty. | ||
+ | </div> | ||
+ | |||
== Blokové a znakové zařízení (Block device, character device, b resp. c) == | == Blokové a znakové zařízení (Block device, character device, b resp. c) == | ||
− | * Je označeno znakem b (respektive c). | + | * Je označeno znakem <code>b</code> (respektive <code>c</code>). |
* Jsou to virtuální soubory. | * Jsou to virtuální soubory. | ||
* Zastupují bloková (pevný disk) či znaková (terminál) zařízení, která jsou připojena k počítači. | * Zastupují bloková (pevný disk) či znaková (terminál) zařízení, která jsou připojena k počítači. | ||
Řádka 48: | Řádka 55: | ||
<div class="Priklad"> | <div class="Priklad"> | ||
Příklady: | Příklady: | ||
− | */dev/stdin | + | * <code>/dev/stdin</code> |
− | */dev/null | + | * <code>/dev/null</code> |
− | */dev/sda1 | + | * <code>/dev/sda1</code> |
</div> | </div> | ||
+ | |||
== Pojmenovaná roura (named pipe) == | == Pojmenovaná roura (named pipe) == | ||
Řádka 57: | Řádka 65: | ||
* Běžně roury jsou pouze dočasné, můžeme jim však přiřadit jméno v souborovém systému. | * 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: <code>mkfifo</code> | * Vytváříme příkazem: <code>mkfifo</code> | ||
+ | |||
== Socket (Socket) == | == 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. | * 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 == | == Zopakujte si == | ||
Řádka 65: | Řádka 75: | ||
* Jak zjistíte, na jaký soubor ukazuje sym-link? | * Jak zjistíte, na jaký soubor ukazuje sym-link? | ||
* Jak zjistíte, jestli je soubor hard-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 == | ||
+ | * [[Ext2: adresáře]] | ||
+ | |||
== Použité zdroje: == | == Použité zdroje: == | ||
* [http://www.owebu.cz/linux/vypis.php?clanek=564 Typy souborů: owebu.cz > Linux (Strákna již není dostupná!)] | * [http://www.owebu.cz/linux/vypis.php?clanek=564 Typy souborů: owebu.cz > Linux (Strákna již není dostupná!)] |
Verze z 16. 6. 2016, 10:03
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), 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.
Symbolický odkaz (symbolic link, symlink l)
- Označujeme znakem
l
- 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 odkaz2
- 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)
- Je označeno znakem
b
(respektivec
). - Jsou to virtuální soubory.
- Zastupují bloková (pevný disk) či znaková (terminál) zařízení, která jsou připojena k počítači.
- 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