GNU/Linux >> Znalost Linux >  >> Linux

Vytvářejte pevné a měkké vazby – příprava na zkoušku RHCSA

V této části přípravy na zkoušku RHCSA se zaměříme na odkazy. Existují dva typy odkazů, pevné odkazy a měkké odkazy. V tomto článku budeme hovořit o tom, jak vytvářet a odstraňovat odkazy, a také probereme základní pozadí obou, pevných odkazů a měkkých odkazů.

V tomto tutoriálu se naučíte:

  • Co jsou symbolické (měkké) odkazy
  • Co jsou pevné odkazy
  • Jak vytvořit symbolický odkaz
  • Jak vytvořit pevný odkaz
  • Jak odstranit odkaz

Manuální stránka ln příkaz

Požadavky na software a použité konvence

Softwarové požadavky a konvence příkazového řádku systému Linux
Kategorie Požadavky, konvence nebo použitá verze softwaru
Systém Red Hat Enterprise Linux 8 nebo jakákoli jiná distribuce GNU/Linux
Software Není k dispozici
Jiné Privilegovaný přístup k vašemu systému Linux jako root nebo prostřednictvím sudo příkaz.
Konvence # – vyžaduje, aby dané linuxové příkazy byly spouštěny s právy root buď přímo jako uživatel root, nebo pomocí sudo příkaz
$ – vyžaduje, aby dané linuxové příkazy byly spouštěny jako běžný neprivilegovaný uživatel

Co jsou odkazy v systémech GNU/Linux

Každý soubor má v tzv. inode uloženou informaci o datu vytvoření, modifikaci, přístupu a také vlastnictví souboru a jeho oprávnění. . Kromě již zmíněných uložených metadat, inode také ukládá informace o datovém bloku, kde je v systému souborů uložen skutečný obsah souboru.

Proto je hlavní funkcí inode je popis objektu souborového systému, jako je soubor nebo adresář. Chcete-li získat přístup k objektu systému souborů spojenému s konkrétním inodem musíme uživateli poskytnout pevný odkaz což je skutečný název souboru nebo adresáře.

To vysvětluje první typ odkazů, které jsou pevné odkazy . Druhým typem odkazů v operačním systému GNU/Linux jsou symbolické odkazy a.k.a měkké odkazy. Rozdíl mezi pevnými a symbolickými odkazy je v tom, že symbolické odkazy ukazují pouze na pevné odkazy, to znamená, že ukazují na existující názvy souborů nebo adresářů. Stručně řečeno, odkazy umožňují uživateli přistupovat k souborům nebo adresářům pomocí více jmen.

Pevné odkazy

Od pevných odkazů jsou spojeny s inody které jsou zase funkcí souborového systému, pevné odkazy nemohou křížit souborové systémy, a proto jsou platné pouze v rámci stejného souborového systému. Kromě toho není možné vytvářet pevné odkazy na adresáře. Jakýkoli pokus o vytvoření pevného odkazu z adresáře bude mít za následek hard link not allowed for directory chybové hlášení.

Vytvoříme několik pevných odkazů. V tomto příkladu nejprve vytvoříme libovolný soubor s názvem sandbox obsahující text linuxconfig.org . Jakmile budete připraveni, vytvoříme několik pevných odkazů na tento soubor směřující z různých míst.

  1. Vytvořte soubor s názvem sandbox obsahující text RHCSA v domovském adresáři uživatele ~/ .
    $ echo "RHCSA" > ~/sandbox
    

    Zkontrolujte obsah souboru pomocí cat příkaz:

    $ cat ~/sandbox
    RHCSA
    
  2. Stále umístěné v domovském adresáři uživatele vytvořte pevný odkaz na sandbox soubor z /tmp/ adresář s názvem hardlink1 .
    $ ln sandbox /tmp/hardlink1
    

    Nyní zkontrolujte obsah nově vytvořeného pevného odkazu /tmp/hardlink1 . Obsah /tmp/hardlink1 a původní sandbox soubor by měl být stejný:

    $ cat /tmp/hardlink1
    RHCSA
    
  3. Zkontrolujte informace o odkazu spojené s oběma názvy souborů sandbox a /tmp/hardlink1 .
    $ ls -l /tmp/hardlink1
    -rw-rw-r--. 2 linuxconfig linuxconfig 6 Jul 25 10:20 /tmp/hardlink1
    $ ls -l ~/sandbox
    -rw-rw-r--. 2 linuxconfig linuxconfig 6 Jul 25 10:20 /home/linuxconfig/sandbox
    

    Poznamenejte si přidružené číslo 2 jak ukazuje výše uvedený výstup. Toto číslo udává počet pevných odkazů spojených s konkrétním inodem.

    POZNÁMKA
    V této fázi je důležité pochopit, že mezi původním sandbox není skutečný rozdíl a nově vytvořený /tmp/hardlink1 soubor. Oba ukazují na stejný node pomocí různých názvů souborů.
  4. Odstraňte pevný odkaz pomocí unlink nebo rm příkaz.
  5. $ unlink sandbox 
    $ ls -l /tmp/hardlink1 
    -rw-rw-r--. 1 linuxconfig linuxconfig 6 Jul 25 10:20 /tmp/hardlink1
    

    V tomto případě obě rm nebo unlink příkazy odstraní pevný odkaz, ale ne aktuální přidružená data a inode. Od sandbox pevný odkaz byl odstraněn, existuje pouze 1 pevný odkaz vlevo spojený s původním inodem. Dále odstraníme poslední pevný odkaz spojený s tímto souborem:

    $ rm /tmp/hardlink1
    

    V tomto okamžiku se ztrácí odkaz na inode ukazující na obsah našeho původního souboru, a proto tento soubor považujeme za odstraněný. Pokud neexistují žádné pevné odkazy směřující na inode, souborový systém nyní může přepsat umístění tohoto inodu novými daty.

