Выполнение ln -fs ./source/*
в целевом каталоге не работает
Это показывает:
./source/file1 is not a directory
решение1
От man ln
:
СИНОПСИС
ln [OPTION]... [-T] TARGET LINK_NAME (1st form) ln [OPTION]... TARGET (2nd form) ln [OPTION]... TARGET... DIRECTORY (3rd form) ln [OPTION]... -t DIRECTORY TARGET... (4th form)
ОПИСАНИЕ
В 1-й форме создайте ссылку на TARGET с именем LINK_NAME. Во 2-й форме создайте ссылку на TARGET в текущем каталоге. В 3-й и 4-й формах создайте ссылки на каждую TARGET в DIRECTORY. Создавайте жесткие ссылки по умолчанию, символические ссылки с помощью --symbolic.
Внимательно прочитав его, вы увидите, что (предполагая, что исходная папка содержит более одного файла) вы использовали 3-ю форму. Поскольку вы не указали каталог, последнее имя файла интерпретируется как каталог.
Если вы находитесь внутри каталога, в котором хотите создать символические ссылки, вы можете просто добавить .
(текущий каталог) в конце команды:
ln -fs ./source/* .
решение2
Я хотел/нуждался в чем-то, и @danzel дал лучший ответ. Вот что мне было нужно: создать символический файл в папке плагина WordPress в другой папке в корне установки WordPress.
- перейдите в папку
- убедитесь, что я нахожусь в правильной папке
- перечислить все элементы в папке
- создать символическую ссылку
Вот команды:
$ cd wp-content/plugins
$ pwd
$ ls -al
$ ln -s ../../my-folder-with-subfolders/subfolder-name/* .
$ ln -s ../../my-folder-with-subfolders/another-subfolder/* .