我想在Linux中建立一个符号链接。 我已经编写了此Bash命令,其中第一个路径是我要链接到的文件夹,第二个路径是已编译的源代码。

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

这个对吗?


#1楼

ln -s source_file target_file

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


#2楼

要创建新的符号链接(如果符号链接已存在,将失败):

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

要创建或更新符号链接:

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

#3楼

ln -s target linkName

您可以在此处查看手册页:

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


#4楼

ln -s TARGET LINK_NAME

-s使其具有象征意义。


#5楼

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.

#6楼

ln -s EXISTING_FILE_OR_DIRECTORY SYMLINK_NAME

#7楼

我想介绍一下已经描述过的普通英语版本。

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

“ ln”命令创建一个链接文件,“-s”指定链接的类型为符号。 在WINE安装中可以找到一个符号链接文件的示例(使用“ ls -la”显示目录内容的一行):

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

标准文件信息的内容位于左侧(尽管请注意,第一个字符是“ link”的“ l”); 文件名是“ a:”,“->”也表示文件是链接。 它基本上告诉WINE Windows如何将Linux“驱动器A:”与软盘驱动器关联。 实际创建一个与此类似的符号链接(在当前目录中,并且为WINE实际执行此操作更复杂;请使用“ winecfg”实用程序):

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

#8楼

如果位于要创建符号链接的目录中,请忽略第二条路径。

cd myfolder
ln -s target

它将在myfolder创建target符号链接。

一般语法

ln -s TARGET LINK_NAME

#9楼

(因为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)

#10楼

对于原始问题:


'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

这里有几种方法可以帮助您记住:

首先,有ln的手册页 。 您可以通过在Google中搜索“ man ln”来访问此文件,也可以打开终端窗口并键入man ln获取相同的信息。 手册页明确指出:

ln [OPTION] ... [-T] TARGET LINK_NAME(第一种形式)


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


我想建议的最后一个选择是,您可以创建自己的手册页,这些手册页易于阅读并且易于(对您)查找/记住。 只需编写一个简单的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 symecho "File to link to:"read filln -s $fil $sym
}alias 'symlink'=makesymlink

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


#11楼

ln -s sourcepath linkpathname

注意:

-s进行符号链接而不是硬链接


#12楼

如何在无业游民中创建符号链接。 脚步:

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

#13楼

在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


#14楼

链接有两种类型:

符号链接:指的是符号路径,指示另一个文件的抽象位置

硬链接:是指物理数据的特定位置。

就您而言,符号链接:

ln -s source target

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

您可以创建太硬的链接

硬链接到文件与原始目录条目是无法区分的。 对文件的任何更改实际上都独立于用于引用文件的名称。 硬链接通常可能不指向目录,并且可能不会跨越文件系统。

ln source link

#15楼

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

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

例如:

ln -s file1 link1

#16楼

我发现手册信息中的术语“目标”和“目录”有些混乱。

目标是我们符号链接到的文件夹,以及实际符号链接的目录(而不是您将要符号链接的目录),如果有人遇到相同的困惑,请不要感到孤独。

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

我希望这有助于那些(仍然)有些困惑的人。


#17楼

这是堆栈溢出,所以我假设您需要代码:

以下所有代码均假定您要创建一个名为/tmp/link的符号/tmp/link ,该链接链接到/tmp/realfile

注意 :尽管此代码检查错误,但不会检查/tmp/realfile实际存在! 这是因为无效链接仍然有效,并且根据您的代码,您可能(很少)要在真实文件之前创建链接。


Shell(bash,zsh等)

#!/bin/sh
ln -s /tmp/realfile /tmp/link

真的很简单,就像您在命令行(这是外壳程序)上一样。 所有错误处理均由外壳解释器完成。 此代码假定您在/bin/sh处具有有效的shell解释器。

如果需要,您仍然可以使用$?来实现自己的错误处理$? 仅在成功创建链接后才将其设置为0的变量。

C和C ++

#include <unistd.h>
#include <stdio.h>int main () {if( symlink("/tmp/realfile", "/tmp/link") != 0 )perror("Can't create the symlink");
}

当可以创建链接时, symlink仅返回0。 在其他情况下,我会使用perror来进一步说明问题。

佩尔

#!/usr/bin/perl
if( symlink("/tmp/realfile", "/tmp/link") != 1) {print STDERR "Can't create the symlink: $!\n"
}

此代码假定您在/usr/bin/perl有一个perl 5解释器。 如果可以创建链接,则symlink仅返回1。 在其他情况下,我会将失败原因打印到标准错误输出。


#18楼

链接基本上有两种类型:

符号链接(软):指向符号路径的链接,该路径指示另一个文件的抽象位置

硬链接:链接到物理数据的特定位置。

范例1:

ln /root/file1 /root/file2

上面是硬链接的示例,您可以在其中拥有物理数据的副本。

范例2:

ln -s /path/to/file1.txt /path/to/file2.txt

