如何在Linux中符号链接文件?

我想在Linux中做一个符号链接。 我已经写了这个bash命令,第一个path是我想链接到的文件夹,第二个path是编译后的源文件。

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

它是否正确?

创build一个新的符号链接(如果符号链接已经存在,将失败):

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

创build或更新符号链接:

 ln -sf /path/to/file /path/to/symlink 
 ln -s TARGET LINK_NAME 

-s使其具有象征意义。

 ln -s EXISTING_FILE_OR_DIRECTORY SYMLINK_NAME 
 ln -s target linkName 

你可以看看这里的手册页:

http://linux.die.net/man/1/ln

(因为一张ascii图片胜过一千个字符。)

一个箭头可能是一个有用的numum,特别是因为这几乎是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 source_file target_file 

http://unixhelp.ed.ac.uk/CGI/man-cgi?ln

对原来的问题:


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

这确实会从文件/目录创build一个符号链接 ( -s ):

 <basebuild>/IpDome-kernel/kernel 

到你的新链接

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

以下几种方法可以帮助您记住:

首先是ln的手册页 。 您可以通过在google中search“man ln”来访问它,或者打开一个terminal窗口并键入man ln ,您将获得相同的信息。 手册页明确指出:

ln [OPTION] … [-T] TARGET LINK_NAME(第一个表格)


如果每次不得不search或通读一个手册页都不适合你,也许你会更容易记住所有的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将当前存在的文件(第一个参数)链接到新链接(第二个参数) *


我想build议的最后一个选项是,您可以创build自己的手册页,这些页面易于阅读和轻松(为了您)查找/记忆。 只需制作一个简单的shell脚本,就可以提供您所需的提示。 例如

在您的.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 

然后当你需要的时候,从命令行inputcmds ,你就可以很快的阅读和理解,找回正确的语法。 您可以将这些function设置为高级,以便获取所需的信息,这取决于您。 你甚至可以让他们互动,所以你只需要按照提示..类似的东西:

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

* – 很明显,他们都可以采取不同的参数,做不同的事情,可以在文件和目录上工作…但前提是相同的
♦ – 使用bash shell的例子

 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. 

ln -s sourcepath linkpathname

注意:

-s使符号链接,而不是硬链接

如果您位于要创build符号链接的目录中,则忽略第二个path。

 cd myfolder ln -s target 

它会在我的文件myfolder里创buildtarget符号链接。

一般语法

 ln -s TARGET LINK_NAME 

我想提出一个更简单的英文版本的介绍。

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

“ln”命令创build链接FILE,“-s”指定链接的types将是符号。 一个符号链接文件的例子可以在WINE安装中find(使用“ls -la”来显示目录内容的一行):

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

标准的文件信息的东西在左边(虽然注意第一个字符是一个“l”的“链接”); 文件名是“a:”,“ – >”也表示文件是链接。 它基本上告诉WINE如何将Windows“Drive A:”与Linux中的软盘驱动器相关联。 要实际创build一个符号链接(在当前目录下,实际上为WINE做这个更复杂;使用“winecfg”实用程序):

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

在Linux上创build符号链接或软链接:

打开Bash提示符并键入下面提到的命令来创build一个符号链接到你的文件:

A)转到要创build软链接的文件夹,并input如下所示的命令

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

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

B)转到你的新文件名path并input

$ 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

用于创build符号链接/软链接请使用下面的方法

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

例如ln -s file1 link1

有两种types的链接:

符号链接:引用指示另一个文件的抽象位置的符号path

硬链接:参考物理数据的具体位置。

在你的情况符号链接:

 ln -s source target 

你可以参考http://man7.org/linux/man-pages/man7/symlink.7.html

你可以创build太硬链接

到文件的硬链接与原始目录条目无法区分; 对文件的任何更改都与用于引用文件的名称有效无关。 硬链接可能通常不涉及目录,也可能不跨文件系统。

 ln source link 

如何在stream浪汉中创build符号链接。 脚步:

  1. 在stream浪文件中创build一个同步文件夹。 例如config.vm.synced_folder“F:/ Sunburst / source / sunburst / lms”,“/ source”F:/ Sunburst / source / sunburst / lms: – 源代码所在的位置/ source:
  2. stream浪起来,inputvagrant ssh并转到源目录,例如cd源
  3. validation您的源代码文件夹结构在源目录中是否可用。 例如/ source / local
  4. 然后转到与浏览器关联的文件的访客机器目录。 得到文件的备份之后。 例如sudo mv local local_bk
  5. 然后创build符号链接,例如sudo ln -s / source / local local。 本地平均链接名称(您要连接的客户机中的文件夹名称)如果您需要删除符号链接: – 键入sudo rm local