Pada sistem file Linux saya, sebuah symlink menunjuk ke 127.0.1.1:+xxxxx
.
Mengapa tanda plus? Mungkinkah ada juga minus? Kenapa tidak adil 127.0.1.1:xxxxx
?
linux
networking
filesystems
symbolic-link
ip-address
Metode saya
sumber
sumber
Jawaban:
Tautan simbolik yang tidak mengarah ke file tidak memiliki arti umum sama sekali. Dalam hal ini mungkin ID proses, atau port dengan beberapa protokol khusus yang diucapkan di atasnya, atau pengidentifikasi lainnya. Itu semua tergantung pada program apa yang membuatnya.
Perangkat lunak yang membuat tautan ini hanya mengambil keuntungan dari fakta bahwa 1) target symlink mungkin tidak ada atau bahkan omong kosong total; 2) membuat symlink adalah operasi atom sepenuhnya-syscall sepenuhnya (seperti membaca targetnya), tidak seperti membuat file biasa yang membutuhkan setidaknya 3 panggilan sistem terpisah.
Dengan demikian pembuatan symlink dapat disalahgunakan sebagai cara mengunci (memastikan satu contoh program) bahkan ketika mekanisme lain mungkin tidak dapat diandalkan. Program tidak perlu symlink untuk benar-benar menyelesaikan ke file nyata: itu hanya peduli apakah membuat tautan berhasil, atau apakah gagal karena sudah ada.
sumber
fopen
,fwrite
danfclose
?open
(atau mungkincreat
dalam perangkat lunak lama)write
,, danclose
, bukan versi f * yang disediakan stdio. Tapi, ya, Anda harus melakukan setidaknyaopen
danwrite
untuk membuat file dan memasukkan sesuatu yang bermakna ke dalamnya. Sekarang jika Anda ingin beberapa kode untuk "mencoba membuatnya, jika berhasil, masukkan beberapa informasi ke dalamnya, jika tidak, baca beberapa informasi dari itu", proses kedua hanya bisa mencobaread
sebelum proses pertama memiliki kesempatan untuk melakukannyawrite
.symlink
hindari itu; baik berhasil dan membuat tautan, atau gagal dan yakinreadlink
memiliki informasi untuk Anda.Sejauh yang saya tahu "+" berarti bahwa angka setelah IP ("xxxxx") mengacu pada "ID proses" (bukan port yang biasanya menggunakan notasi [alamat IP]: [portnumber]).
Mungkin saja "notasi" ini (tidak yakin saya akan menyebutnya "notasi" karena saya tidak tahu dokumentasi "resmi") merujuk pada sesuatu yang lain jika digunakan oleh aplikasi tertentu - tetapi sekali lagi, itu selalu menjadi kemungkinan tidak hanya dengan symlink. Satu-satunya kasus yang saya ketahui (dan dapat ditemukan dengan pencarian yang tidak terlalu luas) "+ XXXX" selalu merujuk ke ID proses.
sumber
/proc
atau/dev
. Bisakah Anda menjelaskan untuk apa symlink ini digunakan?