एक फ़ाइल ढूँढें जो 30 मिनट पुरानी है


12

मुझे वह फ़ाइल कैसे मिल सकती है जो 30 मिनट पुरानी है /bin/ksh?


4
क्या आपका मतलब है "30 मिनट पहले इसकी सामग्री बदल गई थी" या "30 मिनट पहले बनाए जाने तक मौजूद नहीं थी"? इसके अलावा, आप किस ऑपरेटिंग सिस्टम का उपयोग कर रहे हैं? विभिन्न ऑपरेटिंग सिस्टम के विभिन्न संस्करणों के साथ आते हैं find
मार्क प्लॉटनिक

@ मार्क प्लॉटनिक मैं उस फ़ाइल को ढूंढना चाहता हूं जो 30 मिनट पुरानी थी
अरविंद

मुझे लगता है कि उसका मतलब 30 मिनट पहले था । जैसे कि कोई व्यक्ति एक्स पुराना है, वह / वह एक्स समय से पहले पैदा हुआ था।
एरिक

जवाबों:


15

लिनक्स पर, फ़ाइल के निर्माण समय का कोई ट्रैक नहीं है। आप केवल उपयोग कर सकते हैं:

  • सामग्री का अंतिम संशोधन समय (एक रचना पाठ्यक्रम के संशोधन के रूप में गिना जाता है) mtime,
  • अंतिम पहुंच समय atime,
  • मेटा डेटा के अंतिम संशोधन समय, ctime

यदि आप इन समयों के आधार पर परीक्षण वाली फ़ाइलों की तलाश करना चाहते हैं, find( man find) आपकी सहायता कर सकते हैं।

आप अपनी वर्तमान निर्देशिका और उसकी उपनिर्देशिकाओं में ठीक 30 मिनट पहले एक्सेस की गई फ़ाइल को खोजने के लिए इसका उपयोग करेंगे:

find -amin 30

आमतौर पर, आप एक अंतराल का उपयोग करना चाहते हैं क्योंकि सटीक संख्या में मिनट देना मुश्किल हो सकता है:

find -amin +25 -amin -35

यह 25 से अधिक लेकिन 35 मिनट से कम समय तक एक्सेस की गई फ़ाइलों को खोजेगा।

और अगर आप केवल संशोधन के समय में रुचि रखते हैं और एक्सेस (यानी पढ़ने) के समय में नहीं, तो -aminसाथ बदलें -mmin


आप atime नहीं चाहते हैं atime पहुंच का समय है।
ctrl-alt-delor

@richard ओपी ने यह नहीं बताया कि उसका क्या मतलब था ... वैसे भी मैंने mtimeजवाब में बहुत कुछ कहा
lgeorget

1
@ lgeorget जब मैं उपयोग -mtime 30करता हूं तो वह 30 दिन पुरानी फाइलें दिखा रहा था।
अरविंद

@ user2910201 अप्स ने मुझे बेवकूफ बनाया। Xtimeविकल्प दिनों के लिए हैं और Xminमिनटों के लिए विकल्प हैं । मेरा बुरा, मैं उत्तर को संपादित करता हूं
लैजेटगेट

2
@ user2910201 लेकिन ध्यान दें कि आप Xtimeकिसी भी उचित समय इकाई के साथ 30mतीस मिनट या 5dपांच दिनों के लिए उपयोग कर सकते हैं
lgeorget

3

आप ऐसा करने के mtimeलिए उपयोग कर सकते हैं :

find . -mmin 30    #exactly 30 minutes old

यह आप फ़ाइलें जो था बता देंगे createdया modified30 मिनट वापस
g4ur4v

@ g4ur4v जब मैं इसका उपयोग -mminकर रहा हूँ -mminतो यह एक वैध विकल्प नहीं है
अरविंद

इसे आज़माएं:find /path -mtime +30m
ryekayo

यकीन नहीं है कि यह क्यों नहीं पहचान -mminरहा है, मैंने उस आदेश का उपयोग करके कई उदाहरण
देखे हैं

3

के बिना GNU/BSD find

TZ=ZZZ0 touch -t "$(TZ=ZZZ0:30 date +%Y%m%d%H%M.%S)" /reference/file

और फिर find . -newer /reference/file

समाधान स्टीफन चेज़लस द्वारा दिया गया

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