하위 디렉토리로 내려 가지 않는 특정 문자로 시작하는 파일에 대한 리눅스 디렉토리 목록을 얻는 방법?


18

많은 파일과 많은 서브 디렉토리가있는 디렉토리에 있다고 가정하십시오.

문자 "d"로 시작하는 모든 파일의 디렉토리 목록을 가져 오려고합니다. 당신은 입력

ls d*

그리고 당신이 얻는 것은 주로 서브 디렉토리의 파일들 (특히, "d"로 시작하는 서브 디렉토리의 파일들)입니다.

현재 디렉토리의 파일과 디렉토리 이름 만 어떻게 나열합니까?

답변:


32

아, 방금 맨 페이지 6 번째 글에서 찾았습니다. 이름이 맞지 않는 "디렉토리"매개 변수입니다.

ls -d d* 

6
그것은 다시 읽는 당신에게 단지 29초했다 매뉴얼 페이지를 하고 이 답을 쓰기? 그것은 빠르다 :-)
balpha

1
또한 ls -dd * /는 디렉토리 만 표시합니다.
innaM

6
balpha-질문을 제출하기 전에 그것을 발견 한 다음, 이것을 알아내는 데 너무 오래 걸렸다면 미래의 검색자를 도와 q와 여기에 게시하는 것도 도움이 될 수 있음을 깨달았습니다.
dggoldst

3
그럴 수 있지; 아무 문제가 없습니다.
balpha

1
그러나 CppLearner는 실제로 작동합니다. 시도 해봐.
dggoldst

10

또 다른 흥미로운 해결책이 있다고 생각합니다.

ls | grep ^d

정규식의 유연성을 제공합니다.


3
그리고 정규 표현식의 복잡성! ;-)
Chris Nava

1
그것은 흥미로운 해결책이며, 정규 표현식을 사용하는 아이디어를 좋아하지만 ls에 매개 변수를 추가하면 중단됩니다. 예 : "ls -l | grep ^ d"
dggoldst

사실이지만 모든 매개 변수는 아닙니다. LS -a | grep "^ \." 모든 "숨겨진"파일을 인쇄합니다.
Kuer

ls flags이 방법을 사용할 때는 다른 기능이 작동하지 않습니다. 예를 들어 ls -ltr | grep ^d작동하지 않습니다. @dggoldst 답변에서 제안한 것은 그렇지 않습니다.
hitesh israni

3

찾기 . -maxdepth 1-이름 d *-타입 f

좋아, 여기에 find를 사용하는 것은 약간의 과잉입니다. 조금만


1
그러나 특정 사용자의 모든 직접 디렉토리를 나열하는 데 도움이되었습니다 find /home/ -maxdepth 1 -type d -user www-data. 감사합니다. +1
Cyril N.

1

ls -ld: 하위 디렉토리로 내려 가지 않고 디렉토리 목록을 제공합니다.

예:

ls -ld Cust*
이 명령은로 시작하는 파일 및 디렉토리 목록을 제공합니다 Cust.


1
이것은 본질적으로 5 살짜리 답과 같습니다.
Scott
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.