Pri vytváraní shell skriptov často pracujeme so súbormi Linuxu. Niekedy však potrebujeme poznať úplnú cestu k súboru, na ktorom pracujeme, a tento článok vám povie, ako môžete získať úplnú cestu k súboru. Uviedli sme niekoľko metód, ktoré vám pomôžu nájsť umiestnenie konkrétneho súboru.
Ale predtým, ako pôjdeme ďalej, najprv vytvorte súbor:
Vyššie uvedený výstup jasne ukazuje, že súbor.txt bol úspešne vytvorený.
Teraz sa pozrieme na metódy, ktoré nám poskytnú úplnú cestu k súboru. Celkovo je v tomto článku uvedených 6 metód. Zahŕňajú:
Metóda 1: Príkaz readlink
Príkaz readlink sa používa na tlač kanonických názvov súborov. Na tlač umiestnenia súboru použijeme voľbu -f v kombinácii s readlink. Tu je implementácia a výstup:
Metóda 2: Príkaz realpath
Príkaz realpath zobrazí absolútnu cestu k súboru. Na rozdiel od príkazu readlink tu nepoužijeme žiadnu možnosť. Implementácia a výstup sú uvedené nižšie:
Metóda 3: Príkaz dirname
Ďalšou zaujímavou možnosťou je príkaz dirname . Zoberie celú cestu k súboru, odstráni názov súboru z cesty a zvyšok zobrazí na obrazovke. Pozrite si implementáciu a výstup nižšie:
Metóda 4: Kombinácia príkazov basename a dirname
Videli sme, ako používať príkaz dirname. Ale s týmto príkazom môžeme urobiť ešte jednu vec. Tento príkaz môžeme skombinovať s iným príkazom s názvom basename. Príkaz basename robí úplný opak príkazu dirname. Prevezme celú cestu k súboru, odstráni všetko, čo sa objaví pred názvom súboru, a zvyšok zobrazí na obrazovke.
Teraz prejdeme k demonštrácii. Ale predtým, ako ukážeme kombinované použitie základného názvu a dirname, najprv uvidíme, ako základný názov funguje:
Je zrejmé, že vyššie uvedený výstup zobrazuje iba názov súboru.
Ďalej uvidíme, ako možno vyššie uvedené príkazy použiť spoločne. Vytvorme shellový skript s názvom file_path.sh, ktorý obsahuje nasledovné:
#!/bin/bash echo '$(cd '$(dirname '')' && pwd -P)/$(basename '')'>
Vyššie sme použili príkaz dirname na nájdenie umiestnenia súboru, ktorý zadáme ako prvý argument príkazového riadku. Potom sme prešli na umiestnenie súboru a vytlačili aktuálny pracovný adresár. Požiadali sme o fyzické umiestnenie súboru pomocou príkazu -P. Nakoniec sme použili príkaz basename na vytlačenie iba názvu súboru.
Ak spustíme vyššie uvedený shell skript, výstup bude:
Vyššie vidíme, že výstupy týchto dvoch príkazov sú spojené do jedného, aby sa získala úplná cesta k súboru.
Metóda 5: Príkaz na nájdenie
The príkaz nájsť je ďalší spôsob, ako získať úplnú cestu k súboru. Pozrime sa, ako to funguje:
Vyššie sme použili príkaz find s nasledujúcimi podpríkazmi na získanie umiestnenia súboru:
aký je súborový systém linux
- The - typ f príkaz nám pomáha pri hľadaní súborov.
- The -názov nám pomáha hľadať súbory v aktuálnom pracovnom adresári a jeho podadresároch.
Vyššie uvedený výstup nám jasne ukazuje celú cestu k súboru.
Metóda 6: Príkaz ls
Ďalšou metódou je použitie príkazu ls. Ak sa ako argument odovzdá adresár, zobrazí zoznam všetkých súborov a priečinkov, ktoré sa nachádzajú v tomto adresári. Ale ak je názov súboru odovzdaný spolu s príkazom pwd, potom nám príkaz ukáže umiestnenie súboru. Pozrite si nasledujúce informácie:
Vyššie vidíme, že na obrazovke sa zobrazí úplná cesta k súboru.
Záver :
V tomto článku sme rozobrali niekoľko užitočných spôsobov, ako získať úplnú cestu k súboru. Takže, keď sa nabudúce zaseknete, použite jednu z vyššie uvedených metód, aby ste okamžite dostali odpoveď.