GNU/Linux >> Belajar Linux >  >> Linux

cap waktu, waktu modifikasi, dan waktu pembuatan file

Ada 3 jenis "stempel waktu":

  • Akses - terakhir kali file dibaca
  • Ubah - terakhir kali file diubah (konten telah diubah)
  • Ubah - terakhir kali meta data file diubah (mis. izin)

Untuk menampilkan informasi ini, Anda dapat menggunakan stat yang merupakan bagian dari coreutils.

stat akan menunjukkan kepada Anda juga beberapa informasi lainnya seperti perangkat, inode, tautan, dll.

Ingatlah bahwa informasi semacam ini sangat bergantung pada sistem file dan opsi mount. Misalnya jika Anda memasang partisi dengan noatime opsi, tidak ada informasi akses yang akan ditulis.

Utilitas untuk mengubah stempel waktu adalah touch .Ada beberapa argumen untuk memutuskan stempel waktu mana yang akan diubah (misalnya -a untuk waktu akses, -m untuk waktu modifikasi) dan untuk memengaruhi penguraian stempel waktu baru yang diberikan. Lihat man touch untuk detail lebih lanjut.

touch dapat berguna jika dikombinasikan dengan cp -u ("salin hanya jika file SUMBER lebih baru dari file tujuan atau jika file tujuan tidak ada" ) atau untuk pembuatan file penanda kosong.


Jawaban dari echox valid tetapi saya ingin menambahkan informasi mengenai waktu pembuatan file.

Dukungan Sistem File

Beberapa sistem file mendukung entri tambahan di inode mengenai waktu pembuatan (atau waktu lahir). Saya tahu bahwa ext4 mendukung fitur ini dan juga JFS dan BTRFS.

Namun sebagian besar alat dan API belum diperbarui untuk membaca informasi tambahan ini. Jadi meskipun bisa ada di sana, itu tidak dapat diakses.

Misalnya di Ubuntu 12.04 LTS saya mendapatkan yang berikut untuk file yang saya buat hari ini:

$ echo Just another test > /tmp/mytest
$ sleep 3
$ touch /tmp/mytest
$ sleep 2
$ cat /tmp/mytest > /dev/null
$ stat /tmp/mytest 
[...]
Access: 2012-06-05 13:33:44.279774711 +0200
Modify: 2012-06-05 13:33:34.611893317 +0200
Change: 2012-06-05 13:33:34.611893317 +0200
 Birth: -
$ sudo debugfs -R 'stat /tmp/mytest' /dev/sda1
[...]
 ctime: 0x4fcdee8e:91e30114 -- Tue Jun  5 13:33:34 2012
 atime: 0x4fcdee98:42b417dc -- Tue Jun  5 13:33:44 2012
 mtime: 0x4fcdee8e:91e30114 -- Tue Jun  5 13:33:34 2012
crtime: 0x4fcdee46:01258f1c -- Tue Jun  5 13:32:22 2012
[...]

Anda dapat melihat bahwa fungsi stat yang lebih baru memiliki bidang kelahiran, meskipun keluarannya tampaknya salah. Dan melalui debugfs kita bisa mendapatkan informasinya (crtime karena saya menggunakan sistem file ext4).

dukungan statx

Sekarang sejak Kernel 4.11 panggilan sistem statx baru, di atas dukungan yang lebih baik dari Y2038 atau sistem file jaringan, itu juga membawa beberapa fitur tambahan seperti btime atau akses waktu lahir (waktu pembuatan). Dukungan untuk ext4 harus dalam rilis kernel 4.11 yang sama.

Ada tambalan untuk menambahkan dukungan ke syscall baru ini di rilis Kernel selanjutnya:mis. BTRFS dan F2FS di Kernel 4.13, SMB3 di 4.14, GFS2 di 4.15, NFS di 4.16, dll.

Glibc yang akan datang akan menyediakan pemanggilan fungsi untuk menanyakan antarmuka ini (lihat berita Phoronix tentang dukungan statx glibc). Jadi, kami dapat mengharapkan dukungan untuk fitur ini di ruang pengguna segera.


Linux
  1. Dapatkan Usia File yang Diberikan?

  2. Output Ke Stdout Dan Pada Saat Yang Sama Grep Ke File?

  3. Izin File Dan Menyimpan?

  1. Apa yang Dihitung Sebagai Modifikasi atau Perubahan File?

  2. Dapatkan File Dibuat/Waktu pembuatan??

  3. Ubuntu – Linux – Waktu Perubahan File Versus Waktu Modifikasi?

  1. Tune2fs:Di Zona Waktu Apa Tanggal Dibuat Dan Apakah Mungkin Untuk Mengubahnya?

  2. Menginstal dan mengonfigurasi vsFTPD

  3. Memahami stempel waktu file Mac