Dapatkan Tanggal Terakhir Dimodifikasi File di Linux


149

Saya baru mengenal Linux. Saya menggunakan baris perintah. Saya mencoba melihat tanggal modifikasi terakhir dari suatu file. Bagaimana saya melakukannya di Linux dari Command Line?


25
ls -ljuga bekerja ...
Daniel Beck


1
@DanielBeck adalah tanggal dari tanggal ls -lyang diubah atau tanggal buat?
Bruno Bieri

1
@BrunoBieri Ini tanggal modifikasi. Lihat man ls. Sistem file Linux biasa bahkan tidak melacak tanggal pembuatan - lihat jawaban yang diterima untuk jenis tanggal yang dilacak.
Daniel Beck

Jawaban:


133

Seperti disebutkan oleh @ edvinas.me, statmemberi tahu Anda berbagai informasi tentang file termasuk tanggal terakhir yang dimodifikasi.

Pada awalnya, saya bingung dengan Ubah dan Ubah , hanya untuk memperjelas, statdaftar keluaran:

  • Akses menunjukkan waktu akses data terakhir (mis. Baca).
  • Modifikasi menunjukkan waktu modifikasi data terakhir.
  • Perubahan menunjukkan waktu status file terakhir kali diubah.

Sebagai contoh:

~ $ 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

Gunakan statperintah untuk itu:

$ stat file

27
Jika Anda hanya menginginkan tanggal modifikasi terakhir (dalam bentuk yang dapat dibaca manusia), gunakanstat -c '%y' file
Adam Taylor

35

Cara lain yang lebih fleksibel adalah menggunakan date -r. Dari man date:

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

Ini memiliki keuntungan memungkinkan Anda menentukan format output, misalnya

$ 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
Ya, sangat membantu, terima kasih. Berikut adalah fungsi bash yang akan mengganti nama file yang akan diawali oleh waktu yang dimodifikasi: function mvfilestime () {if [x "$ {1}" = "x"]; lalu echo "mvfilestime: Argumen file yang hilang ke mv" selain itu f = $ (tanggal + "% Y-% m-% d-% H-% M" -r $ {1}) - $ {1} echo mv $ {1} $ {f} mv $ {1} $ {f} fi}
Traveler

sempurna, harus menjadi jawaban yang diterima
AB

15

ls -l harus melakukan pekerjaan.

Contoh:

#> 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

Jika file ada di server web lain, saya suka httpie( docs ).

Instalasi

pip install httpie --user

Pemakaian

The -hperintah hanya memberikan header. Polanya adalah

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

Contoh:

$ 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

The Datepenting karena ini melaporkan waktu server, bukan waktu lokal Anda. Juga, tidak setiap server mengirim Last-Modified(mis. Pengguna super sepertinya tidak melakukannya).


2

1) Daftar direktori File dengan Tanggal / Waktu Terakhir Dimodifikasi

Untuk membuat daftar file dan menampilkan file yang terakhir dimodifikasi di atas, kami akan menggunakan -ltopsi dengan lsperintah.

$ 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/


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.