Slovo filesystem má dva významy.
První význam slova file system používáme takto: Uživatel OS vnímá data na disku rozdělená do adresářů a souborů, zatímco hardware má disk rozdělen na sektory. Filesystem je část jádra OS, které přijímá poždavky od knihoven na čtení nebo zápis do souboru a dává příkazy části jádra "disk driver" na čtení nebo zápis příslušného sektoru na disku a vrací data zpět.

V adresáři /bin najdeme nejčastěji používané příkazy pro všechny uživatele systému (zde jsou vypsány jenom nejpoužívanější):
-
bash— Bourne again shell -
cat— výpis souboru -
chmod— změna oprávnění u souboru nebo adresáře -
chown— změna vlastníka/skupiny u souboru nebo adresáře -
date— výpis času -
dd— kopírování po bytech z disku nebo souboru -
df— výpis zaplnění partition -
dmesg— výpis systémových hlášení -
echo— výpis textu na konzoli -
grep— prohledávání textového vzoru v souboru -
gzipgunzip— komprimace/dekomprimace souboru -
hostname— výpis názvu počítače -
ifconfig— výpis nebo nastavení síťových zařízení -
ip— výpis nebo nastavení síťových zařízení nebo rout -
kill— ukončení běžícího procesu -
ln— vytvoření linku -
ls— výpis adresáře -
lsblk— výpis blokových zařízení -
mkdir— vytvoření adresáře -
more— stránkovač -
mount— připojení filesystému -
mv— přejmenování souboru nebo adresáře -
nano— jednoduchý textový editor -
netstat— výpis síťových spojení, směrovacích tabulek, statistik rozhraní a dalších síťových věcí -
passwd— změna hesla -
ps— výpis běžících procesů -
pwd— jméno aktuálního adresáře -
rm— smazání souboru nebo adresáře -
rmdir— smazání prázdného adresáře -
route— výpis nebo nastavení směrovací tabulky -
sort— seřazení výstupu -
su— změna uživatele -
tail— výstup posledních řádků souboru -
tar— archivační utilita -
touch— změna časového razítka u souboru -
umount— odpojení disku -
uname— výpis systémových informací
V adresáři /boot najdeme jádro operačního systému, například vmlinuz-6.1.57-gentoo a k tomu mapu systému System.map-6.1.57 a konfiguraci jádra config-6.1.57-gentoo.
V adresáři /dev najdeme znaková i bloková zařízení.
V adresáři /home jsou domácí adresáře všech uživatelů kromě roota.
V adresářích /lib a /lib64 jsou základní systémové knihovny.
Adresář /lost+found slouží programu fsck k uložení nalezených souborů při kontrole konzistence filesytému (pro filesystémy ext2, ext3 a ext4).
Adreář /media je přípojným bodem pro mountování přídavných USB disků apod.
Adresář /mnt je přípojným bodem pro mountování pevných disků.
V adresáři /opt nalezneme nestandardní software, třeba Java.
/proc není skutečný adresář na disku, je to systém informací, které poskytuje jádro systému Linux. Tyto informace jsou uspořádány do adresářové struktury.
Adresář /root je domácí adresář administrátora systému root, není čitelný nikým jiným.
V adresáři /run najdeme provozní informace běžících procesů.
V adresáři /sbin se nacházejí programy určené pro administraci systému, např. fdisk, fsck, halt, init, mkfs, shutdown, swapon a swapoff.
Adresář /tmp slouží k uchování dočasných souborů. Po startu systému je obvykle obsah tohot adresáře smazán.
V adresáři /usr se nacházejí uživatelské programy, knihovny a spousta dalších věcí (dokumentace, překlady apod.)
V adresáří /var se nacházejí "proměnlivá data" nejrůznějšího obsahu, logovací soubory ve /var/log, databáze různých programů ve /var/db a spousta dalších věcí.
Druhý význam slova file system je uspořádání dat na disku. K pořádku na disku nám slouží tzv. metadata, která v jednoduchosti popisují, kde co je. Je to informační struktura. Na disku musí být vytvořena určitá struktura pořádku, do které se potom budou ukládat data. Tato struktura se nazývá také filesystem.


