GNU/Linux >> Znalost Linux >  >> Linux

Jak pracovat s pevnými a měkkými odkazy v Linuxu

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.


Linux
  1. Jak používat příkazy „cat“ a „tac“ s příklady v Linuxu

  2. Jak komprimovat soubory a adresáře v systému Linux (s příklady)

  3. Co je NFS a jak jej nainstalovat na Linux

  1. Jak manipulovat s názvy souborů s mezerami a speciálními znaky v Linuxu

  2. Jak pracovat s uživateli a skupinami v Linuxu

  3. Jak v linuxu vidím du v GB místo MB?

  1. Jak přesměrovat výstup do souboru a Stdout v Linuxu

  2. Jak extrahovat soubory .gz a .tar.gz v Linuxu

  3. Linux – Jak zajistit, aby Oracle Java 7 fungoval se Setcap Cap_net_bind_service+ep?