上面的命令将创建一个指向file1.txt的符号链接。

如果删除源文件,则目标软件中将没有任何内容。

当您这样做时:

ls -lai

您会看到符号链接有一个不同的inode编号。

有关更多详细信息,请阅读Linux操作系统上ln的手册页。

如何在Linux中符号链接文件? [关闭]相关推荐

  1. linux里怎样压缩文件,如何在Linux中解压缩文件

    ZIP是最广泛使用的存档文件格式,支持无损数据压缩. ZIP文件是一个数据容器,其中包含一个或多个压缩文件或目录. 在本教程中,我们将说明如何使用unzip命令通过命令行在Linux系统中解压缩文件. ...

  2. 在linux中的文件中查找_如何在Linux中查找文件

    在linux中的文件中查找 如果您是Windows用户或OSX的非超级用户,则可能使用GUI查找文件. 您可能还会发现界面有限,令人沮丧或两者兼而有之,并且学会了精于组织事物并记住文件的确切顺序. 您 ...

  3. 如何在 Linux 中复制文件到多个目录中

    在 Linux 中,cp 命令常被用于从一个文件夹中复制文件到另一个文件夹中,最简单的语法如下: # cp [options-.] source(s) destination 另外,你也可以使用高级复 ...

  4. 如何在 Linux 中查找文件所有者?

    在 Linux 系统中,每个文件和目录都有一个所有者(owner)和一个所属组(group).所有者通常是创建该文件或目录的用户,而所属组通常是文件或目录所属的组.在某些情况下,您可能需要查找特定文件 ...

  5. linux中如何压缩目录文件,如何在Linux中压缩文件和目录

    Zip是使用最广泛的存档文件格式,支持无损数据压缩. 压缩文件是一种数据容器,其中包含一个或多个压缩文件或目录.与未压缩的文件相比,压缩文件占用的磁盘空间更少,可以更快地从一台计算机传输到另一台计算机 ...

  6. linux下 文件排序,如何在Linux中对文件进行排序 (GUI和Shell)

    当我们在Ubuntu中查看目录的内容时,它们将根据文件和文件夹名称列出.有时,我们需要对目录的内容进行排序,以使列表为我们提供更多信息.例如,要查看哪个文件/文件夹在系统上占用更多空间,可以根据大小列 ...

  7. Linux基础操作:如何在 Linux 中复制文件夹?

    作为 Linux 管理员,您必须了解通过命令行界面运行命令的重要性,他们每天执行各种与系统相关的任务,其中一项常见任务是将文件和目录从一个位置复制到另一个位置.如果您已经使用过 Linux 系统,那么 ...

  8. linux一直显示探测文件,如何在Linux中检测文件访问?

    一种选择是使用strace: strace -o logfile -eopen yourapp 这将记录所有文件打开事件,但会造成性能上的重大下降.但是,它具有易于使用的优点. 另一种选择是使用LD_ ...

  9. 如何在 Linux 中 zip 压缩文件和文件夹

    zip 是最流行的归档文件格式之一.使用 zip,你可以将多个文件压缩到一个文件中.这不仅节省了磁盘空间,还节省了网络带宽.这就是为什么你几乎一直会看到 zip 文件的原因. 作为普通用户,大多数情况 ...

最新文章

  1. python 点云las、laz文件的读取、写入、压缩
  2. 安装suricata
  3. codebilcks怎么新建c++文件_电脑开机后桌面空白一个图标都没有,怎么回事?
  4. python 简单图像处理(13) 二值图腐蚀和膨胀,开运算、闭运算
  5. mybatis集成JNDI【注部署项目后测试代码在jsp或servlet中】
  6. JEECG-P3开发专题 - 开发环境搭建入门
  7. 解决无法使用locate命令的方法
  8. 松露菌行业调研报告 - 市场现状分析与发展前景预测
  9. 消息持续积压几小时怎么办
  10. 超市负库存产生的原因及对策
  11. word 2007导出pdf格式(含下载地址)
  12. 最新版本的000-919题库
  13. linux ad7705驱动程序,tm7705_51单机片驱动
  14. java如何获取hostid_将Unix hostid转换为Java
  15. OSPF协议介绍及配置
  16. 英汉互译在线翻译-英文翻译中文的翻译
  17. 淘宝直播赚佣金项目玩法
  18. linux命令:查询某个字符串在哪个文件中存在,贼拉管用!
  19. 微机原理与接口技术[第三版]——第五章课后习题答案
  20. 磁盘数据页的存储结构

热门文章

  1. JavaScript核心基础语法
  2. 2014秋C++第19周 项目 单链表/枚举
  3. hdu 3930 Broot 二次剩余
  4. 如何开具和交付给客户电子发票
  5. 8 函数类型——《Swift3.0从入门到出家
  6. Cordova 快速入门记录
  7. POJ1979(DFS)
  8. Hover属性的充分利用
  9. CentOS7中使用systemctl列出启动失败的服务
  10. ubuntu安装tomcat7