वर्तमान निर्देशिका में फ़ाइलों को सूचीबद्ध करते समय वर्ष दिखाएं


58

मैं Red Hat सर्वर पर काम कर रहा हूँ। कमांड ls -lया llमुझे प्रारूप में दिनांक और समय दे रहा है +"%b %-d %H:%M"

मैं फ़ाइलों को उस तरह से सूचीबद्ध करना चाहता हूं, जिस वर्ष प्रत्येक फ़ाइल बनाई गई थी, उस तिथि के भीतर दिखाई देगी।

वो कैसे संभव है?


नहीं, मुझे नहीं लगता कि मैं "ls -lT" की कोशिश करता हूं, इसका पता नहीं चला
WAEL

1
ls -lTके लिए है मैक OSX
क्रिस Roofe

1
सामान्य तौर पर, यूनिक्स फ़ाइलों के निर्माण के समय का ट्रैक नहीं रखता है, और, जब भी ऐसा होता है, तो lsआम तौर पर इसे प्रदर्शित करने का कोई तरीका नहीं होता है। तो, सामान्य तौर पर, यह असंभव है।
जी-मैन

जवाबों:


86

आप उपयोग कर सकते हैं man lsऔर यहाँ आप --time-styleपैरामीटर पा सकते हैं । या आप उपयोग कर सकते हैं:

ls --full-time


1
@ बॉब: पूरी तरह से तुर्को से सहमत हैं। यदि आप ऐसा नहीं करते हैं, तो कोई भी आपके प्रश्न का उत्तर देने के लिए परेशान नहीं करेगा।
डार्क नाइट

5
समय शैली के लिए उदाहरणls -l --time-style=+%F
sobi3ch

1
उन लोगों के लिए जो पहले से ही या कुछ और के llरूप में सेट कर चुके हैं ls -la, वे ll --full-timeभी काम करते हैं।
Meetai.com

8

ls -lमहीने के दिन और प्रदर्शित करेगा साल - के बाद से बीएसडी आदमी पृष्ठ के अनुसार,: अगर फ़ाइल के संशोधन समय अतीत या भविष्य में 6 महीने से अधिक है, तो साल अंतिम संशोधन का घंटे और मिनट क्षेत्रों के स्थान पर प्रदर्शित किया जाता है ।

इसलिए, यह सुनिश्चित करने के लिए कि वर्ष हमेशा दिखाया जाएगा, उपयोग करें:

ls --time-style=long-iso (जीएनयू / लिनक्स)

ls -lT BSD (MacOS) में पूर्ण समय की जानकारी प्रदर्शित करेगा


6

चूंकि आपने वर्ष के लिए पूछा था, ls -lacयह याद रखना आसान है कि क्या, मेरी तरह, आप ls -laहर समय उपयोग करते हैं। यदि cआप वर्तमान वर्ष या वर्ष और मिनट नहीं है, तो यह आपको एक वर्ष का समय प्रदान करेगा।


मुझे यह पसंद हे। आउटपुट में बहुत कम शोर और भविष्य में याद रखने के लिए केवल एक अक्षर।
एरिक

1
इस का व्यवहार बदलने के लिए लगता है lsके लिए बदल तारीख डिफ़ॉल्ट के बजाय संशोधित तिथि
मतीन उलहाक

2
ls -lउन तारीखों के लिए तारीख और समय प्रदर्शित करता है जो पिछले छह महीनों में हैं, और अन्य तारीखों के लिए तारीख और वर्ष। केम पिछले छह महीनों में हो सकता है जितना माइम (संशोधन की तारीख) हो सकता है, उतना ls -lacही बार (वर्षों के बजाय) भी उतना ही प्रदर्शित ls -laकर सकते हैं। इसके अलावा, जैसा कि मातेन उल्हाक बताते हैं, ls -lacवही तिथियाँ प्रदर्शित नहीं करता है जो ls -laकरता है। यह उत्तर गलत है।
जी-मैन

2
दुनिया में इस "उत्तर" को सात वोट कैसे मिले?
जी-मैन

5

जन मारेक के जवाब के अलावा .... मैंने देखा है कि आप दूर हो सकते हैं:

ls - फ़ुल या ls - फ़ू

ls --full-timeजैसा उसने बताया वैसा ही वह करेगा। धन्यवाद स्टीफन चेज़लस। अब मैं ls --fuहर जगह टाइप करता हूं । :)


1
या ls --fu। GNU- शैली के लंबे विकल्पों को तब तक संक्षिप्त किया जा सकता है जब तक कि कोई अस्पष्टता न हो ( --fकाम नहीं करेगा क्योंकि - afile-type और --format)। ध्यान दें कि भविष्य का संस्करण शुरू हो सकता है --full-permsइसलिए उस पर भरोसा करना खतरनाक है।
स्टीफन चेज़ेलस

1
जान कर अच्छा लगा! इसके बारे में सभी टाइपिंग कम है। :)
G_Style

2

यदि आप busybox(एम्बेडेड डिस्ट्रोस, उदाहरण के लिए OpenWRT, LEDE) का उपयोग कर रहे हैं, तो आप जिस स्विच की तलाश कर रहे हैं, वह -e1.26.2 तक के संस्करणों के लिए है और --full-time1.27.0 और इसके बाद के संस्करण के लिए ( इसे परिवर्तित करने वाली प्रतिबद्धता देखें )।


1
-eसोलारिस lsऔर एस्टी-ओपन के साथ भी काम करता है , इसलिए यह वास्तव में जीएनयू की तुलना में एक मानक के करीब है --full-time। एक शर्म की बात है कि बिजीबॉक्स ने इसे नए संस्करणों में हटा दिया।
स्टीफन चेजालस

@ स्टीफनचेज़लस को नहीं पता था कि! एडिट के लिए धन्यवाद
कोड ब्लिंग

-1

पसंदीदा हो सकता है:

$ ls -altT / path / to / some / dir


जैसा कि पहले बताया गया है , -Tविकल्प GNU ls(POSIX में भी निर्दिष्ट नहीं) के साथ काम नहीं करेगा । इसके अलावा, जब एक उत्तर के रूप में कोड प्रदान करते हैं, तो यह स्पष्ट करना बेहतर होता है कि इसका प्रत्येक भाग क्या करता है।
एंथनी जी -
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.