디렉토리 개수 세는 방법
하위 폴더의 디렉토리 전체 개수 세기 | ls -lR | grep ^d | wc -l |
현재 폴더의 디렉토리 개수 세기 | ls -l | grep ^d | wc -l |
하위 폴더의 파일 전체 개수 세기 | ls -lR | grep ^- | wc - l |
현재 폴더의 파일 개수 세기 | ls -l grep ^d |wc -l |
리눅스를 이용하던 중 디렉토리와 파일의 개수를 세어야 할 필요가 생겼습니다. 여러 곳에서 찾아본 결과, 위와 같은 명령어의 조합으로 디렉토리의 개수를 세거나 파일의 개수를 셀 수 있었습니다. 이 글에서는 위 명령어에 대하여 설명하고자 합니다.
예시
예를 들어서, 현재 디렉토리를 위 사진과 같은 구조로 생성하였습니다. 먼저, 하위 디렉토리는 a, b, aa, ab, ac, aaa, ab 총 7개입니다. 하위 폴더의 디렉토리 개수를 전부 센다면 7이라는 결과를 얻을 수 있을 것입니다. ls -lR | grep ^d | wc -l 을 입력할 수 있습니다.
먼저 ls는 파일과 디렉토리를 나열하는 명령어입니다. ls의 옵션 중 l 은 long listing foramt이라는 의미로, 파일 이름 외에도 수정 날짜한 날짜와 권한, owner 등의 정보를 얻을 수 있는 옵션입니다. 또한 R 옵션은, 하위 폴더에 대해서도 ls 명령어를 사용하여 목록을 재귀적으로 나열하라는 의미입니다.
grep 은 어떠한 패턴을 찾는 명령어인데, ls -lR의 결과를 grep에게 입력으로 준 후에, ^d 명령어를 통해 d 시작하라는 단어를 전부 찾아낸 모습입니다. 가장 앞의 d는 디렉토리를, -는 파일을 의미합니다. wc는 파일에서 단어의 글자를 세는 명령어입니다. -l 옵션을 사용하여 라인의 수 만을 출력하였습니다. 결과는 다음과 같습니다.
첫 번째는 서브 디렉토리의 개수를, 두 번째는 파일의 개수를 나타내었습니다. 세 번째는 현재 폴더에서의 디렉토리 개수 a와 b인 2개를 출력한 결과입니다. 이를 응용하여, ^d 대신 .txt$ 를 통해서 txt 파일의 개수만을 찾거나, 다른 확장자를 가진 파일의 개수 또한 찾아볼 수 있을 것입니다.
참고
https://askubuntu.com/questions/34099/find-number-of-files-in-folder-and-sub-folders
'리눅스' 카테고리의 다른 글
[리눅스] VIM 에서 파이썬 바로 실행 하는 방법 (0) | 2023.03.15 |
---|---|
[리눅스] /bin/bash: python: command not found 에러 해결 방법 (0) | 2023.03.15 |
[리눅스] 윈도우에서 가상머신 우분투로 복사, 붙여넣기 하는 법 (0) | 2023.03.15 |