개발/리눅스

리눅스 파일 개수 및 디렉토리(폴더) 개수 세기

Mr.Lee 하루 2018. 6. 28. 17:10

간단한 명령어만 적어두기 위하여 포스팅합니다.

 

현재 위치에서 디렉토리 즉 폴더 개수 세기

 ls -l | grep ^d | wc -l

 

위의 명령어를 실행 시키면 

현재 위치의 디렉토리(파일) 개수를 체크 할 수 있습니다.

 

예시

$ ls -l
total 16
drwxr-xr-x 2 user group 4096  7월  3 10:00 dir1
-rw-r--r-- 1 user group  123  7월  3 11:00 file.txt
drwxr-xr-x 3 user group 4096  7월  2 14:30 dir2
drwxr-xr-x 5 user group 4096  6월 30 09:20 dir3

# 디렉터리인 줄(d로 시작)만 필터링해서 개수 세기
$ ls -l | grep ^d | wc -l
3

 

설명

  • ls -l : 현재 디렉터리 내용을 상세(long) 목록으로 보여줌
  • grep ^d : 각 줄의 첫 문자가 d(directory)인 항목만 통과
  • c -l : 입력받은 줄 수를 출력 → 여기서는 3개 디렉터리 존재

 

현재 위치에서 파일의 개수 세기

ls -l | grep ^- | wc -l

 

예시

$ ls -l
total 24
-rw-r--r-- 1 user group  123  7월  2 13:00 file1.txt
drwxr-xr-x 2 user group 4096  7월  2 13:01 folder1
-rw-r--r-- 1 user group  456  7월  2 13:02 script.sh
-rw-r--r-- 1 user group  789  7월  2 13:03 notes.md
drwxr-xr-x 3 user group 4096  7월  2 13:04 folder2

$ ls -l | grep ^- | wc -l
3

 

 

설명

 

  • 이 경우 file1.txt, script.sh, notes.md → 총 3개 일반 파일
  • 폴더인 folder1, folder2는 제외됨
  • (참고) ls -al | grep ^- | wc -l   숨김 파일 포함하려면 이 명령어를 쓰세요.

 

 

현재 디렉토리의 하위 파일 개수 세기

find . -type f | wc -l

 

 

예시

.
├── file1.txt
├── dir1
│   ├── file2.txt
│   └── script.sh
└── dir2
    └── nested
        └── note.md


$ find . -type f
./file1.txt
./dir1/file2.txt
./dir1/script.sh
./dir2/nested/note.md

$ find . -type f | wc -l
4

 

 

설명

find . 현재 디렉토리(.)부터 하위 디렉토리까지 탐색
-type f 파일만 필터링 (-type d는 디렉토리용)
wc -l 결과 줄 수(= 파일 개수) 세기

 

 

위의 명령어들은 외우면 편하긴 하지만...

리눅스를 주로 사용하는 것이 아니라 자꾸 잊어 버리네요.

 

파일 개수, 디렉토리(개수)를 세는것보다

용량 등의 체크를 더 많이 사용하지만

종종 파일 개수, 폴더 개수를 체크할일이 있어 포스팅 하였습니다.

 

필요하신분들 요긴하게 사용하시기 바랍니다.

감사합니다.