다음 기능이 필요한 스크립트를 작성하고 싶습니다.
지난 24시간 동안 생성된 모든 파일을 나열합니다.
find
옵션과 함께 명령을 내리면ctime
변경된 모든 파일(권한 및 승자)이 나열됩니다.find . -ctime -1
하지만 지난 24시간 동안 수정되거나 변경되지 않은 새 파일 목록이 필요합니다.
지난 24시간 동안 삭제된 모든 파일을 나열합니다. 파일을 삭제한 경우 이러한 파일 이름을 어떻게 얻을 수 있습니까?
파일의 생성 시간(생성 시간)을 가져오는 방법입니다. 명령에는
stat
파일의 생성 시간을 제공하는 형식이 있습니다.%w Time of file birth, human-readable; - if unknown
%W Time of file birth, seconds since Epoch; 0 if unknown
abc@123:# stat -c %w tzls.txt - abc@123:#
그러나 아무런 출력도 제공하지 않습니다. 내 리눅스 파일 시스템은 ext3입니다.
답변1
"created" 속성이 존재하지 않기 때문에 많은 Linux 파일 시스템에서는 이 작업을 직접 수행할 수 없습니다. 이 링크 중 일부를 읽어보고 싶을 수도 있습니다.
정말로 삭제된 파일을 찾아야 한다면만들어진지난 24시간 동안 일어난 일과 다르게 지난 24시간 동안생성 또는 변경, 두 가지 옵션이 있습니다:
find
1 생성 날짜를 지원하는 파일 시스템으로 전환하고 와 의 조합을 사용하여 stat --format '%w'
해당 파일 목록을 가져옵니다.
224시간마다 실행 find / -type f
하여 현재 실행 결과와 마지막 실행 결과를 비교합니다. 다음과 같이 작동하며 24시간마다 실행됩니다.
#!/bin/bash
#
test -f /tmp/today && mv -f /tmp/today /tmp/yesterday
find / -type f | sort > /tmp/today
test -f /tmp/yesterday && comm -13 /tmp/yesterday /tmp/today