Saya memahami perbedaan teknis antara symlink dan hardlink, ini adalah pertanyaan tentang penggunaannya dalam praktiknya, khususnya saya ingin tahu mengapa keduanya digunakan dalam kondisi yang tampaknya serupa: /bin
direktori.
Berikut adalah fragmen listing di sistem saya:
~$ ls -lai /bin
total 10508
32770 drwxr-xr-x 2 root root 4096 Jun 14 11:47 .
2 drwxr-xr-x 28 root root 4096 Sep 6 13:15 ..
119 -rwxr-xr-x 1 root root 959120 Mar 28 22:02 bash
2820 -rwxr-xr-x 3 root root 31112 Dec 15 2011 bunzip2
127 -rwxr-xr-x 1 root root 1832016 Nov 16 2012 busybox
2820 -rwxr-xr-x 3 root root 31112 Dec 15 2011 bzcat
6191 lrwxrwxrwx 1 root root 6 Dec 15 2011 bzcmp -> bzdiff
5640 -rwxr-xr-x 1 root root 2140 Dec 15 2011 bzdiff
5872 lrwxrwxrwx 1 root root 6 Dec 15 2011 bzegrep -> bzgrep
3520 -rwxr-xr-x 1 root root 4877 Dec 15 2011 bzexe
6184 lrwxrwxrwx 1 root root 6 Dec 15 2011 bzfgrep -> bzgrep
5397 -rwxr-xr-x 1 root root 3642 Dec 15 2011 bzgrep
2820 -rwxr-xr-x 3 root root 31112 Dec 15 2011 bzip2
2851 -rwxr-xr-x 1 root root 10336 Dec 15 2011 bzip2recover
6189 lrwxrwxrwx 1 root root 6 Dec 15 2011 bzless -> bzmore
5606 -rwxr-xr-x 1 root root 1297 Dec 15 2011 bzmore
Saya membuat indentasi hardlink ke inode yang sama untuk visibilitas yang lebih baik. Jadi yang symlink digunakan dalam kasus bzcmp
, bzegrep
, bzfgrep
, bzless
dan hardlinks dalam kasus bzip2
, bzcat
, bunzip2
?
Mereka semua adalah file biasa (bukan direktori), berada di dalam satu sistem file, adalah utilitas sistem dan bahkan dibuat untuk bekerja dengan hal yang sama: arsip bzip. Apakah alasan penggunaan hardlinks / symlinks dalam kasus khusus ini murni historis atau apakah saya kehilangan sesuatu?
Klarifikasi pertanyaan saya:
Saya tidak bertanya tentang:
- Perbedaan teknis antara symlink dan hardlink
- Keuntungan dan kerugian teoretis masing-masing
Pertanyaan-pertanyaan ini telah ditanggapi di utas lain di SO. Saya mencoba memahami mengapa keputusan berbeda dibuat dalam kasus tertentu: untuk sekelompok utilitas sistem terkait. Secara teknis, mereka semua bisa saja merupakan symlinks atau mereka semua bisa berupa hardlinks, kedua opsi akan bekerja (dan dalam kedua kasus suatu program masih dapat mencari tahu bagaimana itu dipanggil melalui argv[0]
). Saya ingin memahami maksud di sini jika ada.
Terkait:
/bin
kolom ketiga sayals -lai
selalu1
jadi sepertinya hanya menggunakan tautan lunak. Distro apa yang Anda gunakan?