Перейти к содержимому

Получить дату последнего изменения файла в Linux

109

Я новичок в Linux. Я использую командную строку. Я пытаюсь просмотреть дату последнего изменения файла. Как мне это сделать в Linux из командной строки?

309 208 просмотров
user70192 спросил 12 лет назад
U 664

6 ответов

94
Принятый ответ

Как упомянуто @ edvinas.me, statсообщает вам различную информацию о файле, включая дату последнего изменения.

Сначала я был перепутан с Модификацией и Изменением, просто чтобы уточнить, statвыходные списки:

  • Доступ показывает время последнего доступа к данным (например, чтение).
  • Modify показывает время последней модификации данных.
  • Изменение показывает время последнего изменения статуса файла.

Например:

~ $ 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: - 
nephewtom ответил 10 лет назад
N 1 096
57

Use stat command for that:

$ stat file 

Если вам нужна только последняя измененная дата (в удобочитаемой форме), используйте stat -c '% y' file

Adam Taylor · 11 лет назад · 19
phoops ответил 12 лет назад
P 2 742
17

Другой способ, который является более гибким, использует 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 

Да, очень полезно, спасибо. Вот функция bash, которая переименует файл с префиксом измененного времени: function mvfilestime () " = "x"]; затем выведите «mvfilestime: отсутствует аргумент файла для mv», иначе f = $ (дата + «% Y-% m-% d-% H-% M» -r $ ) - $ echo mv $ $ mv $ $ fi}

Traveler · 8 лет назад · 1
Sparhawk ответил 8 лет назад
S 721
14

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 
Linh Hoang ответил 10 лет назад
L 141
2

Если файл находится на другом веб-сервере, мне нравится httpie( docs ).

Монтаж

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(например, кажется, что суперпользователь этого не делает).

Martin Thoma ответил 9 лет назад
M 1 472
1

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/

Jon Harper ответил 7 лет назад
J 11