我正在使用linux ln
命令创建硬链接。
但是,对于某些文件,我会收到错误消息“Invalid Argument”
我的猜测是源文件有一个我不知道的前提条件。
我阅读了手册页,没有阅读任何有帮助的内容。
有没有人经历过这个?
答案 0 :(得分:1)
我无法让我的ln
版本说只是“无效的参数”;当我尝试做错事时,它总是给我有用的错误消息。你应该alias ln
看看它是否有别名,which ln
看你是否使用/bin/ln
以外的其他内容。如果您使用的是/bin/ln
,由于您的版本对其错误消息没有帮助,您可以尝试在ln
上执行strace以查看正在发生的情况:
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)
答案 1 :(得分:0)
尝试在只读文件系统上创建链接时,我收到了同样的错误。
ln: failed to create symbolic link ‘name’: Invalid argument
尝试touch
文件以查看文件系统是否可写。