지정된 경로의 디렉토리 만 나열하고 싶습니다 ( ls
이러한 옵션은 없습니다). 또한 한 줄 명령 으로이 작업을 수행 할 수 있습니까?
답변
ls -d */
현재 디렉토리 내의 디렉토리를 나열하려면 이것을 시도하십시오
답변
이 시도:
find . -maxdepth 1 -type d
답변
다음과 같은
find * -maxdepth 0 -type d
기본적으로 조건에 따라 ‘*’의 확장, 즉 현재 디렉토리의 모든 항목을 필터링합니다 -type d
.
이점은 출력이와 동일 ls -1 *
하지만 디렉토리 및 항목 만 도트로 시작하지 않는다는 것입니다.
답변
ls -d */
또는 사용할 수 있습니다tree -d
또 다른 해결책은 globbing이지만 이것은 사용중인 쉘과 디렉토리 globbing이 지원되는지 여부에 따라 다릅니다.
예를 들어 ZSH :
zsh # ls *(/)
답변
그것을하는 수십 가지 방법이 있기 때문에 여기 또 다른 방법이 있습니다.
tree -d -L 1 -i --noreport
- -d : 디렉토리
- -L : 나무의 깊이 (따라서 작업 디렉토리 1)
- -i : 들여 쓰기 없음, 인쇄 이름 만
- –noreport : 트리 목록 끝에 정보를보고하지 않습니다
답변
ls -l | grep '^d'
별명을 작성하여 프로파일 파일에 넣을 수 있습니다.
alias ld="ls -l| grep '^d'"
답변
find . -maxdepth 1 -type d -name [^\.]\* | sed 's:^\./::'