ls
विकल्प --group-directories-first
निर्देशिकाओं को शीर्ष पर सूचीबद्ध करने का कारण बनता है, जो ls
अच्छा और साफ उत्पादन करता है :
ls -l --group-directories-first
हालांकि, यह उस पर कार्रवाई नहीं करता है symlinks
, जो वास्तव symlinks
में निर्देशिकाओं के लिए हैं। उपयोग करने की संभावना है
ls -l -L --group-directories-first
जो शीर्ष पर दोनों तरह की निर्देशिकाओं को सूचीबद्ध करेगा, लेकिन उचित निर्देशिका और सहानुभूति वाली निर्देशिका के बीच अंतर नहीं करेगा, जो फिर से भ्रमित है।
ls
शीर्ष निर्देशिका पर सहिष्णु निर्देशिका प्रदर्शित कर सकते हैं, जबकि अभी भी उन्हें नियमित निर्देशिका से अलग रखते हैं?
संपादित करें:
मैं उपयोग कर रहा हूँ bash
।
ls
करता है lstat()
(और सहानुभूति के readlink
लिए) जब तक आप -L
विकल्प का उपयोग नहीं करते हैं (जिस स्थिति में वह उपयोग करता है stat()
)
S_ISLNK(st_mode)
भी सच है stat()
, लेकिन यह नहीं है - यह केवल के माध्यम से ऐसा करता है lstat()
। यह भी है कि ISLNK स्टेट के माध्यम से सही नहीं लौटता है, भले ही लिंक एक लिंक के लिए लिंक हो। इसका अर्थ है कि ISLNK
स्टेट के माध्यम से कभी भी सही नहीं हो सकता है, हालांकि यह अनिर्दिष्ट है ...
stat
आपको सिमलिंक (ओं) के अंत में फ़ाइल के गुण प्रदान करता है। यदि वह मौजूद नहीं है या पहुंच योग्य नहीं है, तो stat
एक रिटर्न देता है, इसलिए जो लौटाया जाता है stat
वह कभी भी सिमिलिंक नहीं होगा। stat()
सिम्बलिंक के बारे में आपको कभी कुछ नहीं बताएगा, जैसे सिम्बल open
को कभी नहीं खोलेगा, या chmod()
ls
।stat()
सिस्टम कॉल के अनुसार , एक निर्देशिका के लिए एक प्रतीकात्मक लिंक अभी भी एक निर्देशिका है (S_ISDIR(st_mode)
सच वापस आ जाएगी)। इससे पहले कि यह जाँच करता है, यह सहानुभूतिपूर्वकls
छूट देता है ।