VĚDĚLI JSTE?
Můžete odstranit jakýkoli soubor (pokud máte správná oprávnění) pomocí příkazu unlink? Zkuste to nyní:

$ touch file
$ unlink file

Pokud jste porozuměli výše uvedeným příkazům, pak jste zvládli pevné odkazy GNU/Linux, jak je vysvětleno v tomto tutoriálu.

Symbolické odkazy

Kromě pevných odkazů je v operačním systému GNU/Linux k dispozici také jiný typ odkazů. Symbolické odkazy může křížit souborové systémy a je také možné vytvořit symbolický odkaz adresáře. Místo skutečného node však symbolické odkazy , pouze odkaz na existující pevné odkazy (název souboru nebo adresáře). Z tohoto důvodu, pokud je odstraněn skutečný pevný odkaz, na který symbolický odkaz ukazuje, symbolický odkaz se přeruší.

  1. Pojďme nejprve vytvořit nějaké objekty izolovaného prostoru, se kterými si budeme hrát. V tomto případě vytvoříme adresář s názvem mydir a v tomto adresáři vytvoříme soubor s názvem myfile .
    $ mkdir mydir
    $ touch mydir/myfile
    
  2. Dále vytvoříme nový symbolický odkaz na existující adresář mydir pomocí ln příkaz s kombinací -s volba.
    $ ln -s ~/mydir /tmp/symdir
    

    Nyní jsme vytvořili symbolický odkaz nazvaný symdir umístěný v /tmp adresář.

    $ cd /tmp/
    $ ls -l symdir
    lrwxrwxrwx. 1 linuxconfig linuxconfig 23 Jul 25 14:05 symdir -> /home/linuxconfig/mydir
    

    Všimněte si prvního znaku výše uvedeného výstupu. V tomto případě znak l označuje, že máme co do činění se symbolickým odkazem.

    POZNÁMKA
    Při vytváření symbolických odkazů mějte na paměti, že ln příkaz ukládá skutečnou cestu zadanou jako řetězec. Pokud se nenachází ve stejném adresáři, v mnoha případech musíte poskytnout úplnou cestu k objednávce, aby symbolický odkaz fungoval

    Nově vytvořený symdir by měl obsahovat dříve vytvořený soubor myfile :

    $ cd symdir
    $ ls
    myfile
    $pwd 
    /tmp/symdir
    

Cvičení

  1. Hrajte si se symbolickými odkazy. Vytvořte symbolický odkaz na soubor, poté odstraňte původní soubor a podívejte se, co se stalo s vaším symbolickým odkazem.
  2. Co se stane, když spustíte ls příkaz pouze s jedním argumentem. Spusťte například následující příkaz ln -s /etc/services . Co se stalo?
  3. Určete, zda musíte soubor vlastnit, abyste na něj vytvořili symbolický odkaz. Platí stejné pravidlo pro pevné odkazy?

Linux
  1. Jak vytvořit měkké a pevné odkazy v Linuxu

  2. RHEL 7 – RHCSA Poznámky:Vytvářejte pevné a měkké vazby.

  3. Co jsou symbolické odkazy (Soft Links) a jak je vytvořit pod Linuxem

  1. Jak vytvořit pevné a symbolické odkazy v Linuxu

  2. Ulimit:Rozdíl mezi tvrdými a měkkými limity?

  3. Měkký limit vs tvrdý limit?

  1. Rozdíl mezi symbolickými a pevnými odkazy?

  2. Co jsou měkké a pevné odkazy v systému souborů Linux

  3. Rozdíl mezi měkkými a pevnými odkazy v Linuxu