디렉터리입니다 명령줄이 사용하여 파일 수를 어떻게 해야 할까요?

I have a 디렉터리입니다 수가 많은 파일. # 39, 내가 don& 제공하십시오 전환하십시오 'ls' 볼 수 없다. 일부 명령행을 magic to get a 파일 수 있나요?

질문에 대한 의견 (2)
해결책

넓은 정의를 이용하여 &quot file";

ls | wc -l

참고로 이 doesn& # 39, t 카운트입니다 숨겨진 파일과 파일 이름에 포함되어 있는 경우를 don& 개행 문자 # 39, t 자).

숨김 파일을 포함) 을 제외한 '.' 및 '.') 과 함께 문제가 발생하지 않는 줄바꿈 문자, 고전적인 방법은.

find . ! -name . -prune -print | grep -c /

또는 재귀적:

find .//. ! -name . -print | grep -c //
해설 (6)

좁은 정의를 파일:

 find . -maxdepth 1 -type f | wc -l
해설 (4)
ls -1 | wc -l

.

$ ls --help | grep -- '  -1'
    -1                         list one file per line

.

$ wc --help | grep -- '  -l'
    -l, --lines            print the newline counts

PS: 노트 ls, lt, number-one&gt &amp -; &amp letter-l&gt, wc, wc, wc, lt;

해설 (6)

아마도 가장 완벽한 'ls' / '는' 페어당 사용하여 오토메이티드 wc

ls -Aq | wc -l

스케쳐내 joyon. 파일이므로 수

ls -q | wc -l

그렇지 않으면.

  • -a 수 있지만, '.' 및 '.' 는 joyon. 파일을 생략하십시오.
  • '문자' make 'ls' 복귀시킴 비 그래픽, 특히 q 개행 문자를 함께 userdic. 출력입니다 각 파일에 대한 1 호선 '?'

Afaq 한 출력입니다 ls '에서', '-' 옵션을 터미널 (즉, 이를 '없이 파이핑이 wc') 는 추가되도록.

(ls 비스무트-212 의 '와' 테스트되었습니다 coreutils 8.23)

해설 (2)

<! - 모든 언어: 쉬 &gt.

현재 알고 있는 경우 디렉토리에는 하나 이상의 비사양 숨겨짐 파일:

set -- *; echo "$#"

이것은 분명히 모든 일반화 글롭.

이 때문에, 때때로 불행한 부작용이 있는 스크립트입니다 덮어씁니다 위치 매개변수입니다. 사용하는 서브셸 또는 함께 해결할 수 있습니다 (Bourne / POSIX 버전) 는 다음과 같은 함수

count_words () {
  eval 'shift; '"$1"'=$#'
}
count_words number_of_files *
echo "There are $number_of_files non-dot files in the current directory"

대안 솔루션으로 '는 $ (ls - d - wc 뻦)'. 명령이 로 줄일 수 있다 '는' ' 글롭 경우 $ (wc ls - l) '. 하지만, 여기에 it makes me 'ls' 항상 불안한 구문 분석 결과를 통해 파일 이름을 deltamove 노력해야 할 줄 바꿈, 또는 dell. 저들이요 이스케이프합니다 'ls' t 컨테인먼트하는 don& # 39. 그리고 '$ (ls - d - 2> / dev / nulll wc 뻦)' 이 (가) 의 장점은 취급료 정상적으로 글롭 일치하지 않는 경우 (즉, 되돌려줍니다 0 이 경우, 반면 '' 설정되었습니다 가로장 설치 등등 테스트 방법을 사용할 때는 글롭 경우 비워 둘 수도 있다).

만약 파일 이름이 개행 문자를 사용하는 방법이 있을 수 있으며, 대체 '$ (ls - d - c / 그렙 ./*)'.

이러한 모든 솔루션을 반군지역 의존하는 데 실패하고 글롭 'ls' 의 확장 한 경우 오류가 너무 많아 long_ _argument 목록에 일치하는 파일을.

해설 (6)

I 'm not 발견되지 않지만,' du inodes 유용한 I& # 39 어떤 버전의 'du' 반드시 필요합니다. 대체 방법을 사용하여 '보다' 찾기 '와' wc, wc, wc 크게 한다.

17.10 unbuntu 대한 다음 작업:

du --inodes      # all files and subdirectories
du --inodes -s   # summary
du --inodes -d 2 # depth 2 at most

