Câu trả lời:
Nếu thư mục tìm kiếm srch_dir
thì hoặc
$ find srch_dir -cmin -60 # change time
hoặc là
$ find srch_dir -mmin -60 # modification time
hoặc là
$ find srch_dir -amin -60 # access time
hiển thị các tập tin được tạo, sửa đổi hoặc truy cập trong giờ qua.
sửa: ctime là để thay đổi thời gian nút (mặc dù không chắc chắn, xin vui lòng sửa cho tôi)
Các hệ thống tập tin UNIX (nói chung) không lưu trữ thời gian tạo. Thay vào đó, chỉ có thời gian truy cập, thời gian sửa đổi (dữ liệu) và thời gian thay đổi (inode).
Điều đó đang được nói, find
có -atime
-mtime
-ctime
vị ngữ:
$ man 1 tìm ... -tần n Chính sẽ đánh giá là đúng nếu thời điểm thay đổi cuối cùng của thông tin trạng thái tệp được trừ từ thời gian khởi tạo, chia cho 86400 (với bất kỳ phần còn lại bị loại bỏ), là n. ...
Do đó, find -ctime 0
tìm thấy mọi thứ mà inode đã thay đổi (ví dụ bao gồm tạo tệp, nhưng cũng tính số lượng liên kết và quyền và thay đổi kích thước tệp) chưa đầy một giờ trước.
-ctime
vv là theo đơn vị ngày chứ không phải giờ.
kiểm tra liên kết này và sau đó giúp mình
mã cơ bản là
#create a temp. file
echo "hi " > t.tmp
# set the file time to 2 hours ago
touch -t 200405121120 t.tmp
# then check for files
find /admin//dump -type f -newer t.tmp -print -exec ls -lt {} \; | pg
touch
tạo tập tin nếu nó chưa tồn tại
find ./ -cTime -1 -type f
HOẶC LÀ
find ./ -cmin -60 -type f
sudo find / -Bmin 60
Từ man
trang:
-Bmin n
Đúng nếu chênh lệch giữa thời gian tạo inode của tệp và thời gian
find
được bắt đầu, được làm tròn đến phút đầy đủ tiếp theo, là n phút.
Rõ ràng, bạn có thể muốn thiết lập một chút khác nhau, nhưng chính này có vẻ là giải pháp tốt nhất để tìm kiếm bất kỳ tệp nào được tạo trong N phút cuối .
find (GNU findutils) 4.6.0
không có -B
vị ngữ
Kiểm tra liên kết này để biết thêm chi tiết.
Để tìm các tệp được tạo trong một giờ qua trong thư mục hiện tại, bạn có thể sử dụng -amin
tìm thấy . -amin -60 -type f
Điều này sẽ tìm thấy các tập tin được tạo ra trong 1 giờ qua.
find
mà tôi đang sử dụng. OP cho biết Unix và tôi nghĩ đây chỉ là Linux.