18/09/2018, 09:52

Hướng dẫn tìm file mới sửa đổi trên Linux

Có rất nhiều lí do để tìm kiếm file vừa mới bị sửa đổi hay tạo ra trên hệ thống Linux hoặc bất kì khung thời gian nào. Ví dụ, là một quản trị viên hệ thống, bạn mới thực hiện một vài cấu hình nhưng không nhớ nơi lưu chúng. Bạn muốn xác minh có ai xâm nhập vào hệ thống của mình gần đây hay không, ...

Có rất nhiều lí do để tìm kiếm file vừa mới bị sửa đổi hay tạo ra trên hệ thống Linux hoặc bất kì khung thời gian nào. Ví dụ, là một quản trị viên hệ thống, bạn mới thực hiện một vài cấu hình nhưng không nhớ nơi lưu chúng. Bạn muốn xác minh có ai xâm nhập vào hệ thống của mình gần đây hay không, bài hướng dẫn sau sẽ giúp bạn dễ dàng tìm file mới sửa đổi trên hệ thống máy chủ của bạn.

Bạn có thể sử dụng lệnh find như dưới đây để tìm kiếm file mới được sửa đổi.

$ find /etc -type f -printf '%TY-%Tm-%Td %TT %p
' | sort -r
2012-09-14 22:25:14.0000000000 /etc/shadow
2012-08-17 00:56:36.0000000000 /etc/resolv.conf
2012-08-16 23:22:57.0000000000 /etc/ld.so.cache
2012-08-16 23:22:29.0000000000 /etc/mtab
2012-08-16 23:22:04.0000000000 /etc/network/run/ifstate
2012-07-10 01:19:24.0000000000 /etc/papersize
... 

Dòng lệnh trên sắp xếp file trong thư mục /etc (và tất cả thư mục con), theo thứ tự thời gian
Để tìm file trong một chỉ mục và chỉ mục con bị thay đổi trong vòng 60 phút trước:

$ find /target_directory -type f -mmin -60

Để tìm file trong một chỉ mục và chỉ mục con bị thay đổi trong vòng 2 ngày trước :

$ find /target_directory -type f -mtime -2

Để tìm file trong một chỉ mục và chỉ mục con với ba mức bị thay đổi trong vòng 2 ngày trước:

$ find /target_directory -type f -mtime -2 -depth -3

Bạn cũng có thể thay đổi phạm vi thời gian. Để tìm file trong một chỉ mục và chỉ mục con bị thay đổi trong vòng dưới 7 ngày và trên 3 ngày trước:

$ find /target_directory -type f -mtime -7 ! -mtime -3

Tất cả lệnh trên chỉ in ra vị trí của file phù hợp. Bạn có thể lấy chi tiết thuộc tính file mới bị thay đổi thông qua “-exec”.

Để tìm file trong một chỉ mục và chỉ mục con với ba mức bị thay đổi trong vòng 60 phút trước và in ra thuộc tính file:

$ find /target_directory -type f -mmin -60 -exec ls -al {} ;

Ngoài ra bạn cũng có thể dùng xargs

$ find /target_directory -type f -mmin -60 | xargs ls -l

xmodulo

0