linux - 硬链接创建 - 软连接权限




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

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

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

它是否正确?


在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


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

箭头可能是一个有用的助记符,尤其是因为这几乎就是它在Emacs'dired中的样子。

和大的图片,所以你不会把它与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 /path/to/file /path/to/symlink

要创建或更新符号链接:

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

如何在流浪汉中创建符号链接。 脚步:

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

对于原来的问题:

'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

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

首先, http://linux.die.net/man/1/lnhttp://linux.die.net/man/1/ln 。 您可以通过在google中搜索“man ln”来访问它,或者只需打开一个终端窗口并输入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将当前存在的文件(第一个参数)移动到新位置(第二个参数)
同样, http://linux.die.net/man/1/ln将当前存在的文件(第一个参数)链接到新链接(第二个参数) *

我想建议的最后一个选项是,您可以创建自己的手册页,这些页面易于阅读并且易于查找/记忆。 只需制作一个简单的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

然后,当你需要它的时候,从命令行输入cmds ,你就可以通过一种可以快速阅读和理解的方式找回正确的语法。 您可以将这些功能设置为高级,以便获得您需要的信息,这取决于您。 你甚至可以让他们互动,所以你只需要按照提示。

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

alias 'symlink'=makesymlink

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


我发现男士信息中的术语“目标”和“目录”有点混淆。

目标是我们符合链接的文件夹以及实际符号链接的目录(不是您将符号链接到的目录),如果任何人遇到同样的困惑,不会感到孤单。

这是我对创建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 source target

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

你可以创建太硬链接

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

ln source link

要创建符号链接/软链接,请使用:

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

例如:

ln -s file1 link1

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