모든 파일의 위치를 ​​찾는 방법은 무엇입니까?

모든 파일의 위치를 ​​찾는 방법은 무엇입니까?

나는 내용이 익숙하지 않은 상당히 큰 디렉토리 트리를 가지고 있으며 거기에 매우 큰 디렉토리가 묻혀 있다고 믿을만한 이유가 있습니다. 그들이 어디에 있는지 어떻게 알 수 있나요?

문맥:나는 수년에 걸쳐 많은 파일을 남겨둔 웹 애플리케이션을 정리하고 있습니다. 수십만 개의 작은 오래된 "session.*" 파일이 포함된 디렉토리를 찾아서 지웠지만 find계층 구조 위로 명령이 여전히 매우 느립니다.

트리가 충분히 커서 이것이 ls -RC | less매력적인 솔루션이 아닙니다. 디스크 공간을 많이 차지하는 디렉토리를 찾으려면 를 사용합니다 du -s *. 가장 많은 파일이 포함된 디렉토리를 찾으려면 어떻게 해야 합니까?

편집하다:du --inodes이것은 오래된 서버에 있으므로 파일 수를 계산 하는 데 사용할 수 없습니다 . 대부분의 독자에게는 이것이 아마도 최선의 해결책일 것입니다.

답변1

du --inodes *

만두:

   --inodes
          list inode usage information instead of block usage

답변2

du --inodes이 없는 오래된 배포판에서는

find . -type d -ls | sort -n -k7,7

모든 디렉터리는 크기가 커지는 순서대로 나열되므로 목록 끝에 가장 많은 파일이 있는 디렉터리(또는 특정 순간에 가장 많은 파일이 포함된 디렉터리)가 표시됩니다. 명령 find을 실행하는 데 시간이 걸릴 수 있지만 이에 대해 할 수 있는 일은 없습니다. 분할 정복 du접근 방식을 사용하더라도 디스크에서 동일한 양의 정보를 읽어야 합니다.

답변3

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

du --inodes * |sort -nr 

du --inodes *디렉토리별로 파일 수를 제공 sort -nr하고 이 번호를 내림차순으로 정렬합니다.

관련 정보