लिनक्स में फ़ाइल की अंतिम संशोधित तिथि प्राप्त करें


149

मैं लिनक्स के लिए नया हूँ। मैं कमांड-लाइन का उपयोग कर रहा हूं। मैं फ़ाइल की अंतिम संशोधित तिथि देखने का प्रयास कर रहा हूं। मैं कमांड लाइन से लिनक्स में कैसे करूं?


25
ls -lभी काम करता है ...
डैनियल बेक

1
का डुप्लीकेट superuser.com/questions/612099/...
Oldskool

1
@DanielBeck ls -lसंशोधित तिथि या निर्माण तिथि है?
ब्रूनो बीरी

1
@BrunoBieri यह संशोधन की तारीख है। देखते हैं man ls। विशिष्ट लिनक्स फ़ाइल सिस्टम निर्माण तिथि को भी ट्रैक नहीं करते हैं - ट्रैक के प्रकारों के लिए स्वीकृत उत्तर देखें।
डैनियल बेक

जवाबों:


133

जैसा कि @ edvinas.me द्वारा बताया गया है, statआपको अंतिम संशोधित तिथि सहित फ़ाइल के बारे में विभिन्न जानकारी बताता है।

सबसे पहले, मैं संशोधित और बदलें , statउत्पादन सूची को स्पष्ट करने के लिए उलझन में था :

  • एक्सेस अंतिम डेटा एक्सेस का समय दिखाता है (उदाहरण के लिए पढ़ें)।
  • संशोधित अंतिम डेटा संशोधन का समय दिखाता है।
  • परिवर्तन उस समय को दिखाता है जब फ़ाइल की स्थिति अंतिम बार बदल गई थी।

उदाहरण के लिए:

~ $ touch foo
~ $ stat foo
File: ‘foo’
Size: 0             Blocks: 0          IO Block: 4096   regular empty file
Device: fc01h/64513d    Inode: 410397      Links: 1
Access: (0644/-rw-r--r--)  Uid: (80972/ etomort)   Gid: (18429/  eem_tw)
Access: 2015-09-21 12:06:11.343616258 +0200
Modify: 2015-09-21 12:06:11.343616258 +0200
Change: 2015-09-21 12:06:11.343616258 +0200
Birth: -

~ $ echo "Added bar to foo file" >> foo
~ $ stat foo
File: ‘foo’
Size: 42            Blocks: 8          IO Block: 4096   regular file
Device: fc01h/64513d    Inode: 410654      Links: 1
Access: (0644/-rw-r--r--)  Uid: (80972/ etomort)   Gid: (18429/  eem_tw)
Access: 2015-09-21 12:09:31.298712951 +0200
Modify: 2015-09-21 12:09:31.298712951 +0200
Change: 2015-09-21 12:09:31.302713093 +0200
Birth: -

~ $ chmod 444 foo
~ $ stat foo
File: ‘foo’
Size: 42            Blocks: 8          IO Block: 4096   regular file
Device: fc01h/64513d    Inode: 410654      Links: 1
Access: (0444/-r--r--r--)  Uid: (80972/ etomort)   Gid: (18429/  eem_tw)
Access: 2015-09-21 12:09:31.298712951 +0200
Modify: 2015-09-21 12:09:31.298712951 +0200
Change: 2015-09-21 12:10:16.040310543 +0200
Birth: -

65

उसके लिए statकमांड का उपयोग करें :

$ stat file

27
यदि आप केवल अंतिम संशोधित तिथि (मानव-पठनीय रूप में) चाहते हैं, तो उपयोग करेंstat -c '%y' file
एडम टेलर

35

एक और तरीका जो अधिक लचीला है वह उपयोग कर रहा है date -r। से man date:

-r, --reference=FILE
       display the last modification time of FILE

यह आपको आउटपुट स्वरूप निर्दिष्ट करने की अनुमति देने का लाभ है, उदाहरण के लिए

$ date -r foo
Thu Aug 31 10:36:28 AEST 2017
$ date -r foo -R
Thu, 31 Aug 2017 10:36:28 +1000
$ date -r foo -u
Thu Aug 31 00:36:28 UTC 2017
$ date -r foo +%s
1504139788

3
हाँ, बहुत उपयोगी, धन्यवाद। यहां एक बैश फ़ंक्शन है जो संशोधित समय से पूर्वनिर्मित होने के लिए एक फ़ाइल का नाम बदलेगा: फ़ंक्शन mvfilestime () {अगर [x "$ {1}" = "x"]; तब इको "mvfilestime: फ़ाइल का गुम तर्क" mv "के लिए f = $ (दिनांक +"% Y-% m-% d-% H-% M "-r $ {1}) - $ {1} गूंज mv $ {1} $ {f} mv $ {1} $ {f} Fi}
ट्रैवलर

परिपूर्ण, स्वीकृत उत्तर होना चाहिए
एबी

15

ls -l काम करना चाहिए।

उदाहरण:

#> ls -l /home/TEST/
total 16

-rw-r--r--   1 rfmas1   nms          949 Nov 16 12:21 create_nd_lists.py

-rw-r--r--   1 rfmas1   nms            0 Nov 16 12:35 enb_list

-rw-r--r--   1 rfmas1   nms            0 Nov 16 12:35 nb_list

-rw-r--r--   1 rfmas1   nms            0 Nov 16 12:35 nodes_ip.txt

-rw-r--r--   1 rfmas1   nms            0 Nov 16 12:35 rnc_list

2

यदि फ़ाइल किसी अन्य वेबसर्वर पर है, तो मुझे पसंद है httpie( डॉक्स )।

स्थापना

pip install httpie --user

प्रयोग

-hआदेश केवल शीर्ष लेख देता है। पैटर्न है

http -h [url] | grep 'Last-Modified\|Date'

उदाहरण:

$ http -h https://martin-thoma.com/author/martin-thoma/ | grep 'Last-Modified\|Date'
Date: Fri, 06 Jan 2017 10:06:43 GMT
Last-Modified: Fri, 06 Jan 2017 07:42:34 GMT

यह Dateमहत्वपूर्ण है क्योंकि यह सर्वर समय की रिपोर्ट करता है, न कि आपके स्थानीय समय का। इसके अलावा, हर सर्वर भेजता नहीं है Last-Modified(जैसे सुपरयूज़र ऐसा नहीं करता है)।


2

1) अंतिम संशोधित तिथि / समय के साथ सूची फ़ाइलें निर्देशिका

फ़ाइलों को सूचीबद्ध करने और शीर्ष पर अंतिम संशोधित फ़ाइलों को दिखाने के लिए, हम कमांड वाले -ltविकल्पों का उपयोग करेंगे ls

$ ls -lt /run
output
total 24
-rw-rw-r--.  1 root utmp 2304 Sep  8 14:58 utmp
-rw-r--r--.  1 root root    4 Sep  8 12:41 dhclient-eth0.pid
drwxr-xr-x.  4 root root  100 Sep  8 03:31 lock
drwxr-xr-x.  3 root root   60 Sep  7 23:11 user
drwxr-xr-x.  7 root root  160 Aug 26 14:59 udev
drwxr-xr-x.  2 root root   60 Aug 21 13:18 tuned

https://linoxide.com/linux-how-to/how-sort-files-date-using-ls-command-linux/


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