Linux
為什麼我不能從 /dev 目錄以外的設備文件創建硬連結?
當我想以root
/home
模式在我的目錄中創建硬連結時,Linux 顯示以下錯誤消息:ln: failed to create hard link ‘my_sdb’ => ‘/dev/sda1’: Invalid cross-device link
上面的錯誤資訊如下所示:
# cd /home/user/ # ln /dev/sda1 my_sdb
但是我只能在目錄中創建硬連結,
/dev
在其他目錄中是不可能的。現在,我想知道如何從目錄(或其他目錄)
sdb1
中的現有設備文件(如)創建硬連結?/home
但是我只能在 /dev 目錄中創建一個硬連結,而在其他目錄中是不可能的。
如錯誤消息所示,無法跨不同文件系統創建硬連結;您只能創建軟(符號)連結。
例如,如果您
/home
的分區與根分區不同,您將無法硬連結/tmp/foo
到/home/user/
.現在,正如@RichardNeumann 指出的那樣,
/dev
通常作為 devtmpfs 文件系統掛載。看這個例子:[dr01@centos7 ~]$ df Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/centos_centos7-root 46110724 3792836 42317888 9% / devtmpfs 4063180 0 4063180 0% /dev tmpfs 4078924 0 4078924 0% /dev/shm tmpfs 4078924 9148 4069776 1% /run tmpfs 4078924 0 4078924 0% /sys/fs/cgroup /dev/sda1 1038336 202684 835652 20% /boot tmpfs 815788 28 815760 1% /run/user/1000
因此,您只能在 .in 中創建指向文件的硬
/dev
連結/dev
。