Ale pevný odkaz jsem mohl vytvořit pouze v adresáři /dev a v jiných adresářích to nebylo možné.
Jak ukazuje chybová zpráva, není možné vytvořit pevný odkaz mezi různými systémy souborů; můžete vytvářet pouze měkké (symbolické) odkazy.
Pokud je například vaše /home je v jiném oddílu než váš kořenový oddíl, nebudete moci pevně propojit /tmp/foo do /home/user/ .
Nyní, jak zdůraznil @RichardNeumann, /dev je obvykle připojen jako souborový systém devtmpfs. Viz tento příklad:
[example@unixlinux.online ~]$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/centos_centos7-root 46110724 3792836 42317888 9% /
devtmpfs 4063180 0 4063180 0% /dev
tmpfs 4078924 0 4078924 0% /dev/shm
tmpfs 4078924 9148 4069776 1% /run
tmpfs 4078924 0 4078924 0% /sys/fs/cgroup
/dev/sda1 1038336 202684 835652 20% /boot
tmpfs 815788 28 815760 1% /run/user/1000
Proto můžete vytvářet pouze pevné odkazy na soubory v /dev v rámci /dev .
Pevný odkaz nelze použít k dosažení toho, co chcete, protože pevné odkazy mezi systémy souborů nefungují.
S mknod však můžete dosáhnout toho, co chcete příkaz.
-
Spusťte
ls -l /dev/devicefile. Měli byste vidět výstup jako tento:crw-rw-rw- 1 root root 1, 9 Mar 29 15:46 /dev/urandom - Poznamenejte si číslo ve sloupci velikosti (
1, 9). - Spusťte příkaz
mknod /path/to/destination c 1 9(nahrazením požadovaných hodnot).
Proč to funguje?
Soubory zařízení jsou v podstatě pevné odkazy na abstraktní soubor implementovaný jádrem nebo ovladači jádra. I když nemůžete vytvořit pevné odkazy na objekty souborového systému z jiného souborového systému, nejedná se o objekty souborového systému, a tak, když znáte jejich hlavní a vedlejší referenční čísla, můžete na ně vytvořit odkaz z jakéhokoli systému souborů.
Pevné odkazy pouze vytvoří další položku v adresáři, ukazující na soubor (kde soubor je věc podobná souboru, například adresář). Proto pevné odkazy nemohou odkazovat na soubor v jiném souborovém systému.
Soft-links jsou v tomto případě vaším přítelem. Použijte ln -s . Softlinks mohou procházet napříč souborovými systémy a mohou dokonce ukazovat na něco, co tam není.