2009-09-10 11 views
83

द्वारा मान लीजिए कि मैं /home/user/ की तरह एक निर्देशिका करते हैं।सूची फ़ाइलों पिछले संपादित तारीख

कैसे मुझे लगता है कि फ़ोल्डर के अंतर्गत हर फ़ाइल (उप निर्देशिका में भी), और उन्हें आदेश की तारीख से सूचीबद्ध करने के लिए कर सकते हैं कि उन्हें पिछली बार संपादित किया गया?

उत्तर

128

आप उपयोग कर सकते हैं:

$ ls -Rt 

जहां -R मतलब है पुनरावर्ती (शामिल उपनिर्देशिका) और -t का अर्थ है "अंतिम संशोधन दिनांक के आधार पर चुनना"।

+13

धन्यवाद, यह सही है। मैंने वहां भी एक -l जोड़ा है, इसलिए मैं वास्तव में तारीखों को देख सकता हूं, जो बाद में इसे खोजता है, यह $ ls -lRt – Marty

+3

यदि आप प्रॉम्प्ट पर ऐसा कर रहे हैं और सबसे अधिक देखना चाहते हैं हाल ही में संशोधित फाइलें, 'ls -lrt [RhA]' पर विचार करें। '-r' सॉर्ट क्रम उलट जाता है, सूची में सबसे नीचे हाल ही में संपादित सामान छोड़ने ... – dmckee

+0

यह एक' -ila' को जोड़ा गया आप काफी सारी जानकारी आप की आवश्यकता होगी देता है। '$ ls -ilaRt' – Falkenfighter

64

आप एक मास्टर सूची है, जिसमें सभी फाइलों संशोधन दिनांक द्वारा एक साथ हल कर रहे हैं, निर्देशिका वे शामिल हों दिखा, लेकिन निर्देशिका के आधार पर वर्गीकृत नहीं करना चाहते हैं, तो आप इस का उपयोग कर सकते हैं:

find . -type f -printf "%-.22T+ %M %n %-8u %-8g %8s %Tx %.8TX %p\n" | sort | cut -f 2- -d ' ' 

परिणाम लग रहा है ls -l की तरह एक बहुत कुछ:

 
-rw-r--r-- 1 root  root   3892 08/11/2009 11:03:36 /usr/share/man/man1/xmllint.1.gz 
-rw-r--r-- 1 root  root  22946 08/13/2009 11:59:20 /usr/share/man/man1/curl.1.gz 
-rw-r--r-- 1 root  root   728 08/17/2009 12:06:33 /usr/share/man/man1/thunderbird.1.gz 
-rw-r--r-- 1 root  root   873 08/18/2009 10:52:47 /usr/share/man/man1/libgnutls-config.1.gz 
-rw-r--r-- 1 root  root   2552 08/19/2009 02:00:34 /usr/share/man/man3/Purple.3pm.gz 
-rw-r--r-- 1 root  root   9546 08/19/2009 02:02:00 /usr/share/man/man1/pidgin.1.gz 
-rw-r--r-- 1 root  root   2201 08/19/2009 02:02:46 /usr/share/man/man3/Pidgin.3pm.gz 
-rw-r--r-- 1 root  root   926 08/19/2009 02:03:05 /usr/share/man/man1/purple-remote.1.gz 
-rw-r--r-- 1 root  root  18052 08/19/2009 04:11:47 /usr/share/man/man1/mono.1.gz 
-rw-r--r-- 1 root  root   1845 08/19/2009 04:11:47 /usr/share/man/man5/mono-config.5.gz 

मैक ओएस एक्स

आप में से जो मैक ओएस एक्स का उपयोग कर के लिए, विकल्प -printf बीएसडी फाइंड पर उपलब्ध नहीं है (यदि आपको यह त्रुटि मिल जाएगा: find: -printf: unknown primary or operator)। सौभाग्य से आप जीएनयू Homebrew के माध्यम से लगता है स्थापित कर सकते हैं (वहाँ फिंक और macports रूप में अच्छी तरह के लिए एक विकल्प होना चाहिए):

brew install findutils 

बाद जीएनयू इसे स्थापित gfind के रूप में आप के लिए उपलब्ध होना चाहिए लगता है। तो, आपको बस इतना करना है कि ऊपर की रेखा को बदलें:

gfind . -type f -printf "%-.22T+ %M %n %-8u %-8g %8s %Tx %.8TX %p\n" | sort | cut -f 2- -d ' ' 
+3

अच्छा है। एलएस-आर के साथ पूरी निर्देशिका समूहिंग चीज परेशान है। –

+0

कोड का उत्कृष्ट टुकड़ा, धन्यवाद! –

+1

ग्रेट कोड, यह लगभग स्क्रिप्ट ले लिया। कई अलग-अलग फ़ोल्डरों में 13k फ़ोटो को सॉर्ट और प्रिंट करने के लिए 5 सेकंड (एक धीमी कंप्यूटर पर सिग्विन के माध्यम से)। – Magnus

संबंधित मुद्दे