2011-11-02 93 views
1

我正在使用linux ln命令来创建硬链接。硬链接无效参数错误

然而,对于一些文件,我会得到错误信息“无效的参数”

我的猜测是,有对我不知道的源文件的先决条件。

我阅读手册页并没有阅读任何有帮助的内容。

有没有人遇到过这个?

+1

尝试运行'strace ln file1 file2'。这应该显示哪个系统调用失败。 “无效参数”对于'ln'来说是一个非常奇怪的错误。 – Nemo

回答

1

我不能让我的版本ln只是“无效的论点”;当我尝试做错某些事情时,它总会给我有用的错误信息。你应该做alias ln看看它是否别名,which ln看看你是否使用/bin/ln以外的东西。如果事实证明你正在使用/bin/ln,因为你的版本是不是被其错误消息的帮助,你可以尝试在lnstrace,看看发生了什么事情:

strace -f -F -e trace=file -o ln.log ln FOO BAR 
egrep 'FOO|BAR' ln.log 

例如,如果我尝试做一个跨文件系统的硬链接到/dev/zero,我得到:

30835 linkat(AT_FDCWD, "/dev/zero", AT_FDCWD, "./zero", 0) = -1 EXDEV (Invalid cross-device link) 
0

试图创建只读文件系统链接时,我收到了同样的错误。

ln: failed to create symbolic link ‘name’: Invalid argument 

尝试touch确定文件是否可写入文件系统。