Pevné odkazy a Softlinks jsou důležité pojmy, kterým je třeba porozumět, když pracujete v prostředí podobném Unixu. V tomto článku probereme, co je pevný odkaz a měkký odkaz a jak je vytvořit v Linuxu.
Linux zachází se vším jako se souborem. Ať už se jedná o blokové zařízení, znakové zařízení, soket nebo pojmenovanou rouru, Linux je bude považovat za soubor. Pevné odkazy a soft odkazy jsou také typem souboru, který je ve skutečnosti vytvořen jako odkaz na jiný soubor.
Co je Hardlink v Linuxu
Pevný odkaz je jako klon původního souboru. Všechny pevné odkazy sdílejí stejné číslo inodu a odstranění původního nebo jakéhokoli jiného pevně připojeného souboru nebude mít žádný vliv na ostatní soubory a přesto si můžete přečíst obsah souboru.
POZNÁMKA :Pro adresáře nelze vytvořit pevné odkazy.
Jak vytvořit pevné odkazy v Linuxu
Podívejme se, jak pracovat s pevnými odkazy. Vytvářím soubor s názvem file1.txt a zapsat do něj nějaký obsah.
$ cat file1.txt
Nyní spusťte příkaz ls s -i
příznak pro kontrolu čísla inodu souboru file1.txt a počet odkazů.
$ ls -li file1.txt
Nyní vytvořte nový pevný odkaz a spusťte stejný příkaz ls pro kontrolu čísla inodu. Uvidíte, že oba soubory mají stejná čísla inodů.
$ ln <source-file> <destination-file> $ ln file1.txt file2.txt
Nyní vytvořím nový soubor pevného odkazu z file2.txt který je již vytvořen ze souboru file1.txt . Zkontrolujte počet odkazů a ve všech souborech se aktualizuje na 3.
$ ls -li file2.txt /home/karthick/file3.txt
Jak odstranit pevné odkazy v Linuxu
Pokud nyní smažete některý z pevně propojených souborů, počet odkazů se odpovídajícím způsobem aktualizuje ve všech souborech a stále budete mít přístup k obsahu souboru.
$ rm file1.txt
Chcete-li zcela odstranit všechny pevně propojené soubory ze systému souborů, můžete použít příkaz find k vyhledání souborů se stejným číslem inodu a odstranění souborů.
$ find <directory> -inum <inode-number> # SYNTAX $ find / -inum 415314 # Finding all files with Inode 51425368
Chcete-li soubory odstranit, můžete přidat exec příkaz najít příkaz.
$ sudo find / -inum415314 -exec rm -f {} \;
POZNÁMKA :Když spustíte najít a pokud chcete prohledat všechny adresáře v souborovém systému, je lepší použít sudo .
Co jsou to softwarové odkazy v Linuxu
Softlinks někdy nazývané symbolické odkazy nebo symbolické odkazy. Když vytvoříte měkký odkaz, vytvoří se nový soubor a tento soubor bude ukazovat na nadřazený soubor. Berte to jako zkratku, kterou vytvoříte pro soubory a složky. Nový soubor bude mít jiný Inode než nadřazený soubor.
$ cat > slink.txt $ ls -li slink.txt
Jak vytvořit měkké odkazy v Linuxu
Nyní vytvořte nový měkký odkaz a spusťte stejný příkaz ls pro kontrolu čísla inodu. Uvidíte, že oba soubory mají stejná čísla inodů. Podívejte se také na počet odkazů pro každý soubor.
$ ln -s <source> <destination> # SYNTAX $ ln -s file1.txt file2.txt
Podívejte se na počet odkazů z obrázku výše, vždy to bude 1 pro měkké odkazy, protože všechny soubory mají samostatné číslo Inode. Pokud nyní smažete soft odkaz, nebude to mít žádný vliv na původní soubor.
# grep ^ ./slink* # Display the contents of file1, file2 # rm slinked_linked.txt
Pokud smažete původní propojený soubor, při pokusu o přístup k němu dojde k chybě.
$ ls -li $ rm slink.txt $ ls -li $ cat slink_linked.txt
Někdy můžete odebrat nadřazený soubor, ale zapomenout odstranit všechny propojené soubory. Všechny osiřelé softwarové odkazy můžete zkontrolovat a vyčistit spuštěním následujícího příkazu. Najít příkaz se pokusí najít všechny osiřelé odkazy z /home/ adresář a -delete
odstraní odkazy.
# find -L /home/ -type l -delete
To je pro tento článek vše. Rádi bychom slyšeli vaši cennou zpětnou vazbu nebo jakékoli tipy, které mohou články vylepšit.