2일보다 오래된 파일을 표시하는 명령은 정확히 무엇입니까? 나는 다음과 같은 것을 생각했습니다.
$ find / -mtime -2
...하지만 발견된 파일의 날짜를 어떻게 인쇄해야 할지 모르겠습니다. 내 목표는 설치된 ntfs 시스템에서 지난 며칠 동안 새 파일이나 변경된 파일을 찾는 것입니다.
또한 최신 항목부터 오래된 항목 순으로 결과를 정렬하면 매우 도움이 됩니다. 그게 가능합니까?
답변1
48시간 이내에 생성되거나 수정된 파일
최신 항목부터 오래된 항목 순으로 정렬:
find / -mtime -2 -printf "%T@" -ls | sort
내가 찾은 날짜 %T@
: man find
마지막 수정 시간(에포크 이후 초)
답변2
xargs로 파이프하면 출력/형식 옵션을 쉽게 조정하여 ls
날짜 표시, 날짜별 정렬 등을 할 수 있습니다.
find / -type f -mtime -2 -print0 | xargs -0 ls -lt
답변3
덕분에 zsh에서는 더 쉽습니다.글로벌 예선.
print -l /**/*~/(proc|dev|sys)/*(m-2om)
/
여기에는 지난 2일 동안 수정된 또는 아래의 파일을 제외한 모든 파일이 나열됩니다 ( ). 파일은 수정 시간( )을 기준으로 역시간순으로 한 줄에 하나씩( ) 나열됩니다./proc
/dev
/sys
m-2
om
print -l
파일 메타데이터도 나열하려면 셸에서 정렬할 필요 없이 필터링만 하면 됩니다. 일치하는 파일이 너무 많으면 플랫폼에 따라 명령줄 길이 제한이 발생할 수 있습니다.
ls -dlt /**/*~/(proc|dev|sys)/*(m-2)
일반 파일만 일치시키려면 .
괄호 안에 추가하세요.
POSIX 도구만 사용하여 파일 목록을 ls -dlt
정렬하고 생성할 수 있습니다. find
마찬가지로, 일치하는 파일이 너무 많으면 플랫폼에 따라 명령줄 길이 제한이 발생할 수 있습니다. 일반 파일만 일치시키려면 -type f
before 또는 after 를 추가하세요 mtime -2
.
find / -mtime -2 -exec ls -dlt {} +
답변4
(참고: 질문의 문장 중 하나는 원래 날짜를 요청했는데, 날짜는 텍스트에서 2일 전이었지만 제목은 그 반대였습니다. 출력을 정렬해야 할 필요성도 나중에 소개되었습니다.)
find / -mtime -2 -ls
+2를 사용하면 2일보다 오래된 파일을 볼 수 있고, -2를 사용하면 2일 미만의 파일을 볼 수 있으며, 2:를 사용하면 2일보다 오래된 파일을 볼 수 있습니다.
-ls를 사용하면 파일 날짜를 볼 수 있는 ls -l과 유사한 출력을 얻게 됩니다.
find / -ctime -2 -ls
mtime 대신 ctime을 사용하면 수정 날짜 대신 생성 날짜를 얻을 수 있지만 이는 /etc/fstab의 파일 시스템 기능 및 설정에 따라 작동할 수도 있고 작동하지 않을 수도 있습니다.