मैं अंतिम संशोधित तिथि तक 'ls' के आउटपुट को कैसे सॉर्ट कर सकता हूं?


1378

मैं lsअंतिम संशोधित तिथि के आउटपुट को कैसे सॉर्ट कर सकता हूं ?


जवाबों:


1636
ls -t

या (रिवर्स के लिए, सबसे हाल ही में नीचे):

ls -tr

lsआदमी पेज अधिक विवरण में इस का वर्णन करता है, और अन्य विकल्प सूचीबद्ध करता है।


312
ls -haltके लिए है human readable, show hidden, print details, sort by date
इवगेनी सर्गेव

6
किसी की सोच के मामले में, दोनों -tऔर -rतर्क POSIX मानक के बारे lsमें अनुभाग में निर्दिष्ट किए गए हैं , इसलिए यूनियनों में संगत होना चाहिए।
मार्क अमेरी

5
ls -lltछँटाई के साथ-साथ समय-समय पर दिखाने के लिए
हर्षुल पांडव

4
हाँ यह संभव है
अशरफ.शाक is६

6
@EvgeniSergeev न ही ls -haltएक साधारण गलती के कारण आपका सर्वर क्रैश हो सकता है! linux.die.net/man/8/halt
इसहाक

148

इस प्रयास करें: ls -ltr। यह आपको सूची के अंत में हाल ही में देगा


मैंने इसका उपयोग अपनी Git रिपॉजिटरी में फ़ाइलों की सूची को उनकी अंतिम संपादन तिथि से प्राप्त करने के लिए किया। ls -alt $(git ls-files -m)धन्यवाद!
नोबल उत्थान

44

यहाँ एक पूर्ण उत्तर के लिए मैं क्या उपयोग करता हूँ: ls -lrth

इसे अपनी स्टार्टअप स्क्रिप्ट में रखें /etc/bashrcऔर इस तरह से एक अन्य नाम असाइन करें: alias l='ls -lrth'अपने टर्मिनल को पुनरारंभ करें और आपको lफ़ाइलों की लंबी सूची टाइप करने और देखने में सक्षम होना चाहिए ।


14
source /etc/bashrcयदि आप इसे चलाते समय अपने प्रदर्शनों की सूची में जोड़ना चाहते हैं तो आप कॉल भी कर सकते हैं ।
cwallenpoole

1
आप इसे ~/.bash_aliasesकेवल अपने उपयोगकर्ता के लिए भी जोड़ सकते हैं (यदि यह पहले से मौजूद नहीं है तो फ़ाइल बना सकते हैं
Dinei

29

मैं कुछ समय इस का उपयोग करें:

find . -type f -mmin -5 -print0 | xargs -0 /bin/ls -tr

या

find . -type f -mmin -5 -print0 | xargs -0 /bin/ls -ltr

देखने के लिए रिकर्सिवली जिसके बारे में फ़ाइलों को पिछले 5 मिनट में संशोधित किया गया था।

... या अभी, जीएनयू के हालिया संस्करण के साथ :

find . -type f -mmin -5 -exec ls -ltr {} +

... और यहां तक ​​कि फाइलों तक सीमित न करने के लिए :

find . -mmin -5 -exec ls -ltrd {} +

( निर्देशिका की सामग्री प्रदर्शित नहीं -dकरने के lsलिए स्विच पर ध्यान दें )

अधिक मजबूत तरीका?

मेरे aser को देखो और संशोधित तिथि के अनुसार क्रमबद्ध करें


पुनरावर्ती रूप से आपका मतलब है कि यह उपनिर्देशिकाओं की सभी फाइलों को सूचीबद्ध करता है, क्या ls के पास पहले से ऐसा करने के लिए स्विच नहीं है?
जिग्गंजेर

@jiggunjer ls -Rltr, dir द्वारा सॉर्ट करेगा, फिर find -type f -mmin -5 -exec ls -ltr {} +तारीखों के अनुसार, अंतिम 5 मिनटों में संशोधित फाइलों को प्रिंट करेगा, डेट के अनुसार क्रमबद्ध, चाहे वह डायरेक्टरी ट्री की ही क्यों न हो!
एफ। हौरी

ध्यान दें कि यह काम नहीं करेगा यदि फ़ाइलों की सूची एक शेल इनवोकेशन के रूप में पारित होने के लिए बहुत लंबी है ls( unix.stackexchange.com/a/118200/27186 ) - तो आप फ़ाइलों का एक क्रमबद्ध गुच्छा देखेंगे, फिर दूसरा फ़ाइलों का गुच्छा आदि, लेकिन पूरी सूची को नहीं छाँटा जाएगा। खोजने के साथ लंबी सूची को सॉर्ट करने के लिए superuser.com/questions/294161/… देखें ।
unhammer



15

स्मृति सहायक

तारीखों के आधार पर छांटने. और क्रमबद्ध करने की उपेक्षा न करें (सबसे पहले)

ls -at

तारीख. और सबसे पुराने प्रकार के साथ शुरू होने वाली और रिवर्स सॉर्ट की अनदेखी न करें :

ls -art

शुरू होने वाली प्रविष्टियों को अनदेखा न करें ., एक लंबी सूची प्रारूप का उपयोग करें और तिथि के अनुसार क्रमबद्ध करें (सबसे पहले):

ls -alt

प्रिंट करने योग्य मानव पठनीय आकारों के लिए, प्रविष्टियों को अनदेखा न करें ., एक लंबी सूची प्रारूप का उपयोग करें और तिथि के अनुसार क्रमबद्ध करें (पहले नया) (@EvgeniSergeev नोट):

ls -halt

लेकिन पिछले एक के साथ सावधान रहें , क्योंकि एक साधारण गलती से सर्वर क्रैश हो सकता है ... (@Isaac note)


14

उस फ़ाइल सिस्टम पर सभी फ़ाइलें खोजें जो अब तक अधिकतम 3 * 24 घंटे (3 दिन) में संशोधित की गई थीं:

find / -ctime 3

10

दिनांक के अनुसार 10 सबसे हाल ही में दिखाने के लिए, मैं कुछ इस तरह का उपयोग करता हूं:

ls -t ~/Downloads | head -10

या सबसे पुराना दिखाने के लिए

ls -tr ~/Downloads | tail -10

यह giv देता है ls -t head -2और ls -tr | tail -2समान परिणाम देता है, विकल्प (-t / -tr) को स्थिर रखा जाना चाहिए और पूंछ / सिर या उपाध्यक्ष कविता को संशोधित करना चाहिए, दोनों को संशोधित करना कुछ भी नहीं करने के समान है
DDS

7

केवल बहुत मूल यूनिक्स कमांड का उपयोग करना:

ls -nl | sort -k 8,8n -k 6,6M

यह लिनक्स पर काम करता था; कॉलम 8 "एन" (संख्यात्मक) है, कॉलम 6 "एम", महीना है।

मैं नया हूँ sort, इसलिए इस उत्तर को बेहतर बनाया जा सकता है। नहीं उल्लेख करने के लिए, यह करने के लिए अतिरिक्त विकल्प की जरूरत है lsऔर sortसही टाइम स्टांप उपयोग करने के लिए, लेकिन सभी के इस की आवश्यकता होगी।


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