LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 821|回复: 4

关于链接文件位置的疑惑

[复制链接]
发表于 2008-10-31 22:17:25 | 显示全部楼层 |阅读模式
在安装Bash-3.1,做链接文件的过程中有个疑惑
命令是这样的

ln -vs bash /tools/bin/sh

进入/tools/bin/下查看,sh指向的是/tools/bin/bash,但是当前的目录是/mnt/lfs/sources/bash-3.1,是解压后的文件夹,照说被链接的文件应该是在这个目录里面的。
配置bash的时候,configure 的prefix=/tools

为什么链接的时候会到/tools/bin下呢?
 楼主| 发表于 2008-11-1 17:10:39 | 显示全部楼层
UP,UP一下。。。。。。。。。。
回复 支持 反对

使用道具 举报

发表于 2008-11-3 00:39:16 | 显示全部楼层
我觉得你说的是很普通的一种用法
ln -s target link_name
如果target是相对路径那么就根据link_namede路径来定位target

以上是我的理解
倒是下面这个用法很特殊 LFS有特意指出
ln -sv $LFS/tools /

The above command is correct. The ln command has a few syntactic variations, so be sure to check info coreutils ln and ln(1) before reporting what you may think is an error.
刚才想尝试看下ln.c来看怎么处理ln -sv $LFS/tools /的
可是C学的太差 看到一半找不到函数了
编译原理不熟悉...o_O!!!
回复 支持 反对

使用道具 举报

发表于 2008-11-3 16:06:50 | 显示全部楼层
Post by ppluer;1903035
我觉得你说的是很普通的一种用法
ln -s target link_name
如果target是相对路径那么就根据link_namede路径来定位target

以上是我的理解
倒是下面这个用法很特殊 LFS有特意指出
ln -sv $LFS/tools /

The above command is correct. The ln command has a few syntactic variations, so be sure to check info coreutils ln and ln(1) before reporting what you may think is an error.
刚才想尝试看下ln.c来看怎么处理ln -sv $LFS/tools /的
可是C学的太差 看到一半找不到函数了
编译原理不熟悉...o_O!!!

看linux-2.6.23.8代码没有找到ln.c这个文件啊?
和编译原理有什么关系吗?
回复 支持 反对

使用道具 举报

发表于 2008-11-3 22:16:11 | 显示全部楼层
Post by think365;1903293
看linux-2.6.23.8代码没有找到ln.c这个文件啊?
和编译原理有什么关系吗?


ln的源代码不再内核里
在coreutils中src目录找ln.c  
  ok = ((symbolic_link ? symlink (source, dest) : link (source, dest))
        == 0);
这一句根据symbolic_link来判断创建符号链接还是硬链接
但是symlink() link()不知道转到哪里去了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表