यदि आप ls -all
आदेश जारी करते हैं कि कुछ फाइलें या निर्देशिका वर्ष है और कुछ के पास समय है? कुछ वर्ष क्यों दिखाते हैं जबकि अन्य समय दिखाते हैं? क्या जिस समय फ़ाइल बनाई गई थी उस समय के प्रतिनिधि?
यदि आप ls -all
आदेश जारी करते हैं कि कुछ फाइलें या निर्देशिका वर्ष है और कुछ के पास समय है? कुछ वर्ष क्यों दिखाते हैं जबकि अन्य समय दिखाते हैं? क्या जिस समय फ़ाइल बनाई गई थी उस समय के प्रतिनिधि?
जवाबों:
डिफ़ॉल्ट रूप से, फ़ाइल टाइमस्टैम्प को संक्षिप्त रूप में सूचीबद्ध किया जाता है, गैर-हाल के टाइमस्टैम्प के लिए 'मार्च 30 2002' जैसी तारीख का उपयोग करके, और हाल के टाइमस्टैम्प के लिए 'मार्च 30 23:45' की तरह तारीख-रहित-वर्ष और समय। नीचे दिए गए विस्तृत विवरण के आधार पर यह प्रारूप बदल सकता है।
एक टाइमस्टैम्प को हाल ही में माना जाता है यदि यह छह महीने से कम पुराना है, और भविष्य में दिनांकित नहीं है। अगर आज का टाइमस्टैम्प दिनांकित नहीं है, तो हाल के समय में सूचीबद्ध नहीं किया गया है, टाइमस्टैम्प भविष्य में है, जिसका अर्थ है कि आपके पास संभवतः घड़ी तिरछी समस्याएं हैं जो प्रोग्राम को तोड़ सकती हैं जैसे कि फ़ाइल टाइमस्टैम्प पर भरोसा करना।
स्रोत: http://www.gnu.org/software/coreutils/manual/coreutils.html#Formatting-file-imestestamps
चित्रित करना:
$ for i in {1..7}; do touch -d "$i months ago" file$i; done
$ ls -l
total 0
-rw-r--r-- 1 terdon terdon 0 Sep 21 02:38 file1
-rw-r--r-- 1 terdon terdon 0 Aug 21 02:38 file2
-rw-r--r-- 1 terdon terdon 0 Jul 21 02:38 file3
-rw-r--r-- 1 terdon terdon 0 Jun 21 02:38 file4
-rw-r--r-- 1 terdon terdon 0 May 21 02:38 file5
-rw-r--r-- 1 terdon terdon 0 Apr 21 2015 file6
-rw-r--r-- 1 terdon terdon 0 Mar 21 2015 file7
प्रतिनिधित्व किया गया समय संशोधन समय है। कृपया ध्यान दें कि ls -all
वही वस्तु है ls -l -a
, जो इससे भिन्न है ls --all
। l
आपके उदाहरण में डबल का उपयोग करने का कोई कारण नहीं है । यदि आप प्रत्येक फ़ाइल के लिए संशोधन समय देखना चाहते हैं, तो आप उपयोग कर सकते हैं ls -al --full-time
।
ls
सामान्य उपयोग के लिए GNU में --time-style=long-iso
अधिक उपयोगी हो सकता है। --full-time
दशमलव बिंदु के बाद नौ सिफर (!) सहित सेकंड दिखाता है जिसकी सामान्य रूप से आवश्यकता नहीं होती है।
--full-time
तात्पर्य -l
, तो आप बस इस्तेमाल कर सकते हैं ls -a --full-time
।
यदि वह दिनांक / समय जो प्रदर्शित करने का प्रयास कर रहा है वह पिछले छह महीनों में है,
ls
दिनांक और समय प्रदर्शित करता है। यदि यह छह महीने से अधिक समय पहले है - या यदि यह भविष्य में है - ls
तिथि और वर्ष प्रदर्शित करता है।
जैसा कि अन्य उत्तरों में कहा गया है,
ls -ll
के बराबर है ls -l
, औरls -all
के बराबर है ls -al
जो बराबर करने के लिए है, ls -a -l
, ls -l -a
, और ls -la
।-l
विकल्प के साथ , ls
फाइलों की संशोधन तिथि / समय प्रदर्शित करता है (निर्देशिकाओं सहित, "चूंकि सब कुछ एक फ़ाइल है"), जब तक
-c
यह भी निर्दिष्ट किया जाता है, जिस स्थिति में यह परिवर्तन समय प्रदर्शित करता है, या-u
यह भी निर्दिष्ट किया जाता है, जिस स्थिति में यह एक्सेस टाइम प्रदर्शित करता है।देखें ls (1) अधिक जानकारी के लिए।
यह आउटपुट अधिकतम सूचना सामग्री के लिए तैयार किया गया है: जब समय वर्तमान समय के लिए "पर्याप्त रूप से करीब" है (पूरी तरह से निश्चित नहीं है, लेकिन मैं छह महीने के भीतर अनुमान लगा रहा हूं) वर्ष बढ़ रहा है और इसके बजाय दिन का समय दिखाया गया है। अन्यथा, वर्ष दिखाया गया है। यह डिफ़ॉल्ट रूप से ज्यादातर है क्योंकि आप संभवतः उस समय के बारे में ज्यादा परवाह नहीं करते हैं, जो उस समय से कुछ दिन पहले संशोधित किया गया था। यह स्पष्ट रूप से नियंत्रित करने के लिए GNU कोरुटिल्स ls
का --time-style
विकल्प है।
क्या आपको कुछ एहसास हुआ है? यह सिर्फ 20 अक्टूबर को घंटे का समय दिखाई देता है, जो आज है, इसका मतलब है कि यह आखिरी बार जब आप फ़ाइल को संशोधित करेंगे, लेकिन, अन्य दिनों में जो आज नहीं हैं, यह केवल समय के बिना तारीख दिखाएगा।
यह पता चला है कि यह ऐसा नहीं है, जैसा कि थॉमस ने उत्तर दिया है। मैंने सिर्फ कटौती पद्धति का उपयोग करने की कोशिश की, सभी के बाद सही निष्कर्ष निकालने का आश्वासन नहीं दिया।
Aug 6 19:50 .config
, Aug 6 19:48 VNCHOWTO
।
-all
। ध्यान दें कि अंतिम L बहुत अधिक है, क्योंकिall
यह "सभी" शब्द के लिए नहीं है , बल्कि-a
(सभी फाइलों को दिखाने के लिए ) और-l
(लंबी सूची प्रारूप) है। सभी एक साथ,ls -al
वही है जो आप उपयोग कर रहे हैं।