지난 24 시간 동안 변경된 파일 찾기


265

예를 들어 MySQL 서버가 Ubuntu 컴퓨터에서 실행 중입니다. 지난 24 시간 동안 일부 데이터가 변경되었습니다.

지난 24 시간 동안 변경된 파일을 찾을 수있는 (Linux) 스크립트는 무엇입니까?

파일 이름, 파일 크기 및 수정 된 시간을 나열하십시오.


답변:


479

특정 특정 디렉토리 및 해당 서브 디렉토리에서 지난 24 시간 (마지막 하루 종일)으로 수정 된 모든 파일을 찾으려면 다음을 수행하십시오.

find /directory_path -mtime -1 -ls

당신의 취향에 있어야합니다

-전에 1중요하다 - 그것은 아무것도 덜 전에 하루를 변경하거나 의미한다. A는 +이전 1대신 평균 무엇이든은이 전에 아무것도없는 동안, 적어도 하나 일 전 변경하지 않을 것이다 1이 변경되었습니다 의미 한 것보다 적게, 더 이상 하나 일 전 강요.


17
좋은! 지난 2 시간은 어때요?
JackWM

114
mtime 대신 "-mmin -120"사용
Xavjer

1
-숫자 값 앞에?
EsseTi

6
-mtime에 대한 인수는 파일 나이의 전체 일수로 해석됩니다. -mtime + n은보다 큰 것을 의미하고, -mtime -n은보다 작은 것을 의미합니다.
Xavjer

3
독자하려면 다음을 제거하는 것을 잊지 마세요 -ls스크립트에서 사용하는 경우
연상

41

당신은 그것을 할 수 있습니다

find . -mtime 0

보낸 사람 man find:

각 파일이 마지막으로 수정 된 이후의 시간은 24 시간으로 나누어 나머지는 버려집니다. 즉, -mtime 0과 일치하려면 파일이 과거 24 시간 전에 수정되어야합니다.


25

더 인간적인 방법 :

find /<directory> -newermt "-24 hours" -ls

또는:

find /<directory> -newermt "1 day ago" -ls

또는:

find /<directory> -newermt "yesterday" -ls

11

GNU 호환 시스템 (예 : Linux) :

find . -mtime 0 -printf '%T+\t%s\t%p\n' 2>/dev/null | sort -r | more

지난 24 시간 동안 수정 된 파일과 디렉토리가 표시됩니다 ( -mtime 0). 마지막으로 수정 된 시간을 정렬 가능하고 사람이 읽을 수있는 형식 ( %T+), 파일 크기 ( %s), 전체 파일 이름 ( %p), 각각 탭 ( \t)으로 구분 된 형식으로 나열 합니다 .

2>/dev/null오류 메시지가 물을 흐릿하게 만들지 않도록 stderr 출력을 버립니다. sort -r가장 최근에 수정 된 순서대로 결과를 정렬합니다. 그리고 | more목록을 한 번에 하나의 결과 페이지입니다.


2
| less대신에 사용할 수도 있습니다 | more.
Stephen G Tuggy

7

나 자신을 포함하여 앞으로 여기에 오는 다른 사람들을 위해 -name 옵션을 추가하여 특정 파일 형식을 찾으십시오. find /var -name "*.php" -mtime -1 -ls


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.