Při procházení souborového systému Linux se jistě setkáte s různými typy souborů. Nejpoužívanější a nejzřetelnější typy souborů jsou běžné soubory a adresáře. Operační systém Linux však nabízí z hlediska typů souborů více, protože obsahuje i dalších 5 typů souborů. Tento krátký článek vám pomůže rozpoznat všech 7 různých typů souborů v operačním systému Linux.
Rozpoznání typů souborů v systému Linux
Potřebujete znát pouze 1 příkaz, který vám pomůže rozpoznat a zařadit všech sedm různých typů souborů, které se v systému Linux vyskytují.
$ ls -ld <název souboru>
Zde je příklad výstupu výše uvedeného příkazu:
$ ls -ld /etc/services
-rw-r--r-- 1 root root 19281 14. 2. 2012 /etc/services
ls Příkaz zobrazí typ souboru jako kódovaný symbol, který se nachází jako první znak části oprávnění souboru. V tomto případě je to „-„, což znamená „běžný soubor“. Je důležité zdůraznit, že typy souborů v Linuxu nelze zaměňovat s příponami souborů. Podívejme se na stručný přehled všech sedmi různých typů typů souborů v systému Linux a identifikátorů příkazu ls:
- – : běžný soubor
- d : adresář
- c : soubor znakového zařízení
- b : blokové zařízení soubor
- s : lokální soket soubor
- p : pojmenovaná roura
- l : symbolický odkaz
Geofyzikální ústav UAF, hledá do svého týmu analytiků a inženýrů výzkumné kybernetické infrastruktury zkušeného systémového analytika pro Linux. MÍSTO VÝKONU: Fairbanks, Aljaška, USA
PŘIHLÁSIT SE HNED
Regulární soubor
Regulární soubor je nejběžnější typ souboru, který se vyskytuje v systému Linux. Řídí všechny různé soubory, jako jsou nás textové soubory, obrázky, binární soubory, sdílené knihovny atd. Regulární soubor můžete vytvořit příkazem touch:
$ touch linuxcareer.com
$ ls -ld linuxcareer.com
-rw-rw-r-- 1 lubos lubos 0 Jan 10 12:52 linuxcareer.com
První znak příkazu ls, v tomto případě „-„, označuje identifikační kód regulárního souboru. Pro odstranění regulárního souboru můžete použít příkaz rm:
$ rm linuxcareer.com
$
Adresář
Adresář je druhým nejčastějším typem souboru, který se v Linuxu vyskytuje. Adresář lze vytvořit příkazem mkdir:
$ mkdir FileTypes
$ ls -ld FileTypes/
drwxrwxr-x 2 lubos lubos 4096 10. ledna 13:14 FileTypes/
Jak již bylo vysvětleno, adresář lze identifikovat pomocí symbolu „d“ z výstupu příkazu ls. Pro odstranění prázdného adresáře použijte příkaz rmdir.
$ rmdir FileTypes
Při pokusu o odstranění adresáře příkazem rmdir, který obsahuje další soubory, se zobrazí chybové hlášení:
rmdir: failed to remove `FileTypes/': Directory not empty
V tomto případě je třeba použít příkaz:
$ rm -r FileTypes/
Zařízení znaků
Soubory znakových a blokových zařízení umožňují uživatelům a programům komunikovat s hardwarovými periferními zařízeními. Například:
$ ls -ld /dev/vmmon
crw------- 1 root root 10, 165 Jan 4 10:13 /dev/vmmon
V tomto případě je znakovým zařízením zařízení modulu vmware.
Blokové zařízení
Bloková zařízení jsou podobná znakovým zařízením. Většinou řídí hardware jako pevné disky, paměť atd.
$ ls -ld /dev/sda
brw-rw---- 1 root disk 8, 0 Jan 4 10:12 /dev/sda
Sokety místní domény
Sokety místní domény se používají pro komunikaci mezi procesy. Obecně je používají služby, jako jsou okna X, syslog apod.
$ ls -ld /dev/log
srw-rw-rw- 1 root root 0 Jan 4 10:13 /dev/log
Sockety lze vytvořit systémovým voláním socket a odstranit příkazem unlink nebo rm.
Pojmenované roury
Podobně jako místní sokety umožňují pojmenované roury komunikaci mezi dvěma místními procesy. Lze je vytvořit příkazem mknod a odstranit příkazem rm.
Symbolické odkazy
Pomocí symbolických odkazů může správce přiřadit souboru nebo adresáři více identit. Symbolický odkaz si lze představit jako ukazatel na původní soubor. Existují dva typy symbolických odkazů:
- tvrdé odkazy
- měkké odkazy
Rozdíl mezi tvrdými a měkkými odkazy je ten, že měkké odkazy používají jako odkaz název souboru a tvrdé odkazy používají přímý odkaz na původní soubor. Tvrdé odkazy navíc nemohou procházet napříč souborovými systémy a diskovými oddíly. Pro vytvoření symbolického měkkého odkazu můžeme použít příkaz ln -s:
$ echo file1 > file1
$ ln -s file1 file2
$ cat file2
file1
$ ls -ld file2
lrwxrwxrwx 1 lubos lubos 5 Jan 10 14:42 file2 -> file1
Pro odstranění symbolického odkazu můžeme použít příkaz unlink nebo rm.
Závěr
Jako správce systému budete většinou pracovat s běžnými soubory, blokovými adresáři a znakovými zařízeními. Jako vývojář softwaru budete také pracovat s místními zásuvkami a pojmenovanými rourami.