it-swarm.com.de

Datum der letzten Änderung der Datei in Linux abrufen

Ich bin neu in Linux. Ich benutze die Kommandozeile. Ich versuche, das letzte Änderungsdatum einer Datei anzuzeigen. Wie mache ich das unter Linux von der Kommandozeile aus?

126
user70192

Wie von @ edvinas.me erwähnt, enthält stat verschiedene Informationen zu der Datei, einschließlich des Datums der letzten Änderung.

Anfangs war ich verwechselt mit Modify und Change , nur um zu verdeutlichen, stat Ausgabelisten:

  • Zugriff zeigt den Zeitpunkt des letzten Datenzugriffs an (z. B. Lesen).
  • Modify zeigt den Zeitpunkt der letzten Datenänderung an.
  • Change zeigt an, wann sich der Dateistatus zuletzt geändert hat.

Zum Beispiel:

~ $ 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: -
113
nephewtom

Verwenden Sie dazu den Befehl stat:

$ stat file
61
phoops

Ein anderer flexiblerer Weg ist die Verwendung von date -r. Von man date:

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

Dies hat den Vorteil, dass Sie das Ausgabeformat festlegen können, z.

$ 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
27
Sparhawk

ls -l sollte die Arbeit machen.

Beispiel:

#> 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
14
Linh Hoang

Wenn sich die Datei auf einem anderen Webserver befindet, mag ich httpie ( docs ).

Installation

pip install httpie --user

Verwendungszweck

Der Befehl -h gibt nur den Header aus. Das Muster ist

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

Beispiel:

$ 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

Die Date ist wichtig, da hier die Serverzeit und nicht Ihre Ortszeit angegeben wird. Außerdem sendet nicht jeder Server Last-Modified (z. B. scheint Superuser dies nicht zu tun).

2
Martin Thoma

1) Dateiverzeichnis mit Datum und Uhrzeit der letzten Änderung auflisten

Um Dateien aufzulisten und die zuletzt geänderten Dateien oben anzuzeigen, verwenden wir die Optionen -lt mit dem Befehl 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/

1
Jon Harper