Создать ссылку линукс минт

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.

This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.

I want to make a symbolic link in Linux. I have written this Bash command where the first path is the folder I want link into and the second path is the compiled source.

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

18 Answers 18

To create a new symlink (will fail if symlink exists already):

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

To create or update a symlink:

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

Here’s a mnemonic for you: l(i)n(k) -s(ymbolic) (the fact that the last parameter is optional helps you figure out that it’s not the target) (btw leaving out the path to the symlink creates a link in the current directory with the same basename as the target)

I spent several minutes trying to figure out why this did not work for me. It created a self-looped link. It seems that the /path/to/file should be absolute and not relative to the «current folder». Perhaps point this out in the answer?

@AbhishekAnand it’s been a couple years, but I just wanted to leave the note that it does work with relative paths; it just needs to be relative to the resulting symbolic link’s directory and not the current directory. What you write as the first path argument is actually, verbatim, the text that’s going to be inside the symbolic link; that’s why, when it’s relative, it must be relative to the link.

Where the -s makes it symbolic.

I like to phrase it this way: ln -s where-the-symlink-should-point where-to-place-the-symlink-itself .

ln -s EXISTING_FILE_OR_DIRECTORY SYMLINK_NAME 

Except it isn’t the new symlink name. It is the name or a full path (relative to cur dir or absolute) for the new symlink including the name.

ln -s EXISTING_FILE_OR_DIRECTORYSYMLINK_NAME and don’t put a trailing slash on the symlink, as it’s not a directory

You can have a look at the man page here:

(Because an ASCII picture is worth a thousand characters.)

An arrow may be a helpful mnemonic, especially since that’s almost exactly how it looks in Emacs’ dired.

And big picture so you don’t get it confused with the Windows’ version

You could also look at these as

The from-here should not exist yet, it is to be created, while the to-here should already exist (IIRC).

Читайте также:  Копировать файл через терминал линукс

(I always get mixed up on whether various commands and arguments should involve a pre-existing location, or one to be made.)

EDIT: It’s still sinking in slowly for me; I have another way I’ve written in my notes.

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

In Emacs’ dired , it’s super easy, as you put cursor over your target, press S , and type the directory where you’d like the link to be created. Shortens the gap between imagining the desired result and typing. See gnu.org/software/emacs/manual/html_node/emacs/….

Another mnemonic for ON: ln -s oldname newname , these words are used in the Go OS library too golang.org/pkg/os/#Symlink

ln -s source_file target_file 

that is the opposite definition of «target» compared to man ln , which calls it ln -s TARGET LINK_NAME

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

This will indeed create a symbolic link ( -s ) from the file/directory:

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

Here’s a few ways to help you remember:

First, there’s the man page for ln . You can access this via searching «man ln» in google, or just open a terminal window and type man ln and you’ll get the same information. The man page clearly states:

ln [OPTION]. [-T] TARGET LINK_NAME (1st form)

If having to search or read through a man page every time isn’t for you, maybe you’ll have an easier time remembering that all nix commands work the same way :

cp /file/that/exists /location/for/new/file mv /file/that/exists /location/its/moving/to ln /file/that/exists /the/new/link 

cp copies a file that currently exists (the first argument) to a new file (the second argument).
mv moves a file that currently exists (the first argument) to a new place (the second argument)

Likewise ln links a file that currently exists (the first argument) to a new link (the second argument) *

The final option I would like to suggest is you can create your own man pages that are easy to read and easy (for you) to find/remember. Just make a simple shell script that gives you the hint you need. For example ♦ :

In your .bash_aliases file you can place something like:

commandsfx() < echo "Symlink: ln -s /path/to/file /path/to/symlink" echo "Copy: cp /file/to/copy /destination/to/send/copy" >alias 'cmds'=commandsfx 

Then when you need it, from the command line just type cmds and you’ll get back the proper syntax in a way you can quickly read and understand it. You can make these functions as advanced as you’d like to get what what information you need, it’s up to you. You could even make them interactive so you just have to follow the prompts.. something like:

makesymlink() < echo "Symlink name:" read sym echo "File to link to:" read fil ln -s $fil $sym >alias 'symlink'=makesymlink 

* — well obviously they can all take different parameters and do different things and can work on files as well as directories. but the premise is the same
♦ — examples using the bash shell

Источник

Команда Ln: как создавать символические ссылки в Linux

img

Символические ссылки используются в Linux для управления файлами и их сопоставления.

В этом руководстве вы узнаете, как использовать команду ln для создания символических ссылок в Linux.

Читайте также:  Обновление всех драйверов linux

Команда Ln

Команда Ln для создания символических ссылок

Чтобы использовать команду ln, откройте окно терминала и введите команду в следующем формате:

  • По умолчанию команда ln создает hard link (жесткая ссылка).
  • Используйте параметр -s , чтобы создать символическую ссылку, она же soft link.
  • Параметр -f заставит команду перезаписать уже существующий файл.
  • Source — это файл или каталог, на который делается ссылка.
  • Destination — это место для сохранения ссылки — если это поле не заполнено, символическая ссылка сохраняется в текущем рабочем каталоге.

