Используйте вариант сортировки по версиям.
sort -V source > destination
Вы можете создать символическую ссылку, используя относительный путь
, например. (вы хотите создать символическую ссылку из папки bb
, которая находится в ../../ bb
, относящейся к текущему рабочему каталогу, на mylink
ln -s ../../bb/ mylink
$ ls -lsa mylink
0 lrwxrwxrwx 1 user user 9 Apr 18 15:51 mylink -> ../../bb/
Другой пример, где mylink находится в папке, связанной с pwd
mkdir ../../tst
$ ln -s ../../bb/ ../../tst/mylink
$ ls -lsa ../../tst/mylink
0 lrwxrwxrwx 1 user user 9 Apr 18 16:08 ../../tst/mylink -> ../../bb/
Относительная символическая ссылка относится к своему родительскому каталогу и не имеет отношения к текущему каталогу любого процесса или домашнему каталогу любого пользователя.
Например, если /some/dir/link
является символической ссылкой на ../foo/bar
, то это символическая ссылка на /some/dir/. ./foo/bar
(/some/foo/bar
, если /some/dir
не является символической ссылкой), независимо от того, какой у вас текущий или домашний каталог.
Если вы хотите создать новую символическую ссылку на файл относительно текущего каталога (например, файл bin/ls
в вашем текущем каталоге /home/stephane
), то вы можете сделать (в POSIX-подобных оболочках или fish
):
ln -s -- "$PWD/bin/ls" /some/dir/link
Это создаст абсолютную символическую ссылку (на /home/stephane/bin/ls
). Чтобы создать относительную символическую ссылку, вам потребуется:
ln -s ../../home/stephane/bin/ls /some/dir/link
(при условии, что /some
и /some/dir
сами по себе не являются символическими ссылками)
GNU ln
имеет опцию -r
, которая поможет вам вычислить этот путь:
ln -rs bin/ls /some/dir/link
(что создаст ту же символическую ссылку на ../../home/stephane/bin/ls
) .