Yes, "modified file's data" (mtime
) means that the content was modified. This date can be manually changed (e.g. with touch
).
Yes, "changed file's status" (ctime
) means that either the content was changed, or the file's metadata (permission, owner, etc). This can not be changed manually.
Example:
$ date > foo
$ ls -l --full-time foo; ls -lc --full-time foo # Both times have changed
-rw-r--r-- 1 xhienne xhienne 29 2017-01-18 13:40:07.677161702 +0100 foo
-rw-r--r-- 1 xhienne xhienne 29 2017-01-18 13:40:07.677161702 +0100 foo
$ chmod o-r foo
$ ls -l --full-time foo; ls -lc --full-time foo # Only ctime has changed
-rw-r----- 1 xhienne xhienne 29 2017-01-18 13:40:07.677161702 +0100 foo
-rw-r----- 1 xhienne xhienne 29 2017-01-18 13:40:29.601161310 +0100 foo
$ date >> foo
$ ls -l --full-time foo; ls -lc --full-time foo # Again, both times have changed
-rw-r----- 1 xhienne xhienne 58 2017-01-18 13:40:51.297160921 +0100 foo
-rw-r----- 1 xhienne xhienne 58 2017-01-18 13:40:51.297160921 +0100 foo
Your file is not found because your find
predicates -mtime 1
and -ctime 1
search for a file that was modified yesterday (more exactly between 24h ago and 48h ago). For a file that is modified today, use either -mtime 0
or -mtime -1
(same for -ctime
).
Example:
$ find -name foo -mtime 1 -ctime 1
$ find -name foo -mtime 0 -ctime 0
./foo
$ find -name foo -mtime -1 -ctime -1
./foo