ls로 인쇄되는 파일 수를 제한하는 방법은 무엇입니까?

ls로 인쇄되는 파일 수를 제한하는 방법은 무엇입니까?

명령에 나열되는 파일 수를 제한하는 방법이 있습니까 ls?

나는 본 적이 있다:

ls | head -4

그러나 가져오거나 실행하려면 head실행 이 완료될 tail때까지 기다려야 하며 ls디렉터리에 파일 수가 많으면 시간이 꽤 걸릴 수 있습니다.

ls이 명령을 사용하지 않고 제한 명령을 실행하고 싶습니다 head.

답변1

시도해 봤어?

ls -U | head -4

이렇게 하면 정렬을 건너뛰어야 하므로 시간이 ls오래 걸릴 수 있습니다.

https://stackoverflow.com/questions/40193/quick-ls-command

답변2

귀하의 버전에 ls파일을 정렬하지 않는 방법이 있는 경우(예:-UGNU ls의 경우, 그걸 써. 옵션이 없으면 ls모든 파일을 먼저 읽은 다음 이름을 정렬한 다음 인쇄가 시작됩니다.

또 다른 가능성은 를 실행하는 것입니다 find. 이는 이름이 발견되면 인쇄합니다.

find . -name . -o -prune | head

head( 현재 진행중인 작업 으로 인해 참고해주세요.철사, 파일 이름에 개행 문자가 포함되어 있지 않다고 가정).

답변3

아마도 그것 외에 다른 것이 필요할까요 ls?

예를 들어 Randal Schwartz는 다음과 같은 기사를 썼습니다.perl큰 디렉토리에 사용여기에는 귀하의 요구 사항을 충족하는 것을 구축하는 데 대한 몇 가지 팁이 포함될 수 있습니다.

Randal은 블로그 게시물에서 둘 다 인쇄하기 전에 모든 디렉토리 항목을 읽으려고 ls시도 하지만 그가 제안한 솔루션은 그렇지 않다고 설명합니다.findperl

답변4

관련 없는 참고 사항("리눅스 트리 제한 파일 수 제한"을 검색할 때 이 질문이 나타나기 때문에)을 사용할 수 있습니다 tree --filelimit=10(10개 이하의 파일만 있는 디렉터리 삭제). 아래와 같이 멋지게 출력됩니다.

tree --filelimit=10

디렉토리 구조와 내용을 나열합니다. 대규모 데이터 세트를 탐색할 때(처음 구조/계층 구조를 이해하는 데 관심이 있는 경우) 매우 유용합니다.

.
├── gps
│   ├── gps.csv
│   └── ins.csv
├── mono_rear [2217 entries exceeds filelimit, not opening dir]
├── mono_rear.timestamps
├── stereo
│   └── centre [3164 entries exceeds filelimit, not opening dir]
└── stereo.timestamps

관련 정보