2011-11-02 101 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確定文件是否可寫入文件系統。