Operace s filesystémem
Založení filesystému na disku
Příkaz mkfs (make filesystem) vytváří na disku filesystem v druhém významu tohoto slova, formátuje disk tak, že vytvoří na disku metadata. Nedělá se low level format, který je uživatelsky nemožný, protože ho dělá výrobce točivého disku. [1] Příkaz mkfs může provádět pouze root, protože příkaz mkfs "hovoří" přímo s řadičem disku v jádru.
# mkfs -t ext4 /dev/sda1
Připojení (mount) filesytému
Připojení filesystému do adresářového stromu se provádí příkazem mount. Adresář, kam se daný filesytém připojuje se nazývá přípojný bod (mount point).
# mount -t ext4 /dev/sdb1 /mnt/zaloha
Odpojení (umount) filesystému
Pokud není filesystém v adresářovém stromu již potřeba, je možné ho odpojit. Filesystém není možné odpojit, pokud jsou na něm některými procesy otevřené soubory. Nejprve je nutné tyto soubory uzavřít.
umount /mnt/zaloha
Připojování a odpojování filesystému může provádět jenom uživatel root, v omezené míře u přenosných disků nebo USB klíčenek to může provádět i obyčejný uživatel.
Odpojit kořenový filesystém (ten, co je připojen do adresáře /) v běžícím systému nelze.
Seznam všech připojených filesystémů se nachází v souboru /etc/mtab.
rtr4 ~ # cat /etc/mtab
/dev/root / ext4 rw,noatime 0 0
devtmpfs /dev devtmpfs rw,nosuid,noexec,relatime,size=10240k,nr_inodes=491442,mode=755 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
tmpfs /run tmpfs rw,nosuid,nodev,size=787104k,nr_inodes=819200,mode=755 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
debugfs /sys/kernel/debug debugfs rw,nosuid,nodev,noexec,relatime 0 0
fusectl /sys/fs/fuse/connections fusectl rw,nosuid,nodev,noexec,relatime 0 0
cgroup_root /sys/fs/cgroup tmpfs rw,nosuid,nodev,noexec,relatime,size=10240k,mode=755 0 0
openrc /sys/fs/cgroup/openrc cgroup rw,nosuid,nodev,noexec,relatime,release_agent=/lib/rc/sh/cgroup-release-agent.sh,name=openrc 0 0
none /sys/fs/cgroup/unified cgroup2 rw,nosuid,nodev,noexec,relatime,nsdelegate 0 0
cpuset /sys/fs/cgroup/cpuset cgroup rw,nosuid,nodev,noexec,relatime,cpuset 0 0
cpu /sys/fs/cgroup/cpu cgroup rw,nosuid,nodev,noexec,relatime,cpu 0 0
cpuacct /sys/fs/cgroup/cpuacct cgroup rw,nosuid,nodev,noexec,relatime,cpuacct 0 0
freezer /sys/fs/cgroup/freezer cgroup rw,nosuid,nodev,noexec,relatime,freezer 0 0
net_cls /sys/fs/cgroup/net_cls cgroup rw,nosuid,nodev,noexec,relatime,net_cls 0 0
mqueue /dev/mqueue mqueue rw,nosuid,nodev,noexec,relatime 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
shm /dev/shm tmpfs rw,nosuid,nodev,noexec,relatime 0 0
binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc rw,nosuid,nodev,noexec,relatime 0 0
Kontrola filesystému
Příkaz fsck (filesystem check). Kontrolu filesystému nelze provádět na připojeném filesystému, filesystém musí být předtím odpojen.
# fsck /dev/sda1
Při startu systému Linux se provádí automatická kontrola a připojení všech filesystémů, které se nacházejí v souboru /etc/fstab
rtr4 ~ # cat /etc/fstab
# /etc/fstab: static file system information.
#
# See the manpage fstab(5) for more information.
#
# NOTE: The root filesystem should have a pass number of either 0 or 1.
# All other filesystems should have a pass number of 0 or greater than 1.
#
# NOTE: Even though we list ext4 as the type here, it will work with ext2/ext3
# filesystems. This just tells the kernel to use the ext4 driver.
#
# NOTE: You can use full paths to devices like /dev/sda3, but it is often
# more reliable to use filesystem labels or UUIDs. See your filesystem
# documentation for details on setting a label. To obtain the UUID, use
# the blkid(8) command.
# <fs> <mountpoint> <type> <opts> <dump> <pass>
#LABEL=boot /boot ext4 defaults 1 2
#UUID=58e72203-57d1-4497-81ad-97655bd56494 / xfs defaults 0 1
#LABEL=swap none swap sw 0 0
#/dev/cdrom /mnt/cdrom auto noauto,ro 0 0
/dev/sda1 / ext4 noatime 0 1 (1)
/dev/sda2 none swap sw 0 0 (2)
| 1 | Kořenový filesystém |
| 2 | Toto není filesystém jako takový, ale inicializace swapu |
Boot systému
Slovo boot označuje zavedení operačního systému do paměti a jeho spuštění. Je to celkem dlouhý a složitý proces, protože operační systém musí inicializovat veškerý hardware, připojit filesystémy a spustit všechny potřebné programy.
-
Zapnutí vypínače
-
BIOS (Basic Input Output System) v ROM paměti (dnes flash)
-
historická metoda
-
MBR
-
secondary bootstrap
-
boot manager (grub)
-
kernel
-
-
moderní metoda
-
UEFI subsytém (prohledávání disků s FAT filesystémem a adresářem
EFI\boota spustitelným ) -
secure boot
-
kernel zaveden
-
-
kernel inicializuje hardware
-
přimountování root filesystému
-
spuštění
/sbin/init(PID 1) (nebosystemd), který pokračuje v bootování -
/etc/inittab