एक "अजीब फ़ाइल" क्या है?


38

मैं जिस एप्लिकेशन का उपयोग कर रहा हूं वह इस उपयोगकर्ता संदेश के साथ शुरू नहीं होगा: [Errno 13] Permission denied: '/home/sleblanc/.config/app/.config

जब मैंने उपयोग किया ls, तो फ़ाइल इस प्रकार दिखाई दी:

?--------- 1 root root     0 Dec 31  1969 .config

फाइल पर रनिंग स्टैट मुझे देता है:

% stat .config
  File: .config
  Size: 0           Blocks: 0          IO Block: 4096   weird file
Device: 2dh/45d Inode: 9799944     Links: 1
Access: (0666/?rw-rw-rw-)  Uid: ( 1000/     sleblanc)   Gid: ( 1000/         sleblanc)
Access: 1969-12-31 19:00:00.000000000 -0500
Modify: 1969-12-31 19:00:00.000000000 -0500
Change: 2018-04-07 23:40:22.549653691 -0400

सबसे आश्चर्य की बात यह है कि यह एक "अजीब फ़ाइल" है।

एक अजीब फाइल क्या है?


क्या stat -c '%f' .configछपता है? (आपको चार अंकों की हेक्साडेसिमल संख्या मिलनी चाहिए।) इसके अलावा, stat -f .configप्रिंट क्या होता है ? (यह फाइलसिस्टम युक्त जानकारी की रिपोर्ट करता है .config।)
zwol

4
फ़ाइल में रूट का स्वामी / समूह है, जो आईडी शून्य है। यह @ पीटर के इस समर्थन का समर्थन करता है कि मेटाडेटा में से कुछ को शून्य कर दिया गया है।
CSM

क्या आप eCryptfs का उपयोग कर रहे हैं?
कास्परड

जवाबों:


39

(GNU मानकर ...) यदि statयह नहीं बता सकता कि यह किस प्रकार का है (निर्देशिका, (खाली) नियमित फ़ाइल, लिंक, सॉकेट, ...), तो यह कहता है weird file। मुझे लगता है कि फ़ाइल सिस्टम भ्रष्टाचार और सुझाव देगा fsck


2014 में , जीएनयू कोरयूटिल्स में अतिरिक्त मान्यता प्राप्त फ़ाइल प्रकार जोड़े गए थे। इसलिए, यदि आपका संस्करण इससे अधिक पुराना है, तो यह कुछ विशेष परिस्थितियों के लिए एक उचित फ़ाइल हो सकती है, लेकिन एक ऐप नियमित फ़ाइल में इसके कॉन्फिगर को स्टोर करने की अत्यधिक संभावना है।


हालाँकि, कुछ सॉफ़्टवेयर सॉकेट या लिंक का उपयोग कर सकते हैं, जिनका नाम .config ...
randandboneman

1
statमेरे सिस्टम पर GNU कोरयूटिल्स से @rackandboneman ख़ुशी से सॉकेट की रिपोर्ट करता है socket। साइमलिंक के रूप में सूचित किया जाता है symbolic link। हार्डलिंक्स "नियमित" फाइलों से अप्रभेद्य हैं और रिपोर्ट की जाती है regular file(कि वे क्या हैं, आखिरकार), सिवाय इसके कि लिंक की गिनती> 1 है।
एक CVn

"कुछ विषम प्रकार का" - मैं सी कोड के उस सुपर-वर्बोज़ सेक्शन में पाए जाने वाले अन्य दर्जनों घिनौने या कड़ी प्रकारों का उल्लेख कर रहा था (निश्चित रूप से फ़ाइल प्रकार संख्या के साथ तार की एक सरणी को अनुक्रमित नहीं करने के लिए एक अच्छा कारण है)। .. मेरा अनुमान है ...) :)
रैकैंडबॉमनमैन

@rackandboneman Base POSIX किसी स्टेट स्ट्रक्चर से "फाइल टाइप नंबर" निकालने का कोई तरीका नहीं देता, केवल S_ISxxx () मैक्रोज़। कुछ यूनिक्स "XSI" एक्सटेंशन का एक सेट प्रदान करते हैं जिसमें ऐसा करने का एक तरीका शामिल होता है, लेकिन कोरुटिल्स XSI पर निर्भर नहीं होने की कोशिश करता है, या पिछली बार मैंने वैसे भी देखा था।
zwol

आह ठीक। मैं की तरह था गलत मानते हुए coreutils होने के लिए अधिक जीएनयू / लिनक्स केंद्रित है कि यह होना करने के लिए :) मतलब है
rackandboneman
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.