Fórum Root.cz
Hlavní témata => Software => Téma založeno: Ħαℓ₸℮ℵ ␏⫢ ⦚ 05. 11. 2025, 19:08:25
-
proč příkaz ln -s trollí? jsem v adresáři kde je soubor A B C a složky s,t,u. a použiju příkaz s více než 2 argumenty . Jestli to chápu dobře, v tomto případě ln přepne do režimu, kdy poslední argument je složka, ve které udělá symlinky
Usage: ln [OPTIONS] TARGET... LINK|DIR
Create a link LINK or DIR/TARGET to the specified TARGET(s)
-s Make symlinks instead of hardlinks
-f Remove existing destinations
-n Don't dereference symlinks - treat like normal file
-b Make a backup of the target (if exists) before link operation
-S suf Use suffix instead of ~ when making backup files
-T 2nd arg must be a DIR
-v Verbose
1. fuckup :
ln -s A B C novaslozka chcípne na chybě ln: novaslozka: file exists a nechá po sobě h0vno v podobě symlinku A, ale na B natož C se nedostane řada už!
2. WTF .
ln: -T accepts 2 args max .. k čemu tedy jako je parametr -T??? Pochopil jsem z toho, aby fungoval v režimu DIR, tak asi tedy budu muset použít parametr -T, ale všechno je jinak, zařve to touto hláškou
3. "experiment"
Zkusim se vžít do role lepičů kódu a napadně mě, že DIR musí existovat předem. OK zkusím a ono to funguje :o ??
# ln -s A B s
4. FAIL
:(DOKUD SE NEPODÍVÁM NA TEN VÝTVOR !!!!
# cd s;
ls -laughlol # phirae
total 8.0K
drwxr-xr-x 2 4.0K 2025-11-00 19:21 ./
drwxr-xr-x 7 4.0K 2025-11-00 19:00 ../
lrwxrwxrwx 1 12 2025-11-05 19:51 image.exe -> ??? image.exe
lrwxrwxrwx 1 10 2025-11-05 19:61 readme.txt -> >:(readme.txt
# wc < readme.txt
-sh: readme.txt: Too many levels of symbolic links
testováno na 2 OS
ABORT >:(
RETRY :-\
FAIL :-X
?
-
RTFM:
- GNU: In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.
- Mac: Given more than two arguments, ln makes links in target_dir to all the
named source files. The links made will have the same name as the files
being linked to.
Problém není v příkazu, nejsou tu žádní lepiči, problém je v pochopení man page mezi židlí a klávesnicí.
A parametr -T vynutí, že ti nevleze do existující složky, když ji dáš jako target, kdyby to z té man page taky nebylo jasné.
-
Dobře, a když se tedy zeptám jinak :-X. jak docílím, aby jedno spuštění příkazu ln -s vydělalo do adresáře x symlinky na haldu souborů A B C D ?? Přičemž netrvám a tom, že adresář x nemusí existovat.
Aha, já totiž neměl příkaz man na prvním PC a věštil jsem z ln --help. Na jiném druhém systému (na tom kterém jsem to zkoušel v prvním příspěvku sice man ukazuje to co cituješ, se už píše o čtvrté a třetí formě, leč selhal krutně fatálně jako na prvním pc