लिनक्स: ls -l प्रिंट केवल प्रश्न चिह्न:


11

मुझे ls -l के साथ कुछ डायरेक्टरी को सूचीबद्ध करने में समस्या है:

$ ls -l ./directory
-????????? ? ? ? ?            ? file001.txt
-????????? ? ? ? ?            ? file002.txt

और बस अच्छे काम करता है:

$ ls ./directory
file001.txt file002.txt

गलत क्या है?

जवाबों:


14

अनुमतियों की जाँच करें ./directory: यदि आपने अनुमतियाँ पढ़ी हैं, लेकिन इस निर्देशिका पर अनुमतियों को निष्पादित नहीं करते हैं, तो आपके पास उस निर्देशिका में फ़ाइलों की सूची पढ़ने के लिए पर्याप्त अधिकार हैं, लेकिन आप वास्तव में इन फ़ाइलों का उपयोग नहीं कर सकते हैं या उनके बारे में जानकारी प्राप्त नहीं कर सकते हैं।

उदाहरण सत्र:

$ cd /tmp/
$ mkdir /tmp/test
$ touch /tmp/test/file
$ ls -la test/
total 44
drwxr-xr-x  2 myself myself  4096 janv.  5 11:01 .
drwxrwxrwt 42 root   root   54242 janv.  5 11:01 ..
-rw-r--r--  1 myself myself     0 janv.  5 11:01 file
$ chmod a-x /tmp/test # remove execute permission for all
$ ls -la test/
total 0
d????????? ? ? ? ?            ? .
d????????? ? ? ? ?            ? ..
-????????? ? ? ? ?            ? file
$ ls -ld test/
drw-r--r-- 2 myself myself 4096 Jan  5 11:01 test/
$ cat test/file 
cat: test/file: Permission denied
$ chmod a+x /tmp/test # readd execute permission for all
$ ls -la test/
total 44
drwxr-xr-x  2 myself myself  4096 janv.  5 11:01 .
drwxrwxrwt 42 root   root   54242 janv.  5 11:01 ..
-rw-r--r--  1 myself myself     0 janv.  5 11:01 file
$ ls -ld test/
drwxr-xr-x 2 myself myself 4096 Jan  5 11:01 test/
$ cat test/file
$

कुछ lsसंस्करण त्रुटि संदेश दिखाते हैं जब वे फ़ाइलों के बारे में जानकारी प्रदर्शित नहीं कर सकते हैं।


लेकिन ls को कैसे पता चल सकता है, test निर्देशिका के अंदर फ़ाइल है या नहीं ('और' और '..' के लिए चेक डी चार)?
osgx

1
@osgx: यह फ़ाइल सूची का हिस्सा है, जिसमें फ़ाइल नाम और इनोड नंबर है। man readdirअधिक निम्न-स्तरीय विवरण के लिए। ध्यान दें कि यह व्यवहार POSIX द्वारा निर्दिष्ट नहीं है।
बैच
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.