많은 파일이 포함된 디렉토리가 있습니다. ls
카운트를 제공하는 스위치가 표시되지 않습니다 . 파일 수를 가져오는 명령줄 마법이 있나요?
답변1
"문서"에 대한 광범위한 정의를 사용하십시오.
ls | wc -l
(숨겨진 파일은 계산하지 않으며 파일 이름에 개행 문자가 포함되어 있지 않다고 가정합니다.)
숨겨진 파일을 포함하고( .
및 제외 ..
) 개행 문제를 방지하려면 정식 방법은 다음과 같습니다.
find . ! -name . -prune -print | grep -c /
또는 재귀적으로:
find .//. ! -name . -print | grep -c //
답변2
파일의 좁은 정의의 경우:
find . -maxdepth 1 -type f | wc -l
답변3
유용하다고 생각했지만 어떤 버전이 필요한지 du --inodes
잘 모르겠습니다 . 및 를 사용하는 대안보다 훨씬 du
빠릅니다 .find
wc
Ubuntu 17.10에서는 다음이 작동합니다.
du --inodes # all files and subdirectories
du --inodes -s # summary
du --inodes -d 2 # depth 2 at most
| sort -nr
포함된 inode 수를 기준으로 내림차순으로 정렬하는 데 와 함께 사용됩니다 .
답변4
ls
/를 사용한 wc
가장 완전한 대답 은 아마도
ls -Aq | wc -l
도트 파일의 개수를 세고 싶다면
ls -q | wc -l
그렇지 않으면.
-A
포인트 파일을 계산하지만.
합계를 생략하는 것입니다..
.-q
ls
대체 비그래픽 문자, 특히 개행 문자를 사용하여?
파일당 1줄 출력
터미널에서 출력 라인을 얻으려면 ls
(즉, 파이핑하지 않고 wc
) -1
옵션을 추가해야 합니다.
ls
(coreutils 8.23을 사용하여 동작 테스트)