'-' 결합하여 정렬하려면 nr 정렬하려면 수에 따라 내림차순을 redboot*용 inodes.

해설 (0)

Ls - U 있을 경우 추가 / wc 페어당 사용하는 동안 우리는 훨씬 빠른 (do not 종류).

ls -AqU | wc -l
해설 (1)

나무를요 명령을 설치 후 바로 유형:

'트리'

숨김 파일을 스케쳐내 너무:

'a' 트리

데비안 / 민트 (mint / ubuntu linux mm_mail_doc. 사용하는 경우 다음 명령을 설치처 나무를요 명령:

sudo apt 확보하십시오. install 진단트리는 ''

옵션 - L 은 specifying 데사용됩니다 최대 디스플레이 수준의 디렉토리에는 진단트리 뿐만 아니라 나무를요 명령을 높여줍니까 수를 고려할 때 파일, 디렉터리 수 많은 수준의 디렉터리 트리 원하는 대로.

해설 (1)
find -maxdepth 1 -type f -printf . | wc -c
  • '1', '찾기' 는 기본적으로 맥스데프트 하면 비사양 반복 반복
  • 'f' 에는 파일만 방식
  • 'printf.' 는 귀여운 터치. 그 대신, 이제 이것은 파일_이름 joyon. 인쇄합니다 각 파일에 대한 모든 데이터를 처리할 수 있으며 또한 파일_이름 절약합니다. 그냥 우리가 할 수 있는 점이:)
  • c '-' wc, wc, wc 들려주시겠습니까 문자
해설 (0)

아니, 아니, 그냥 일반 bash 한 파이프, 아니 구체화하십시오 복제본에 포크하지 라이너

$ fcount() { local f i=0; for f in *; do let i++; done; echo $i; }; fcount
해설 (1)

39 에 두 번째로 here& 선에 따라 [원-부트 질 게시하기를] [1]:

word_count () { local c=("$@"); echo "${#c[@]}"; }
file_count=$(word_count *)

13,923 어레이에는 만드는 요소 (that& # 39 의 경우 파일 수를 몇 가지).

[1]: # 1133년 https://unix.stackexchange.com/questions/1125/how-can-i-get-a-count-of-files-in-a-directory-using-the-command-line/1133

해설 (1)
find . -type f -maxdepth 1 |  wc -l 

현재 디렉터리에 파일만 이 나열할 수 있습니다.

해설 (1)

Linux 에서 할 수 있는 매우 강력한 명령을 처리할 수 있는 파일 이름에 사용 할 줄 바꿈.

find -maxdepth 1 -type f -print0 | tr -cd '\0' | wc -c

이를 통해 우리에게 온 잘 알려지지 의 구문 분석 'ls' 출력입니다.

관련.

해설 (0)

이 질문에 이 시도하시겠습니까 좋겠다 도움이 됩니다

echo $((`ls -l | wc -l` -1 ))
해설 (0)

함께 확인할 수 있습니다.

ls -l | grep -v ^l | wc -l
해설 (0)

일부 답변을 하는 만큼 이번에는 전에 향상합니다 명시적으로.

$ tree -L 1 | tail -n 1 | cut -d " " -f 3

39 의 it& 그것을 사용하는 등 일부 '와' 컷 '사랑' 명령의세 알 수 있다.

또한 진단트리는 기본적으로 사용할 수 없습니다. 레벨 1 에서 1 위에 대한 정보를 캡쳐하도록 디렉토리에는 명령 줄 수 있는 우리의 목표는 1 '마지막' 꼬리 뻨을 실시, 최종 3 위로 을 (를) '컷' 을 시행하십시오 말을해야합니다.

예를 들어, '/' 에서 찾기:

/ $ tree -L 1
.
├── 1
├── bin -> usr/bin
├── boot
├── dev
├── etc
├── home
├── lib -> usr/lib
├── lib64 -> usr/lib64
├── lost+found
├── media
├── mnt
├── opt
├── proc
├── root
├── run
├── sbin -> usr/sbin
├── srv
├── sys
├── tmp
├── usr
└── var

20 directories, 1 file
/ $ tree -L 1 | tail -n 1
20 directories, 1 file
/ $ tree -L 1 | tail -n 1 | cut -d " " -f 3
1

그런 다음 수를 묻는 디렉터리용 어때?

해설 (0)

'트리' 명령을 사용하여, 그냥.

tree
해설 (0)