मुझे पता है कि यह एक पुराना विषय है, लेकिन मेरे पास बस यही मुद्दा था और मैं साझा करना चाहता था।
यहाँ मेरी कहानी है (धैर्य रखें, एक सुखद अंत है)।
पर्यावरण:
गेन्टू कर्नेल 4.12.5 64 चक्कर पर पुनरावर्ती
यह कैसे हो सकता है?
मैंने एक मशीन के साथ कई मशीन साझा की है जो सिंटक्टिंग का उपयोग करके साझा की गई है। अतीत में कुछ बिंदु पर, मैंने ".stfolder" नामक एक फ़ाइल को हटा दिया है और इसके बजाय उस नाम के साथ एक निर्देशिका बना सकता हूं। तो हो सकता है कि बग किसी अन्य मशीन पर इस ऑपरेशन को सिंक्रनाइज़ करने के कारण हो।
अब बग की जांच करते हैं: (मैं यहां रूट के रूप में काम कर रहा हूं )
ls -lahd .*
drwxrwx--- 5 stopi syncthing 656 3 sept. 18:24 .
drwxr-xr-x 5 stopi stopi 240 3 sept. 18:21 ..
drw-rw---- 2 stopi syncthing 48 3 sept. 18:24 .stfolder
-rw-rw---- 1 stopi syncthing 0 29 août 12:51 .stfolder
-rw-rw---- 1 stopi syncthing 23 28 oct. 2017 .stignore
find -type f -name .stfolder
(<= no output there)
find -type f -name ".*"
./.stignore
./.stfolder
find -type f -name ".s*"
./.stignore
ऐसा लगता है कि फ़ाइल एक भूत है, हालांकि फ़ोल्डर सामान्य रूप से (खोज के साथ) जवाब दे रहा है
file .*
.: directory
..: directory
.stfolder: directory
.stfolder: empty
.stignore: C source, ASCII text
file .s*
.stfolder: directory
.stignore: C source, ASCII text
मुझे पता है, बहुत अजीब ...
rm -r .stfolder
ls -lahd .*
drwxrwx--- 5 stopi syncthing 656 3 sept. 18:24 .
drwxr-xr-x 5 stopi stopi 240 3 sept. 18:21 ..
-rw-rw---- 1 stopi syncthing 0 29 août 12:51 .stfolder
-rw-rw---- 1 stopi syncthing 23 28 oct. 2017 .stignore
rm .stfolder
rm: impossible de supprimer '.stfolder': Aucun fichier ou dossier de ce type
मैं उस भूत फ़ाइल को नहीं निकाल सकता!
लेकिन अंत में, मैंने इसे सफलतापूर्वक एक tmpfs माउंट पॉइंट पर ले जाकर हटा दिया है
mv .stfolder /elsewhere/
mv: impossible d'évaluer '.stfolder': Aucun fichier ou dossier de ce type
mv .* /elsewhere/
मुझे कहना होगा कि बग अभी भी tmpfs पर मौजूद है, इसलिए reiserfs से संबंधित नहीं है:
cd /elsewhere
ls -lahd .*
-rw-rw---- 1 stopi syncthing 0 29 août 12:51 .stfolder
ls -lahd .s*
ls: impossible d'accéder à '.s*': Aucun fichier ou dossier de ce type
जैसा कि आप इस बैश आउटपुट में देख सकते हैं, फ़ाइल एक ही समय में मौजूद है और मौजूद नहीं है। इस श्रोडिंगर बिल्ली की क्षमता के कारण, हम उसी नाम से एक फ़ोल्डर बना सकते हैं।
लेकिन रुकिए, और भी बहुत कुछ है (और आपको यह स्पष्ट होना चाहिए): हम इसी नाम से एक और फाइल भी बना सकते हैं।
touch .stfolder
ls -lahdQ
total 0
drwxrwxr-x 3 root users 100 3 sept. 19:13 "."
drwxrwxrwt 18 root root 440 3 sept. 17:35 ".."
-rw-r--r-- 1 root root 0 3 sept. 19:13 ".stfolder"
-rw-r----- 1 root root 0 3 sept. 19:09 ".stfolder"
भूत की नकल की जा सकती है (इसलिए मैं बग को डुप्लिकेट कर सकता हूं), या चाउन, चामोद, आदि द्वारा हेरफेर किया जा सकता है। केवल प्रतिबंध यह है कि आप इसे नाम नहीं दे सकते हैं इसलिए आपको इसे एक खाली निर्देशिका में रखना होगा और "" का उपयोग करें। उन आदेशों के लिए तर्क ... लेकिन यह काम करता है!
इसकी प्रकृति की वजह से, यह फाइल भीख से खाली थी (यह सिंटिंग के लिए सिर्फ एक ध्वज है)।
इसलिए मैं उत्सुक था कि क्या मैं उस फ़ाइल में कुछ डेटा डाल सकता हूं।
और यहाँ, समाधान मेरे पास आया:
vi .*
" ============================================================================
" Netrw Directory Listing (netrw v162)
" /elsewhere
" Sorted by name
" Sort sequence: [\/]$,\<core\%(\.\d\+\)\=\>,\.h$,\.c$,\.cpp$,\~\=\*$,*,\.o$,\.obj$,\.info$,\.swp$,\.bak$,\~$
" Quick Help: <F1>:help -:go up dir D:delete R:rename s:sort-by x:special
" ==============================================================================
../
./
.<200b>stfolder
हां, डॉट के ठीक बाद उस फाइल में एक अदृश्य पात्र है।
यह सब कुछ समझाता है।
धन्यवाद भगवान, मैंने "इको टेस्ट >>। *" और बिल्ली का उपयोग नहीं किया ...
.myfile
,?