간단한 명령어만 적어두기 위하여 포스팅합니다.
현재 위치에서 디렉토리 즉 폴더 개수 세기
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 | 결과 줄 수(= 파일 개수) 세기 |
위의 명령어들은 외우면 편하긴 하지만...
리눅스를 주로 사용하는 것이 아니라 자꾸 잊어 버리네요.
파일 개수, 디렉토리(개수)를 세는것보다
용량 등의 체크를 더 많이 사용하지만
종종 파일 개수, 폴더 개수를 체크할일이 있어 포스팅 하였습니다.
필요하신분들 요긴하게 사용하시기 바랍니다.
감사합니다.
'개발 > 리눅스' 카테고리의 다른 글
| vi에서 `Out of memory saving lines for undo - try using ed` 오류 해결 방법 (1) | 2025.09.17 |
|---|---|
| [리눅스, 유닉스] 로그 확인, 문자 찾기 (cat, more, ll, grep 활용) (0) | 2022.08.26 |
| 리눅스 파일복사, 파일 이름변경/이동, 디렉토리 생성/삭제, 파일삭제(cp, mv, rm) (0) | 2017.12.06 |
| 리눅스 tar 압축 및 압축해제 명령어 (2) | 2017.11.27 |
| 리눅스 방화벽 설정(linux firewall)_the network adapter could not establish the connection (1) | 2017.09.11 |