
수정 날짜를 기준으로 어떤 파일이 수정될지 확인하려고 합니다. 내 디렉터리는 여러 수준의 하위 디렉터리가 있을 수 있는 목록의 맨 위에 있습니다.
터미널 창에서 다음 명령을 실행합니다.
find Program.8.koeb/ -mtime -10
지난 10일 동안 수정된 파일 목록을 올바르게 생성합니다. 그러나 find
이 명령을 사용하여 수정하려는 파일을 확인하기 위해 이 목록을 쿼리하려면 다음 명령을 실행합니다.
find Program.8.koebe/ -mtime -10 -exec ls -gotrhR {} \;
현재 작업 디렉터리(하위 디렉터리 포함)의 디렉터리와 find
Look에 할당된 지정된 디렉터리에 있는 모든 파일의 긴 목록을 생성합니다. 따라서 -exec ls -gotrhR {} \;
다음과 동일한 출력이 생성되는 것 같습니다.
find . -mtime -10 -exec ls -gotrhR {} \;
이것은 내 의도가 아닙니다.
답변1
-exec ls -l {}가 이러한 디렉터리를 포함하고 나열하므로 "-type f"만 추가하세요.
답변2
에 디렉터리를 전달하면 ls
디렉터리 자체가 아닌 해당 디렉터리에 있는 파일이 나열됩니다. 하위 디렉터리의 파일을 반복적으로 나열 하려면 이 -R
플래그를 사용합니다. 내용 대신 디렉토리를 ls
나열하려면 이 옵션을 전달하십시오.ls
-d
-t
플래그는 -r
정렬에만 영향을 미치고 한 번에 하나씩 파일을 나열하므로 쓸모가 없습니다.
find Program.8.koebe/ -mtime -10 -exec ls -gohd {} \;
-printf
GNU find를 사용하면 외부 명령을 호출하는 대신 사용할 수 있습니다 . 출력 형식은 유사하지만 동일하지는 않습니다.
find Program.8.koebe/ -mtime -10 -printf '%M %n %s %M %c %p\n'