ln 出一个自引用的链接,是怎么回事?

ln 出一个自引用的链接,是怎么回事?

以往都是进入要放置链接的文件夹,然后用 ln [options] source 的格式建立一个同名链接。

今天偶尔写了一句:
ln -s -f \xxxx\xxxx\gcc \usr\bin\gcc

结果在 \usr\bin\ 下面建立了一个指向自己的(循环引用的)链接“gcc”,这是怎么回事呢?

OS: SuSE10 Enterprise Server + Gnome + bash





+++++++++++++++++++++++++++++++++++++++

ln [options] source [destination]

If only two files are given (ln <-opt> src des), it links the first onto the second.
Usage: ln [OPTION]... [-T] TARGET LINK_NAME
ln 是先写目标文件再写链接文件名的. 你把 /usr/bin/gcc 放在最后, 当然就生成一个 /usr/bin/ 下的 gcc 链接.

顺便纠正楼主: Linux 下的路径是用 / 反斜杠分隔目录名的, 你的写法是 Windows 的.
[quote:395de21d18="狂客"]ln 是先写目标文件再写链接文件名的. 你把 /usr/bin/gcc 放在最后, 当然就生成一个 /usr/bin/ 下的 gcc 链接.

顺便纠正楼主: Linux 下的路径是用 / 反斜杠分隔目录名的, 你的写法是 Windows 的.[/quote]



嘿嘿,用惯了,所以给bash加了“重载”,包括反斜杠、cd.. 还有del
[quote:2b07730317="m_marion"]以往都是进入要放置链接的文件夹,然后用 ln [options] source 的格式建立一个同名链接。

今天偶尔写了一句:
ln -s -f /xxxx/xxxx/gcc /usr/bin/gcc

结果在 /usr/bin/ 下面建立了一个指向自己的(循环引用的)链接“gcc”,这是怎么回事呢?

OS: SuSE10 Enterprise Server + Gnome + bash





+++++++++++++++++++++++++++++++++++++++

ln [options] source [destination]

If only two files are given (ln <-opt> src des), it links the first onto the second.[/quote]



按照手册上的解释,应该得到一个指向文件/xxxx/xxxx/gcc 的链接,位于/usr/bin/ 下面,链接昵称是gcc 啊!
你是希望"得到一个指向文件 /xxxx/xxxx/gcc 的链接,位于 /usr/bin/ 下面,链接昵称是gcc"???
你是否注意到 /usr/bin/ 目录下已经有一个 gcc? 如果你已经安装过 gcc 编译器的话.
我把原来的那个给 rm -f 了,所以应该不再有了,
然后再用符号连接指向另外一个位置的“/xxxx/xxxx/gcc ”


thx for your attention


[quote:b6b2b268e5="狂客"]你是希望"得到一个指向文件 /xxxx/xxxx/gcc 的链接,位于 /usr/bin/ 下面,链接昵称是gcc"???
你是否注意到 /usr/bin/ 目录下已经有一个 gcc? 如果你已经安装过 gcc 编译器的话.[/quote]