it-swarm-ko.tech

'ls'명령에 디렉토리 만 표시되는 옵션이 있습니까?

때로는 파일이 아닌 디렉토리 만 확인해야합니다. ls 명령에 옵션이 있습니까? 아니면 그렇게하는 유틸리티가 있습니까?

EDIT : Mac OS X을 사용하고 있으며 ls -d이 (가) . 디렉토리가 있지만.

86
prosseek

이미 선택된 답변이 있지만 ls으로 요청 된 동작을 얻을 수 있습니다.

ls -ld -- */

( '-'는 매개 변수의 끝을 나타내므로 하이픈으로 시작하는 폴더 이름이 추가 명령 옵션으로 해석되지 않습니다.)

여기에는 현재 작업중인 디렉토리 (숨겨진 디렉토리를 확장하도록 쉘의 글로브를 구성하지 않는 한)가 아닌 모든 디렉토리가 나열됩니다 (디렉토리에 대한 심볼릭 링크도 포함됨). 다른 폴더의 모든 하위 디렉토리를 얻으려면 다음을 시도하십시오.

ls -ld /path/to/directory/*/

-l은 선택 사항입니다.

96
Steven D

아니요, 그러나 간단한 find 명령으로 수행 할 수 있습니다.

find . -type d -depth 1

또는 grep

ls -F | grep /

그런 다음 필요한 경우 별명을 지정할 수 있습니다.

16
gvkv

또한 숨겨진 디렉토리를 볼 필요가 있으므로 위의 제안을 필요에 맞게 수정했습니다.

ls -d -- */ .*/

(쉘에 따라 ...)

7
Neil Chandler

tree 유틸리티가 디렉토리 구조에 대한 개요를 얻는 것을 좋아합니다. MacPorts와 내가 시도한 모든 Linux 배포판에서 사용할 수 있습니다.

tree -d -L 2

두 디렉토리 깊이의 모든 디렉토리가 표시됩니다.

7
Claes Mogren

zsh을 사용하면 (macOS에서 기본적으로 발견되어 /bin/sh로 사용됨), glob 한정자를 사용하여 유형에 따라 파일을 선택합니다.

  • 숨겨지지 않은 디렉토리를 나열하십시오.

    ls -d -- *(/)
    
  • 모든 디렉토리를 나열하십시오.

    ls -d -- *(D/)
    

    (...는 항상 제외됩니다. 원하는 경우 개별적으로 추가하십시오)

  • 디렉토리에 대한 심볼릭 링크도 포함하십시오.

    ls -d -- *(D-/)
    

    (-를 사용하면 심볼릭 링크 확인 후 추가 한정자가 적용됩니다).

3
Stéphane Chazelas

디렉토리를 나열하는 하나의 옵션 이 아닙니다 ...

하지만 -d (내용이 아닌 디렉토리 자체 나열) 및 */ 디렉토리 자체와 일치시킵니다.

ls -d */

숨겨진 점에는 점을 사용하십시오. ls -d .*/.

재미를 위해서 : ls -dls */. 차이점은 분명합니다!

참조 :

0
marcio