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छूट देता है ।