Portál AbcLinuxu, 6. listopadu 2025 06:58
3) A posledni vec - rad bych vyrabel symlinky s relativni cestou. tzn ln -s ~/Dokumenty/E-BOOK/ E-BOOK Tohle mi ale asi jenom vezme cestu z aktualniho home adresare a dosadi ji jako absolutni cestu pro symlink, ze? Musel bych doplnit parametr pro relativni cestu.Daji se vyrobit i relativni:
~/tmp $ ln -s ../Desktop ./plocha ~/tmp $ ls -l plocha lrwxrwxrwx … plocha -> ../DesktopAle taky se daji snadno rozbit:
~/tmp $ mkdir bla ~/tmp $ mv plocha bla/ ~/tmp $ cd bla ~/tmp $ ls -l lrwxrwxrwx … plocha -> ../Desktop # vede na neexistujici ~/tmp/Desktop
4) Da se nejak EDITOVAT symlink? pres ls -l vidim, kam vede, ale nepoznam, zda ta cesta ke zdroji je relativni, nebo absolutni. A pokud ji chci zmenit, musim smazat cely symlink a vyrobit novy, ze? Neda se nejak zeditovat jako konfigurak v textovem editoru?Da se prepsat:
ln -sf prvni druhy. Udela to asi to same, jako smazani a znovuvytvoreni, ale je s tim min prace.
Absolutní symlink rozbiješ jedině přesunutím cíle [target], nikoliv přesunutím linku.
Relativní symlink rozbiješ jak přesunutím cíle, tak přesunutím linku. (Jediná (zjevná) výjimka je, když přesuneš zdroj i link společně tak, aby relativní cesta dál dávala smysl.)
s/přesuneš zdroj i link/přesuneš cíl i link/
Moc chlastám.
Když máš mountování podle labelu filesystému nebo něčeho, co se nemění, a necháš si přimountovat disk vždy stejnou utilitou, aby se objevil na stejném mountpointu, pak tam budou klidně fungovat absolutní symlinky ukazující někam na ten disk. Ale právě u odpojitelných disků bych na to nespoléhal, protože jiné distro/prostředí nebo manuální mount je může připojit jinam.
Relativní symlink je skutečně relativní vůči svému umístění, nikoliv vůči ~ adresáři majitele. 
a ten si kdyztak vzdycky vyrobim na aktualnim stroji. Proste symlink na umisteni toho flash disku. Jasne, muzu to namountovat tam, kam mi ukazuji symlinky, cize do /home/user/disk, ale u vetsiny desktopovych dister se prenosne disky mountuji samy a je jednodussi vyrobit jeden symlink, nez si rucne mountovat disk.
Ba dokonce se dá vytvořit udev pravidlo, které ten symlink na disk vyrobí automaticky.
ln -f).
Cesta, kam symlink ukazuje, se interpretuje v aktuálním namespace procesu, tedy pokud uděláš chroot, spustíš kontejner, nebo připojíš fs po NFS, tak to bude ukazovat jinam. Relativní cesty ukazují relativně k symlinku. Všelijaké speciální znaky interpretuje shell, u symlinku už se nic neinterpretuje, krom začíná/nezačíná lomítkem.
Da se nejak docilit toho, ze budu mit v /home/dokumenty adresare ./slozka1 , ./slozka2 a v kazde z nich budu mit ./velke ?
A to ./velke mi povede na /mnt/extdisk/slozka1/velke ?
Jde treba o to, ze by se mi automaticky zalozil adresar v tom ext. ulozisti? Na to bylo asi nejjednodussi napsat si maly bashscript, treba s nazvem linkuj, ktery bych spustil v /home/dokumenty/slozka1 a on by si nacetl cestu a vyrobil by adresare a symlink smerujici na externi disk, ktery by je propojil, ze?
Resim totiz potrebu mit dostupna data o produktech lokalne, na SSD disku a soucasne si nerozbit strukturu. Nekdy mam ale v adresari velke RAW soubory, jako video, apod., ktere nepotrebuju mit lokalne a staci mi, kdyz je nekde na sitovem disku, ale rad bych mel ve slozce s produktem symlink pro snadne dohledavani.
Existuje na ne nejaky vtipny filtrTreba
find:
$ ln -s /tmp bla $ find . -maxdepth 1 -type l ./blaAle je docela pravdepodobne, ze ten zalohovaci nastroj bude symlinkum „rozumet“ sam od sebe. Treba rsync ma parametr
--no-links.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.