Я хочу сделать символическую ссылку в Linux. Я написал эту команду Bash, где первый путь - это папка, в которую я хочу перейти, а второй путь - это скомпилированный источник.
ln -s '+basebuild+'/IpDome-kernel/kernel /home/build/sandbox/gen2/basebuild/IpDome-kernel/kernal
Это правильно?
Ответы:
Чтобы создать новую символическую ссылку (произойдет сбой, если символическая ссылка уже существует):
Чтобы создать или обновить символическую ссылку:
источник
ln
Синтаксис похож наcp
синтаксис, например, источник назначения .cp
естьCoPy
,ln
естьLiNk
. Первые и третьи буквы.Где это
-s
делает это символично.источник
unlink LINK_NAME
ln -s where-the-symlink-should-point where-to-place-the-symlink-itself
.rm
, но большинство людей не знают, чтобы удалить трейлинг/
.источник
Вы можете взглянуть на справочную страницу здесь:
http://linux.die.net/man/1/ln
источник
(Потому что картинка ASCII стоит тысячи символов.)
Стрелка может быть полезной мнемоникой, тем более что она почти точно выглядит в Emacs'е.
И большая картинка, чтобы вы не перепутали ее с версией Windows
Linux:
Окна:
Вы также можете посмотреть на них как
Не
from-here
должно еще существовать, оно должно быть создано, аto-here
уже должно существовать (IIRC).(Я всегда путаюсь, должны ли различные команды и аргументы включать уже существующее местоположение или одно из них должно быть сделано.)
РЕДАКТИРОВАТЬ: он все еще медленно погружается для меня; У меня есть другой способ, который я написал в своих заметках.
источник
dired
это очень просто: наведите курсор на цель, нажмитеS
и введите каталог, в котором вы хотите создать ссылку. Сокращает разрыв между воображением желаемого результата и набором текста. См. Gnu.org/software/emacs/manual/html_node/emacs/… .http://unixhelp.ed.ac.uk/CGI/man-cgi?ln
источник
man ln
, который называет этоln -s TARGET LINK_NAME
На оригинальный вопрос:
Это действительно создаст символическую ссылку (
-s
) из файла / каталога:на вашу новую ссылку
Вот несколько способов помочь вам вспомнить:
Во-первых, есть справочная страница для
ln
. Вы можете получить доступ к этому через поиск "man ln" в Google, или просто откройте окно терминала и введите,man ln
и вы получите ту же информацию. Справочная страница четко гласит:Если вам каждый раз приходится искать или просматривать справочную страницу, возможно, вам будет легче вспомнить, что все команды nix работают одинаково:
cp
копирует файл, который существует в данный момент (первый аргумент), в новый файл (второй аргумент).mv
перемещает существующий файл (первый аргумент) в новое место (второй аргумент)Аналогично
ln
связывает файл, который существует в настоящее время (первый аргумент), с новой ссылкой (второй аргумент) *Последний вариант, который я хотел бы предложить, - вы можете создавать свои собственные справочные страницы, которые легко читать и легко (для вас) найти / запомнить. Просто создайте простой сценарий оболочки, который даст вам подсказку, которая вам нужна. Например, ♦ :
В вашем файле .bash_aliases вы можете разместить что-то вроде:
Затем, когда вам это нужно, просто введите в командной строке
cmds
правильный синтаксис, чтобы вы могли быстро его прочитать и понять. Вы можете сделать эти функции настолько продвинутыми, насколько захотите, чтобы получить то, какая информация вам нужна, решать только вам. Вы даже можете сделать их интерактивными, так что вы просто должны следовать инструкциям .. что-то вроде:* - очевидно, что все они могут принимать разные параметры и делать разные вещи и могут работать как с файлами, так и с каталогами ... но предпосылка та же
♦ - примеры с использованием оболочки bash
источник
источник
Создание символических ссылок или Soft-ссылок в Linux:
Откройте приглашение Bash и введите указанную ниже команду, чтобы сделать символическую ссылку на ваш файл:
A) Перейдите в папку, в которой вы хотите создать программную ссылку, и введите команду, как указано ниже :
B) Перейдите к вашему новому имени файла и введите :
$ ls -lrt (To see if the new-file is linked to the file or not)
Пример:
источник
ln -s sourcepath linkpathname
Замечания:
-s делает символические ссылки вместо жестких ссылок
источник
Если вы находитесь в каталоге, где вы хотите создать символическую ссылку, игнорируйте второй путь.
Это создаст символическую ссылку
target
внутриmyfolder
.Общий синтаксис
источник
Это переполнение стека, поэтому я предполагаю, что вы хотите код:
Весь следующий код предполагает, что вы хотите создать символическую ссылку с именем, на
/tmp/link
который ссылается/tmp/realfile
.ВНИМАНИЕ : Хотя этот код проверяет наличие ошибок, он НЕ проверяет,
/tmp/realfile
существует ли он на самом деле! Это связано с тем, что недействительная ссылка все еще действительна, и в зависимости от вашего кода вы можете (редко) захотите создать ссылку перед реальным файлом.Оболочка (баш, зш, ...)
Очень просто, как вы бы это делали в командной строке (это оболочка). Вся обработка ошибок выполняется интерпретатором оболочки. Этот код предполагает, что у вас есть работающий интерпретатор оболочки в
/bin/sh
.При необходимости вы все равно можете реализовать свою собственную обработку ошибок, используя
$?
переменную, которая будет установлена на 0, только если ссылка была успешно создана.C и C ++
symlink
возвращает только 0, когда ссылка может быть создана. В других случаях я используюperror
чтобы рассказать больше о проблеме.Perl
Этот код предполагает, что у вас есть интерпретатор Perl 5 в
/usr/bin/perl
.symlink
возвращает только 1, если ссылка может быть создана. В других случаях я печатаю причину ошибки на стандартный вывод ошибки.источник
Я хотел бы представить более понятную английскую версию описаний, уже представленных.
Команда "ln" создает link-FILE, а "-s" указывает, что тип ссылки будет символическим. Пример файла символьной ссылки можно найти в установке WINE (используя «ls -la», чтобы показать одну строку содержимого каталога):
Стандартная информация о файле находится слева (хотя обратите внимание, что первый символ - это «l» для «ссылки»); имя файла - «a:», а «->» также указывает, что файл является ссылкой. Это в основном говорит WINE, как Windows «Drive A:» должна быть связана с гибким диском в Linux. Чтобы фактически создать символическую ссылку ПОХОЖУЮ на это (в текущем каталоге, и фактически сделать это для WINE более сложно; используйте утилиту "winecfg"):
источник
Чтобы создать символическую ссылку / мягкую ссылку, используйте:
например:
источник
Есть два типа ссылок:
символические ссылки: Ссылка на символический путь, указывающий абстрактное местоположение другого файла.
жесткие ссылки: обратитесь к конкретному местоположению физических данных.
В вашем случае символические ссылки:
вы можете обратиться к http://man7.org/linux/man-pages/man7/symlink.7.html
Вы можете создавать слишком жесткие ссылки
Жесткая ссылка на файл неотличима от исходной записи каталога; любые изменения в файле фактически не зависят от имени, используемого для ссылки на файл. Жесткие ссылки обычно не ссылаются на каталоги и могут не охватывать файловые системы.
источник
Ссылки в основном бывают двух типов:
Символьные ссылки (мягкие): ссылка на символический путь, указывающий абстрактное местоположение другого файла
Жесткие ссылки: ссылка на конкретное местоположение физических данных.
Пример 1:
Выше приведен пример жесткой ссылки, где вы можете получить копию своих физических данных.
Пример 2:
Приведенная выше команда создаст символическую ссылку на file1.txt.
Если вы удалите исходный файл, у вас не будет ничего к месту назначения в программном обеспечении.
Когда вы делаете:
ls -lai
Вы увидите, что для символических ссылок есть другой номер инода.
Для получения более подробной информации вы можете прочитать справочную страницу ln в вашей ОС Linux.
источник
hard link where you can have a copy of your physical data
- Я думаю, что мы не создаем копию физических данных. Просто другое имя для тех же физических данных.Я нахожу немного запутывающим термины «цель» и «каталог» в информации о человеке.
Цель - это папка, на которую мы создаем символическую ссылку, и каталог фактической символической ссылки (а не каталог, на который вы будете ссылаться), если кто-то испытывает такую же путаницу, не чувствуйте себя одиноким.
Это моя интерпретация создания Symlink (в Linux):
Вы можете перейти к папке, в которой вы хотите создать символическую ссылку, и выполнить команду или указать полный путь для символической ссылки вместо NAME-OF-YOUR-SYMLINK.
ИЛИ
Я надеюсь, что это помогает тем (все еще) немного смущенным.
источник
Как создать символическую ссылку в vagrant. шаги:
источник