Например, создайте символическую ссылку с помощью:

ln -s test_file.txt link_file.txt

Это создает символическую ссылку link file.text , которая указывает на testfile.txt .

Чтобы проверить, создана ли символическая ссылка, используйте команду ls :

ls -l link_file.txt

Создать символическую ссылку на каталог Linux

Символическая ссылка может относиться к каталогу. Чтобы создать символическую ссылку на каталог в Linux:

ln -s /mnt/external_drive/stock_photos ~/stock_photos

В этом примере создается символическая ссылка с именем stock_photos в домашнем каталоге ~ / . Ссылка относится к каталогу stock_photos на внешнем диске external_drive .

ln -s /mnt/external_drive/stock_photos ~/stock_photos

Примечание. Если система подключена к другому компьютеру, например к корпоративной сети или удаленному серверу, символические ссылки могут быть связаны с ресурсами в этих удаленных системах.

Принудительно перезаписать символические ссылки

Вы можете получить сообщение об ошибке, как показано на изображении ниже:

File exists

Сообщение об ошибке означает, что в месте назначения уже есть файл с именем link_file.txt . Используйте параметр -f , чтобы система перезаписывала целевую ссылку:

ln -sf test_file.txt link_file.txt

ln -sf test_file.txt link_file.txt

Удаление ссылок

Если исходный файл будет перемещен, удален или станет недоступным (например, сервер отключится), ссылку нельзя будет использовать. Чтобы удалить символическую ссылку, используйте команду rm (remove) или unlink :

rm link_file.txt unlink link_file.txt

No such file

Команду ln можно использовать для создания двух разных типов ссылок:

Символическая ссылка, иногда называемая мягкой ссылкой или soft link, указывает на расположение или путь к исходному файлу. Она работает как гиперссылка в Интернете.

Вот несколько важных аспектов символической ссылки:

  • Если файл символьной ссылки удаляется, исходные данные остаются.
  • Если исходный файл будет перемещен или удален, символическая ссылка работать не будет.
  • Символическая ссылка может относиться к файлу в другой файловой системе.
  • Символические ссылки часто используются для быстрого доступа к часто используемым файлам без ввода всего местоположения.

Когда файл хранится на жестком диске, происходит несколько вещей:

  • Данные физически записываются на диск.
  • Создается справочный файл, называемый индексом, который указывает на расположение данных.
  • Имя файла создается для ссылки на данные inode.

Жесткая ссылка работает путем создания другого имени файла, которое ссылается на данные inode исходного файла. На практике это похоже на создание копии файла.

Вот несколько важных аспектов жестких ссылок:

  • Если исходный файл удален, к данным файла все равно можно будет получить доступ через другие жесткие ссылки.
  • Если исходный файл перемещен, жесткие ссылки по-прежнему работают.
  • Жесткая ссылка может относиться только к файлу в той же файловой системе.
  • Если количество жестких ссылок равно нулю, индексный дескриптор и данные файла удаляются безвозвратно.

Источник

If you are tired of navigating files using long commands in the Linux system or are looking for a way to get to any directory or file without stating its path, then there is good news for you as you can create symbolic links for directories or files.

Читайте также:  Hp m203dn driver linux

Generally, there are two types of links, one is hard link and the other one is soft link. The symbolic links come under the soft links as they do not create copies of files and directories. So, read this guide if you are not aware of creating and using symbolic links in Linux Mint.

The main significance of creating symbolic link in Linux is to make the access of files and directories easy as especially the ones that are daily used by the user, below syntax must be followed to create a symbolic link of any directory in Linux system:

For illustration there is an example that has been done by following the above syntax:

Now just to be sure that of the link is created check it by using the below given syntax:

Let’s check the link we created above using:

Now if one wants to access the respective directory just use the cd command along with the name of link created for that directory, below is the syntax for it:

For example, let’s access the directory whose link we created above using:

So, this is how one can easily access the directory easily using the symbolic links.

If you want to create a link for a file in Linux, then follow the below-given syntax that includes file path and its link name:

For instance, if the there is a text file that you use regularly then:

To check if the link is created correctly, use:

The main use of creating symbolic link for a file is that one can read or execute the file by just using the cat command along with the file name link:

Moreover, file can be edited as well using the nano command with the file link name:

Another way to see if the links are created is by using the ls command in the terminal as it will display the links:

If you want to remove the symbolic links in Linux, then there are two commands for it one is rm and the other is unlink. To demonstrate one command is used to remove the link created for the text file:

The other one is used to remove the link created for the directory:

Conclusion

Symbolic links are normally used to make the access to files or directories of Linux easy. These links can be termed as shortcuts of files and folders as that in the Windows operating system. The detailed process of creating and using symbolic links in Linux Mint 21 are mentioned in this write-up.

About the author

Aaliyan Javaid

I am an electrical engineer and a technical blogger. My keen interest in embedded systems has led me to write and share my knowledge about them.

Источник

Оцените статью
Adblock
detector