Ls -al आउटपुट में फ़ील्ड्स का क्या मतलब है?


218

ls -alआदेश के बाद उत्पादन पता चलता है;

-rwxrw-r--    10    root   root 2048    Jan 13 07:11 afile.exe

पूर्ववर्ती प्रदर्शन में सभी फ़ील्ड क्या हैं?


इन अनुज्ञाओं में L का क्या अर्थ है .... lrwxrwxrwx
Lin-man

1
कृपया दूसरा उत्तर पढ़ें। यह फ़ाइल प्रकार का ध्वज है; नियमित फाइल (-), डायरेक्टरी फाइल्स (डी), ब्लॉक फाइल (बी), कैरेक्टर डिवाइस फाइल (सी), नेम पाइप फाइल या सिर्फ पाइप फाइल (पी), सिम्बोलिक लिंक फाइल (एल), सॉकेट फाइल (एस)। linuxnix.com/file-types-in-linux
श्री व्हाइट

जवाबों:


215

आउटपुट के क्रम में;

-rwxrw-r--    1    root   root 2048    Jan 13 07:11 afile.exe
  • फ़ाइल अनुमतियां,
  • लिंक की संख्या,
  • मालिक का नाम,
  • मालिक समूह,
  • फाइल का आकार,
  • अंतिम संशोधन का समय, और
  • फ़ाइल / निर्देशिका नाम

फ़ाइल अनुमतियाँ निम्नलिखित के रूप में प्रदर्शित की जाती हैं;

  • पहला चरित्र है -या lया d, d एक निर्देशिका को इंगित करता है, एक लाइन एक फ़ाइल का प्रतिनिधित्व करती है, एल एक सिम्लिंक (या सॉफ्ट लिंक) है - विशेष प्रकार की फ़ाइल
  • पात्रों के तीन सेट, तीन बार, मालिक, समूह और अन्य के लिए अनुमतियों का संकेत:
    • r = पठनीय
    • w = लिखने योग्य
    • एक्स = निष्पादन योग्य

आपके उदाहरण में -rwxrw-r--, इसका मतलब है कि प्रदर्शित लाइन है:

  • एक नियमित फ़ाइल (के रूप में प्रदर्शित)
  • स्वामी (आरडब्ल्यूएक्स) द्वारा पठनीय, लेखन योग्य और निष्पादन योग्य
  • पठनीय, लिखने योग्य, लेकिन समूह द्वारा निष्पादन योग्य नहीं (आरडब्ल्यू-)
  • अन्य (r--) द्वारा पठनीय लेकिन लिखित या निष्पादन योग्य नहीं

14
फ़ाइल के 2 से अधिक प्रकार हैं। -के लिए नहीं है गैर निर्देशिका , इसके लिए है नियमित रूप से फ़ाइलें , वहाँ से भी अधिक है r, wऔर xअनुमतियाँ। अधिकांश प्रणालियों पर, पहले फ़ील्ड का उपयोग ACLs, सुरक्षा विशेषताओं या अन्य विस्तारित विशेषताओं जैसे अतिरिक्त विशेषताओं की उपस्थिति को इंगित करने के लिए भी किया जाता है। यह भी ध्यान दें कि सिमिलिंक के लिए, आउटपुट में सिम्लिंक का लक्ष्य भी प्रदर्शित किया जाता है ls -l
स्टीफन चेज़लस 21

