준호씨의 블로그
현재 위치 기준으로 디렉터리들의 모든 하위디렉터리의 파일 개수 확인 하기. inode full을 해결하자 본문
파일 개수가 많아서 inode full 발생 시 파일을 정리해 줘야 되는 경우가 있습니다. 그런데 어느 디렉터리에 파일이 많은지 찾기가 어려울 때가 있습니다. 어느 디렉터리에 파일이 많은지 찾아보는 방법을 정리해 봅니다.
아래 커맨드는 현재 디렉터리를 기준으로 보이는 모든 디렉터리의 하위 디렉터리 포함한 파일 개수를 표시해 주는 명령어입니다.
$ find . -maxdepth 1 -mindepth 1 -type d -exec ls -ld "{}" \; -exec sh -c "find {} -type f | wc -l" \;
결과는 아래와 같이 나옵니다.
이 명령어를 어떻게 만들었는지 정리해 봅니다.
일단 현재 디렉터리 기준으로 directory들을 확인합니다.
$ find . -maxdepth 1 -mindepth 1 -type d
명령어를 사용하면 현재 디렉터리에서 보이는 디렉터리만 보여 줍니다. -maxdepth 1로 하위 디렉터리들을 제외하고요. -mindepth 1로 현재 디렉터리인 "."을 제외합니다.
그리고 그 디렉터리들을 기준으로 하위 디렉터리의 파일들의 개수를 세면 됩니다.
현재 디렉터리 기준에서 하위 디렉터리의 파일들을 모두 헤아려 보는 방법입니다.
$ find . -type f | wc -l
236498
이제 이 두 명령어를 혼합해서 만들어서 실행하면 됩니다.
$ find . -maxdepth 1 -mindepth 1 -type d -exec ls -ld "{}" \; -exec sh -c "find {} -type f | wc -l" \;
drwxr-xr-x 21 junho85 staff 672 May 4 15:50 ./porsche
5685
drwxr-xr-x 14 junho85 staff 448 Jun 22 17:34 ./spring5fs
88
drwxr-xr-x 14 junho85 staff 448 Jul 6 23:16 ./spring-core-study-19
178
drwxr-xr-x 14 junho85 staff 448 Jul 7 00:18 ./spring-core-study-21
158
...
이제 파일이 많은 디렉터리를 찾아가서 파일들을 정리하면 되겠습니다. 지우거나 옮기거나 압축하거나 여러 방법이 있겠죠?
커맨드를 좀 더 개선할 방법이 있지 않을까 생각이 드는데요. 예를 들어 파일 개수를 왼쪽에 출력해 주고 오른쪽에 디렉터리만 출력해 주면 좀 더 심플할 것 같고 파일 개수 순으로 정렬을 할 수 있기 때문에 더 좋은 명령어가 될 수 있을 거 같습니다.
'IT이야기' 카테고리의 다른 글
Confluence Wiki 목차를 우측 상단에 떠 다니게 만들기 (8) | 2020.11.23 |
---|---|
블로그에 유튜브 구독 버튼 수정 및 추가. 구독 버튼 두 개 달기. 채널 이미지도 추가 (0) | 2020.11.20 |
아이폰 정품 케이블이 5,100원? 저렴한 정품 라이트닝 케이블 구입하기 (0) | 2020.09.19 |
큰맘먹고 지른 링크시스 벨롭 Wifi 6 공유기 MX5300. 무려 499,000원! (1) | 2020.09.17 |
티스토리 에디터 이미지 붙여넣기 업로드 중 오류 나는 경우 "임시저장"으로 글 내용 저장하기 (0) | 2020.09.09 |