Bagaimana saya bisa memverifikasi yang file2
terakhir diubah setelah itu file1
?
Dalam contoh ini, perl
dimodifikasi lebih baru daripada stack
. Apakah ada perintah bash atau Linux yang dapat membandingkan file-file ini berdasarkan waktu modifikasi?
-rw-r--r-- 1 root root 1577 Sep 7 22:55 stack
-rwxr-xr-x 1 root root 626 Sep 7 23:10 perl
-ot
"lebih tua dari".Diambil dari ' man test '. Kutipan:
sumber
Cara lain untuk melakukan ini:
akan mengembalikan nol jika file2 lebih tua atau seusia dengan file1. Ini akan mengembalikan nama (dan direktori) file2 jika lebih baru.
Ketahuilah bahwa Linux tidak melacak kapan file dibuat. Tes-tes ini adalah untuk tanggal dan waktu modifikasi terbaru.
sumber
ctime
bukan waktu pembuatan. Ini adalah waktu perubahan inode dan diperbarui ketika atribut file seperti pemilik atau izin atau diubah atau ketika Anda memodifikasi file. Beberapa sistem file mendukung waktu kelahiran, tetapi kernel tidak. Stat menunjukkan waktu kelahiran yang kosong. Lihat unix.stackexchange.com/a/91200 Perhatikan bahwa OS X mendukung waktu kelahiranstat -f %SB filename
debugfs
untuk melihat waktu pembuatan (kelahiran) di Linux.Jika Anda ingin informasi lebih rinci, Anda dapat menggunakan
stat
perintahsumber
Jika hasilnya> 0, file pertama lebih baru. (Lebih baru dalam hal modifikasi terakhir, bukan waktu pembuatan, yang disimpan di linux).
sumber
Menurut tautan ini, unix tidak menyimpan tanggal pembuatan. http://www.issociate.de/board/post/302628/How_to_check_file_creation_date.html
Tetapi apakah menyimpan akses terakhir.
untuk akses terakhir
ls menampilkan setiap file pada baris baru.
jadi ls -t menampilkan file terbaru di baris pertama dll.
Anda dapat menggunakan sed untuk memilih baris pertama.
ls -t php.exe php.ini | sed -n '1p' php.ini
bisa lakukan
-lt
meskipun Anda akan melihat bahwa jika Anda tidak menentukan file apa pun .. dan itu direktori .. maka memberikan total pada baris pertama, sehingga Anda memilih baris kedua seperti$ls -lt | sed -n '2p'
Yang baik akan menjadi
atau
menampilkan 10 baris pertama agar file pertama diubah terlebih dahulu dan Anda dapat melihat yang mana
sumber
-t
adalah waktu modifikasi;-u
adalah waktu aksesBerikut ini adalah skrip kecil, yang saya lakukan:
sumber