12
पहले चरित्र में अलग-अलग मूल्य हो सकते हैं (जैसे। b, डी , and p`)। विकिपीडिया पर पूर्ण विवरण है
ashes999

13
खेतों की संख्या खराब बताई गई है। फ़ाइलों के लिए इसका अर्थ है कड़ी की संख्या। निर्देशिका के लिए: निर्देशिका के अंदर निर्देशिकाओं की संख्या + यह निर्देशिका स्वयं + 1.
yanpas

13
क्या number of linksमतलब है? धन्यवाद।
tommy.carstensen

3
info lsअधिक जानकारी है
ctrl-alt-delor-Maror

94

"Ls" कमांड का आउटपुट "ls" के संस्करण, उपयोग किए गए विकल्प, उपयोग किए गए प्लेटफ़ॉर्म, आदि पर निर्भर करता है। यह आपके उदाहरण से प्रकट होता है कि आप इसे किसी विशिष्ट un * x (जैसे कि Linux) से उपयोग कर रहे हैं, और शायद एक विशिष्ट आधुनिक "ls" संस्करण का उपयोग कर। कौनसे मामलेमें:

-rwxrw-r--    10    root   root 2048    Jan 13 07:11 afile.exe
?UUUGGGOOOS   00  UUUUUU GGGGGG ####    ^-- date stamp and file name are obvious ;-)
^ ^  ^  ^ ^    ^      ^      ^    ^
| |  |  | |    |      |      |    \--- File Size
| |  |  | |    |      |      \-------- Group Name (for example, Users, Administrators, etc)
| |  |  | |    |      \--------------- Owner Acct
| |  |  | |    \---------------------- Link count (what constitutes a "link" here varies)
| |  |  | \--------------------------- Alternative Access (blank means none defined, anything else varies)
| \--\--\----------------------------- Read, Write and Special access modes for [U]ser, [G]roup, and [O]thers (everyone else)
\------------------------------------- File type flag

मुझे यकीन नहीं है कि आपके द्वारा सूचीबद्ध उदाहरण फ़ाइल के लिए आपकी लिंक गणना इतनी अधिक क्यों है। कुछ प्लेटफार्मों में "लिंक" के गठन की एक अजीब धारणा है। इनमें आमतौर पर हार्ड लिंक और प्रतीकात्मक लिंक शामिल होते हैं, साथ ही निर्देशिका प्रविष्टियां (यही वजह है कि निर्देशिकाओं में अक्सर उच्च लिंक मायने रखता है - इसके माता-पिता के पास एक लिंक है, निर्देशिका की .प्रविष्टि में खुद का लिंक है , और इसके प्रत्येक उप-निर्देशिका में है के माध्यम से एक लिंक वापस ..)।

कुछ संस्करण और / या कमांड लाइन झंडे बाइट्स की संख्या के बजाय उपयोग किए जाने वाले ब्लॉक की संख्या को सूचीबद्ध करेंगे; 1024 बाइट्स के ब्लॉक आकार के साथ एक फाइलसिस्टम 1024 बाइट्स को "1" के रूप में सूचीबद्ध करेगा, जिसका अर्थ है कि 1 ब्लॉक का उपयोग 1025 से 2048 तक "2" के रूप में किया जाता है, 2 ब्लॉक का उपयोग करके, और इसी तरह। लेकिन डिफ़ॉल्ट रूप से ब्लॉक आकारों को सूचीबद्ध करना (बिना स्पष्ट रूप से कमांड लाइन विकल्प का उपयोग करना) सबसे आधुनिक संयुक्त * एक्स मशीनों पर दुर्लभ है।

विशेष / वैकल्पिक एक्सेस फ्लैग आमतौर पर एक रिक्त स्थान होता है, लेकिन कुछ प्लेटफार्मों पर, यह इंगित करने के लिए उपयोग किया जा सकता है कि विशेष / वैकल्पिक एक्सेस मोड (जैसे AC32 और Win32 पर सुरक्षा डिस्क्रिप्टर) आदि हैं, और व्यापक रूप से भिन्न होते हैं - अपने मैनुअल से परामर्श करें , आदमी पृष्ठों, सूचना उपकरण, या क्या नहीं।

अनुमतियाँ (मोड) झंडे (UUUGGGOOO) तीन वर्णों के तीन सेट हैं, जहां पहला सेट "उपयोगकर्ता" (यानी, स्वामी) है, दूसरा सेट "समूह" है और तीसरा सेट "अन्य" (यानी, हर कोई है) ; कोई भी जो न तो मालिक है और न ही समूह)। प्रत्येक सेट में तीन अनुमतियाँ झंडे आम तौर पर होते हैं rया इसका -अर्थ है कि उपयोगकर्ता / समूह / अन्य लोग फ़ाइल ( r) या नहीं ( -), उसके बाद wया -यह संकेत कर सकते हैं कि वे फ़ाइल को लिख सकते हैं (आपके पास वे फ़ाइलें हो सकती हैं, जिन्हें आप लिख सकते हैं,) लेकिन पढ़ नहीं सकते, जितना अजीब लग सकता है!), और तीसरा चरित्र अन्य मोड के लिए एक 'कैच-ऑल' झंडा है, आमतौर पर xनिष्पादन के लिए कुछ ऐसा है (निर्देशिकाओं के लिए, इसका मतलब है कि आप निर्देशिका सामग्री तक पहुंचने का प्रयास कर सकते हैं), या -किसी के लिए भी नहीं।sया Sसेतु और / या सेटगिड कार्यक्रम, या अन्य कम सामान्य पात्रों के लिए; मोड पात्रों के लिए अपना "एलएस" प्रलेखन देखें जो यह दिखाएगा।

अंत में, पहला वर्ण फ़ाइल प्रकार है; आम तौर पर एक: dनिर्देशिका के लिए, lएक प्रतीकात्मक लिंक के लिए (हार्ड लिंक सामान्य रूप से अपने स्वयं के विशेष चरित्र के बिना दिखाते हैं), या -एक सामान्य फ़ाइल के लिए। कई अन्य हैं, लेकिन कम देखा जाता है, विभिन्न फाइल सिस्टम के लिए फ़ाइल प्रकार। ये पहले दस अक्षर (फ़ाइल प्रकार और अनुमतियां) विकिपीडिया पर चर्चा की गई हैं । फिर, आपका दस्तावेज़ आपको बताएगा कि आपकी कमांड किस प्रकार की फ़ाइल का समर्थन करती है और प्रदर्शित करती है।

BTW, यदि आपको "ls" ("man ls" / "info ls") के लिए एक आदमी / जानकारी पृष्ठ नहीं मिल रहा है, तो "coreutils" पैकेज ("जानकारी coreutils") में देखने का प्रयास करें। यह भी ध्यान दें कि अधिक सामान्य प्लेटफार्मों के बीच, Microsoft प्लेटफ़ॉर्म "ls" आउटपुट पर बहुत अच्छी तरह से अनुवाद नहीं करते हैं, इसलिए आप आउटपुट में विषम व्यवहार, झंडे, या अन्य असामान्य जानकारी देख सकते हैं, यह निर्भर करता है कि "ls" का आपका संस्करण कैसा था। संकलित, यह किसके खिलाफ जुड़ा था, आदि।

एक और अधिक चेतावनी: फ़ाइल का समय स्टैम्प आमतौर पर तारीख / समय होता है जब फ़ाइल को अंतिम बार संशोधित किया गया था , न कि उस समय जब फ़ाइल बनाई गई थी। वास्तव में, संयुक्त राष्ट्र के * x-ish फाइलसिस्टम पर, फ़ाइल निर्माण समय का कोई रिकॉर्ड नहीं है; समय क्षेत्र का अर्थ "निर्माण समय" नहीं है क्योंकि यह एफएटी / एनटीएफएस फाइलसिस्टम पर करता है, बल्कि इसका अर्थ है "इनोड [सी] हैंगिंग टाइम" - जिस समय इनोड को अंतिम रूप से संशोधित किया गया था। "माइम" (अंतिम [एम] ओडीफाइड) और एटीम (अंतिम [ए] ccesed / read) टाइमस्टैम्प दोनों प्रणालियों पर समान हैं - हालांकि सटीक (FAT में दो सेकंड की एक ग्रैन्युलैरिटी है, उदाहरण के लिए) और समय क्षेत्र भिन्न हो सकते हैं ।


4
लिंक गिनती में किस प्रणाली में प्रतीकात्मक लिंक शामिल हैं?
celtschk

1
क्षमा करें, मैं स्पष्ट नहीं था .. कोई भी सिस्टम मुझे नहीं पता है कि लिंक गिनती में प्रतीकात्मक लिंक शामिल हैं .. मैं केवल "क्या एक 'लिंक" का गठन करता है। उदाहरण के लिए, विंडोज में, "शेल लिंक" को एक लिंक माना जाता है, लेकिन अधिकांश कंसोल कमांड इसे एक सामान्य फ़ाइल के रूप में मानेंगे। इसमें ls शामिल है, जो इसे लिंक गणना में शामिल नहीं करेगा । मेरे ज्ञान का सबसे अच्छा करने के लिए, जब तक कि 'ls' के लिए स्रोतों को अन्यथा संशोधित नहीं किया जाता है, यह केवल रिपोर्ट करता है कि लिंक गणना के लिए OS क्या रिपोर्ट करता है।
CM

1
सह-लिंक और .lnk फ़ाइलों को शामिल करने के लिए पूरी निर्देशिका कोशिश के चलने की आवश्यकता होगी। बस एक फ़ाइल सूचीबद्ध करने के लिए। यह waaaaaaaaaaaaay धीमा होगा। इसमें केवल हार्ड लिंक शामिल है। वह निर्देशिका प्रविष्टियों की संख्या है जो फ़ाइल में है। (यह कचरा संग्राहक द्वारा उपयोग किया जाता है। जब संदर्भ गणना शून्य हो जाती है, तो फ़ाइल हटा दी जाती है।)
ctrl-alt-delor-

1
आम तौर पर, ऑपरेटिंग सिस्टम (ओएस) और फाइल सिस्टम (एफएस) की मेरी समझ सहमत होगी, लेकिन मैंने समय-समय पर कुछ ओएस और एफएस के साथ कुछ विषमताएं देखी हैं। हालाँकि, यह हमेशा OS / FS का हिस्सा नहीं होता है; कभी-कभी, विषमताएँ एक OS से दूसरे में एक उपकरण को पोर्ट करने की कोशिश करने का परिणाम होती हैं, और फिर नए प्लेटफ़ॉर्म के लिए इसे समायोजित करने की कोशिश कर रही हैं - EXT और FAT / NTFS के बीच CTIME फ़ील्ड में अंतर, उदाहरण के लिए - और कैसे NTFS विभिन्न प्रकार के "लिंक" (शेल लिंक, रिपार्स पॉइंट्स आदि) को लागू करता है, जिससे सटीक और समान परिभाषा देना मुश्किल हो जाता है।
CM

1
अतिरिक्त नोट: किसी निर्देशिका के लिए फ़ाइल का आकार केवल निर्देशिका के मेटाडेटा के आकार का है, निर्देशिका के तहत फ़ाइलों का कुल आकार नहीं।
बुद्धिशील

31

जीएनयू सिस्टम पर, यह lsबहुत विस्तृत तरीके से जानकारी पृष्ठ में वर्णित है । आपको इसे खोजने के लिए बस इतना करना था: बस खोलें man lsऔर पूर्ण दस्तावेज़ के अंतिम लिंक में खोजें info coreutils 'ls invocation':।

यहाँ यह उद्धरण है:

`-l'
`--format=long'
`--format=verbose'
     In addition to the name of each file, print the file type, file
     mode bits, number of hard links, owner name, group name, size, and
     timestamp (*note Formatting file timestamps::), normally the
     modification time.  Print question marks for information that
     cannot be determined.

     Normally the size is printed as a byte count without punctuation,
     but this can be overridden (*note Block size::).  For example, `-h'
     prints an abbreviated, human-readable count, and
     `--block-size="'1"' prints a byte count with the thousands
     separator of the current locale.

     For each directory that is listed, preface the files with a line
     `total BLOCKS', where BLOCKS is the total disk allocation for all
     files in that directory.  The block size currently defaults to 1024
     bytes, but this can be overridden (*note Block size::).  The
     BLOCKS computed counts each hard link separately; this is arguably
     a deficiency.

     The file type is one of the following characters:

    `-'
          regular file

    `b'
          block special file

    `c'
          character special file

    `C'
          high performance ("contiguous data") file

    `d'
          directory

    `D'
          door (Solaris 2.5 and up)

    `l'
          symbolic link

    `M'
          off-line ("migrated") file (Cray DMF)

    `n'
          network special file (HP-UX)

    `p'
          FIFO (named pipe)

    `P'
          port (Solaris 10 and up)

    `s'
          socket

    `?'
          some other file type

     The file mode bits listed are similar to symbolic mode
     specifications (*note Symbolic Modes::).  But `ls' combines
     multiple bits into the third character of each set of permissions
     as follows:

    `s'
          If the set-user-ID or set-group-ID bit and the corresponding
          executable bit are both set.

    `S'
          If the set-user-ID or set-group-ID bit is set but the
          corresponding executable bit is not set.

    `t'
          If the restricted deletion flag or sticky bit, and the
          other-executable bit, are both set.  The restricted deletion
          flag is another name for the sticky bit.  *Note Mode
          Structure::.

    `T'
          If the restricted deletion flag or sticky bit is set but the
          other-executable bit is not set.

    `x'
          If the executable bit is set and none of the above apply.

    `-'
          Otherwise.

     Following the file mode bits is a single character that specifies
     whether an alternate access method such as an access control list
     applies to the file.  When the character following the file mode
     bits is a space, there is no alternate access method.  When it is
     a printing character, then there is such a method.

     GNU `ls' uses a `.' character to indicate a file with an SELinux
     security context, but no other alternate access method.

     A file with any other combination of alternate access methods is
     marked with a `+' character.

धन्यवाद! जब सूची में मैं पहले कॉलम में सी के "चरित्र विशेष फ़ाइल" अर्थ के बारे में अनिश्चित था/dev/
ब्रूनो ब्रोंस्की

3

पहला कॉलम फ़ाइल मोड है, अगला कॉलम उस लिंक की संख्या है जो फ़ाइल में है, तीसरा और चौथा मालिक और उस समूह का नाम है जो फ़ाइल से संबंधित है। अगला कॉलम कहता है कि फ़ाइल के बाइट्स की संख्या (कुछ lsकार्यान्वयन में -hइस जानकारी को अधिक उपयोगकर्ता के अनुकूल रूप में देखने का विकल्प है)। अंतिम दो कॉलम टाइमस्टैम्प और फ़ाइल का नाम दर्शाते हैं। आप अधिक जानकारी के लिए मैन पेज पढ़ेंगे।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.