Dalam symlink yang menunjuk ke '127.0.1.1:+xxxxx', untuk apa karakter plus?


52

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?


Apakah tautan simbolis ini dalam / proc?
Yosua

4
@ Yosua: Lebih mungkin di bawah ~ / .mozilla / atau serupa. Firefox / Thunderbird, dan iirc Steam, gunakan symlink seperti itu untuk mengunci.
grawity

2
Apakah xxxxx angka, atau karakter xxxxx?
Mawg

2
Mungkin tidak berhubungan tetapi hanya untuk informasi. Dalam beberapa klien IRC tanda plus sebelum port ada di sana untuk menunjukkan server jauh menggunakan SSL / TLS.
eKKiM

Jawaban:


93

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.


5
"* tidak seperti membuat file biasa yang membutuhkan setidaknya 3 panggilan sistem terpisah. *" - Bisakah Anda mengklarifikasi? Apakah yang Anda maksud fopen, fwritedan fclose?
Nic Hartley

11
@NicHartley: Panggilan sistem adalah open(atau mungkin creatdalam perangkat lunak lama) write,, dan close, bukan versi f * yang disediakan stdio. Tapi, ya, Anda harus melakukan setidaknya opendan writeuntuk 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 mencoba readsebelum proses pertama memiliki kesempatan untuk melakukannya write. symlinkhindari itu; baik berhasil dan membuat tautan, atau gagal dan yakin readlinkmemiliki informasi untuk Anda.
Guntram Blohm mendukung Monica

"... dapat disalahgunakan sebagai cara ..." Apakah penyalahgunaan ini seperti dalam "digunakan dengan cara yang tidak dimaksudkan untuk digunakan" atau "digunakan dengan cara yang seharusnya tidak digunakan"?
The Guy with The Hat

22

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.


1
Saya baru saja memeriksanya. Dalam kasus saya itu benar-benar terjadi.
myMethod

1
Apakah ada dokumentasi format ini di suatu tempat yang bisa Anda tautkan?
David Z

1
Tidak yakin, saya hanya mengingatnya dari pengalaman.
Albin

2
Sepertinya Anda berbicara tentang symlink di direktori khusus, suka /procatau /dev. Bisakah Anda menjelaskan untuk apa symlink ini digunakan?
Barmar

4
Ini adalah pertama kalinya saya melihat notasi ini sama sekali, jadi saya terkejut mendengar Anda mengatakan bahwa ini notasi umum. Di mana Anda melihatnya dulu berarti ID proses?
Barmar
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.