atime, ctime 및 mtime을 사용하여 찾는 방법 알아보기

atime, ctime 및 mtime을 사용하여 찾는 방법 알아보기

그래서 제목에 나온 세 가지 아이디어의 차이점을 이해합니다.

  1. atime -- 액세스 시간 = 파일이 마지막으로 열린 시간

  2. mtime -- 수정 시간 = 파일 내용이 마지막으로 수정된 시간

  3. ctime -- 변경 시간 = 파일 inode가 마지막으로 수정된 시간

그래서 아마도 내가 다음과 같은 것을 입력할 때

find ~/Documents -name '*.py' -type f -mtime 14

지난 2주 동안 수정되었으며 .py로 끝나는 일치하는 모든 파일을 찾습니다. 아무것도 표시되지 않습니다...

그래서 난 노력해

find ~/Documents -name '*.py' -type f -atime 1400

지난 1400일 동안 열린 모든 항목(.py로 끝나고 유형 파일이 있음)과 일치해야 하지만 여전히 아무것도 없습니다.

제가 문서를 잘못 이해한 걸까요? 예를 들어, 이것은 1400일을 의미합니까?

관련 게시물:

mtime 및 ctime 옵션 찾기

답변1

네, -mtime 14정확히 14를 의미합니다. GNU 매뉴얼("TESTS" 레이블이 붙음)에서 이 섹션의 상단을 참조하세요 find. 여기서 "숫자 인수는 [...]으로 지정할 수 있습니다"라고 되어 있습니다.

Numeric arguments can be specified as

+n     for greater than n,

-n     for less than n,

n      for exactly n.

"보다 작다"는 "보다 작다"를 의미합니다.엄격하게미만"은 -mtime -14"마지막 수정 시간이 현재 시간, 13일 이하"를 의미하며, -mtime +14이는 "마지막 수정 시간이 현재 시간, 15일 이하"를 의미합니다.

답변2

find ~/Documents -name "*.py" -type f -mtime 14 - 정확히 14일 전

find ~/Documents -name "*.py" -type f -mtime +14 - 14일 이상 전

find ~/Documents -name "*.py" -type f -mtime -14 - 14일 이내

나머지 말씀은 맞는 것 같습니다.

답변3

이러한 -*time 문은 다음 알고리즘을 충족하는 파일을 반환합니다(여기서시간파일이 수정된 시간입니다):

~을 위한

찾기 시간N

int(hours/24) == n

찾기 시간-N

int(hours/24) < n

찾기 시간+n

int(hours/24) > n

예를 들어 -mtime 1을 찾으세요.

24~47시간 된 파일과 일치합니다.

찾기 시간 +0

24시간 이상 된 파일과 일치합니다.

관련 정보