Tapi saya hanya bisa membuat tautan keras di direktori /dev dan itu tidak mungkin di direktori lain.
Seperti yang ditunjukkan oleh pesan kesalahan, tidak mungkin membuat tautan keras di sistem file yang berbeda; Anda hanya dapat membuat tautan lunak (simbolis).
Misalnya, jika /home
Anda berada di partisi yang berbeda dari partisi root Anda, Anda tidak akan dapat melakukan hard link /tmp/foo
ke /home/user/
.
Sekarang, seperti yang ditunjukkan oleh @RichardNeumann, /dev
biasanya dipasang sebagai sistem file devtmpfs. Lihat contoh ini:
[[email protected] ~]$ 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
Oleh karena itu, Anda hanya dapat membuat tautan keras ke file di /dev
dalam /dev
.
Tautan keras tidak dapat digunakan untuk mencapai apa yang Anda inginkan, karena tautan keras tidak berfungsi di antara sistem file.
Namun, Anda dapat mencapai apa yang Anda inginkan dengan mknod
perintah.
-
Jalankan
ls -l /dev/devicefile
. Anda akan melihat output seperti ini:crw-rw-rw- 1 root root 1, 9 Mar 29 15:46 /dev/urandom
- Catat angka pada kolom ukuran (
1, 9
). - Jalankan perintah
mknod /path/to/destination c 1 9
(menggantikan nilai yang Anda inginkan).
Mengapa ini berhasil?
File perangkat adalah tautan keras yang efektif ke file abstrak yang diimplementasikan oleh kernel atau driver kernel. Meskipun Anda tidak dapat membuat tautan keras ke objek sistem file dari sistem file lain, ini bukanlah objek sistem file, jadi, dengan mengetahui nomor referensi mayor dan minornya, Anda dapat membuat referensi ke objek tersebut dari sistem file apa pun.
Tautan keras hanya membuat entri lain dalam direktori, menunjuk ke file (di mana file adalah file seperti hal, seperti direktori). Oleh karena itu, tautan keras tidak dapat mereferensikan file di sistem file lain.
Tautan lunak adalah teman Anda dalam hal ini. Gunakan ln -s
. Tautan lunak dapat melintasi sistem file, dan bahkan dapat menunjuk ke sesuatu yang tidak ada.