linux - это - symlink ubuntu




Как символизировать файл в Linux? (12)

Создание символических ссылок или Soft-ссылок в Linux:

Откройте приглашение Bash и введите указанную ниже команду, чтобы сделать символическую ссылку на ваш файл:

A) Откройте папку, в которой вы хотите создать мягкую ссылку, и введите команду, как указано ниже :

$ ln -s (path-to-file) (symbolic-link-to-file)

$ ln -s /home/user/file new-file

B) Перейдите к вашему пути и введите новый тип файла :

$ ls -lrt (To see if the new-file is linked to the file or not)

Пример:

ls -lrt

lrwxrwxrwx 1 user user 24 Aug 6 23:40 new-file -> /home/user/file

Note: Where, A -> B Means, A is symbolically linked to B

Я хочу сделать символическую ссылку в Linux. Я написал эту команду bash, где первый путь - это папка, в которую я хочу включить ссылку, а второй путь - скомпилированный источник.

ln -s '+basebuild+'/IpDome-kernel/kernel /home/build/sandbox/gen2/basebuild/IpDome-kernel/kernal 

Это правильно?


(Потому что изображение ASCII стоит тысячи символов.)

Стрела может быть полезной мнемонической, тем более, что это почти так, как выглядит в Emacs.

И большая картина, чтобы вы не путали ее с версией Windows

Linux:

ln -s target <- linkName

Окна:

mklink linkName -> target

Вы также можете посмотреть на них как

ln -s "to-here" <- "from-here"
mklink "from-here" -> "to-here"

От from-here не должно существовать, оно должно быть создано, в то время как to-here должно быть уже (IIRC).

(Меня всегда путают в том, должны ли различные команды и аргументы включать ранее существовавшее местоположение или одно из них.)

РЕДАКТОР: Он по-прежнему медленно опускается для меня; У меня есть другой способ, который я написал в своих заметках.

ln -s (target exists) (link is made)
mklink (link is made) (target exists)

К оригинальному вопросу:

'ln -s '+basebuild+'/IpDome-kernel/kernel /home/build/sandbox/gen2/basebuild/IpDome-kernel/kernal'

Это действительно создаст символическую ссылку ( -s ) из каталога file /:

<basebuild>/IpDome-kernel/kernel

к вашей новой ссылке

/home/build/sandbox/gen2/basebuild/IpDome-kernel/kernal

Вот несколько способов помочь вам запомнить:

Во-первых, есть http://linux.die.net/man/1/ln . Вы можете получить доступ к этому с помощью поиска «man ln» в google или просто открыть окно терминала и ввести man ln и вы получите ту же информацию. На странице руководства четко указано:

ln [OPTION] ... [-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 перемещает существующий файл (первый аргумент) в новое место (второй аргумент)
Также http://linux.die.net/man/1/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 и вы cmds правильный синтаксис, чтобы вы могли быстро его прочитать и понять. Вы можете сделать эти функции такими продвинутыми, как вы хотели бы получить то, что вам нужно, это зависит от вас. Вы даже можете сделать их интерактивными, поэтому вам просто нужно следовать подсказкам .. что-то вроде:

makesymlink() {
    echo "Symlink name:"
    read sym
    echo "File to link to:"
    read fil
    ln -s $fil $sym
}

alias 'symlink'=makesymlink

* - очевидно, что они могут принимать разные параметры и делать разные вещи и могут работать как с файлами, так и с каталогами ... но предпосылка одинакова
♦ - примеры с использованием оболочки bash


Как создать символическую ссылку в бродяге. шаги:

  1. В бродячем файле создайте синхронизированную папку. например config.vm.synced_folder "F: / Sunburst / source / sunburst / lms", "/ source" F: / Sunburst / source / sunburst / lms: - где исходный код / ​​источник: - путь к каталогу внутри бродяг
  2. Избавьте вверх и введите vagrant ssh и перейдите в исходный каталог, например, cd source
  3. Убедитесь, что структура исходного кода исходного кода доступна в исходной папке. например / источник / местный
  4. Затем перейдите в каталог гостевой машины, где файлы, которые связаны с браузером. После получения резервной копии файла. например sudo mv local local_bk
  5. Затем создайте символическую ссылку, например sudo ln -s / source / local local. локальное среднее имя-ссылку (имя папки в гостевой машине, которую вы собираетесь связывать), если вам нужно удалить символическую ссылку: - Введите sudo rm local

Чтобы создать новую символическую ссылку (не удастся, если уже существует символическая ссылка):

ln -s /path/to/file /path/to/symlink

Чтобы создать или обновить символическую ссылку:

ln -sf /path/to/file /path/to/symlink

Чтобы создать символическую ссылку / софт-ссылку, используйте:

ln -s {source-filename} {symbolic-filename}

например:

ln -s file1 link1

Я бы хотел представить более понятную английскую версию уже представленных описаний.

 ln -s  /path-text/of-symbolic-link  /path/to/file-to-hold-that-text

Команда «ln» создает ссылку-FILE, а «-s» указывает, что тип ссылки будет символическим. Пример файла символической ссылки можно найти в установке WINE (используя «ls -la» для отображения одной строки содержимого каталога):

 lrwxrwxrwx 1 me power 11 Jan  1 00:01 a: -> /mnt/floppy

Стандартная файловая информация находится слева (хотя обратите внимание, что первым символом является «l» для «link»); имя файла - «a:», а «->» также указывает, что файл является ссылкой. В основном это говорит WINE, как Windows «Диск A:» должна быть связана с флоппи-диском в Linux. Чтобы фактически создать символическую ссылку, похожую на нее (в текущем каталоге и на самом деле сделать это для WINE, сложнее, используйте утилиту winecfg):

 ln -s  /mnt/floppy  a:   //will not work if file a: already exists

Я немного сбиваю с толку термины «target» и «directory» в информации о человеке.

Цель - это папка, к которой мы привязаны, и каталог - фактическая символическая ссылка (а не каталог, на который вы будете ссылаться), если кто-то испытывает ту же путаницу, не чувствует себя одиноким.

Это моя интерпретация создания Symlink (в Linux):

ln -s /FULL/PATH/FOLDER-OR-FILE-SYMLINKING-TO NAME-OF-YOUR-SYMLINK

Вы можете перейти к папке, в которой вы хотите создать символическую ссылку, и запустить команду или указать FULL PATH для вашей символической ссылки вместо NAME-OF-YOUR-SYMLINK.

cd /FULL/PATH/TO/MY-SYMLINK-PARENT-FOLDER
ln -s /FULL/PATH/FOLDER-OR-FILE-SYMLINKING-TO NAME-OF-YOUR-SYMLINK

ИЛИ ЖЕ

ln -s /FULL/PATH/FOLDER-OR-FILE-SYMLINKING-TO /FULL/PATH/TO/MY-SYMLINK-PARENT-FOLDER/NAME-OF-YOUR-SYMLINK

Надеюсь, это поможет тем (тем не менее) запутаться.


ln -s EXISTING_FILE_OR_DIRECTORY SYMLINK_NAME

ln -s TARGET LINK_NAME

Где -s делает его символическим.



ln [-Ffhinsv] source_file [target_file]

    link, ln -- make links

        -s    Create a symbolic link.

    A symbolic link contains the name of the file to which it is linked. 

    An ln command appeared in Version 1 AT&T UNIX.




symlink