На оригинальный вопрос:
'ln -s '+basebuild+'/IpDome-kernel/kernel /home/build/sandbox/gen2/basebuild/IpDome-kernel/kernal'
Это действительно создаст символическую ссылку ( -s
) из файла / каталога:
<basebuild>/IpDome-kernel/kernel
на вашу новую ссылку
/home/build/sandbox/gen2/basebuild/IpDome-kernel/kernal
Вот несколько способов помочь вам вспомнить:
Во-первых, есть справочная страница дляln
. Вы можете получить доступ к этому через поиск "man ln" в Google, или просто откройте окно терминала и введите, man ln
и вы получите ту же информацию. Справочная страница четко гласит:
ln [ОПЦИЯ] ... [-T] TARGET LINK_NAME (1-я форма)
Если вам каждый раз приходится искать или просматривать справочную страницу, возможно, вам будет легче вспомнить, что все команды nix работают одинаково:
cp /file/that/exists /location/for/new/file
mv /file/that/exists /location/its/moving/to
ln /file/that/exists /the/new/link
cp
копирует файл, который существует в данный момент (первый аргумент), в новый файл (второй аргумент).
mv
перемещает существующий файл (первый аргумент) в новое место (второй аргумент)
Аналогично ln
связывает файл, который существует в настоящее время (первый аргумент), с новой ссылкой (второй аргумент) *
Последний вариант, который я хотел бы предложить, - вы можете создавать свои собственные справочные страницы, которые легко читать и легко (для вас) найти / запомнить. Просто создайте простой сценарий оболочки, который даст вам подсказку, которая вам нужна. Например, ♦ :
В вашем файле .bash_aliases вы можете разместить что-то вроде:
commandsfx() {
echo "Symlink: ln -s /path/to/file /path/to/symlink"
echo "Copy: cp /file/to/copy /destination/to/send/copy"
}
alias 'cmds'=commandsfx
Затем, когда вам это нужно, просто введите в командной строке cmds
правильный синтаксис, чтобы вы могли быстро его прочитать и понять. Вы можете сделать эти функции настолько продвинутыми, насколько захотите, чтобы получить то, какая информация вам нужна, решать только вам. Вы даже можете сделать их интерактивными, так что вы просто должны следовать инструкциям .. что-то вроде:
makesymlink() {
echo "Symlink name:"
read sym
echo "File to link to:"
read fil
ln -s $fil $sym
}
alias 'symlink'=makesymlink
* - очевидно, что все они могут принимать разные параметры и делать разные вещи и могут работать как с файлами, так и с каталогами ... но предпосылка та же
♦ - примеры с использованием оболочки bash