난 그냥 디렉토리를 원해
$ ls -d
.
#get . on macos
센토스에서도 마찬가지입니다
[root@iz2ze9wve43n2nyuvmsfx5z ~]# ls -d .
.
해결책을 찾았습니다.
[root@iz2ze9wve43n2nyuvmsfx5z /]# ls -d */
bin/ dev/ home/ lib64/ media/ opt/ root/ sbin/ sys/ usr/
boot/ etc/ lib/ lost+found/ mnt/ proc/ run/ srv/ tmp/ var/
하지만 매뉴얼에는 다음과 같이 명시되어 있습니다.
-d, --directory
list directories themselves, not their contents
-d
그 이유는 무엇입니까?
답변1
ls -d
실행 중인 위치에 포함된 디렉터리가 아닌 "이" 디렉터리에 적용됩니다 ls
.
방금 실행 중인 경우에는 이상하게 보일 수 있지만 ls -d
디렉터리를 소유한 사람이 누구인지 알고 싶다면 ls -do
현재 디렉터리의 소유자만 보면 됩니다.
답변에 더 자세한 설명이 있습니다.ls -d가 파일을 나열하는 이유는 무엇이며 어디에 기록됩니까?
그리고 많은 훌륭한 통찰력ls * , ls ** 및 ls *** 의 결과정말로 더 배우고 싶다면ls
답변2
이 ls
유틸리티는 명령줄에 제공된 경로 이름 인수를 나열합니다. 어떤 인수라도 해당하는 경우목차, 디렉토리의 전체 내용이 표시됩니다. 인수가 지정되지 않으면 ls
현재 디렉토리가 사용된 것처럼 나열됩니다 ls .
.
내용이 아닌 디렉토리를 나열하려면(디렉토리의 디렉토리 항목 보기) 을 -d
선택 하면 됩니다 ls
. 이를 통해 ls -d dir
디렉토리 항목을 말하고 가져올 수 있지만 dir
내용은 가져올 수 없습니다.
그 자체로 한 지점(현재 디렉터리)만 반환하는 이유는 본질적 으로 "내용을 표시하지 않고 현재 디렉터리에 대한 디렉터리 항목을 제공합니다"와 ls -d
동일하기 때문입니다 .ls -d .
명령 ls -d */
이 수행하는 작업은 숨겨진 이름이 없는 현재 디렉터리의 모든 디렉터리에 대한 디렉터리 항목을 표시하는 것입니다. 당신은 단지 얻을목차/
패턴이 끝났기 때문이죠 . 를 사용하고 있으므로 -d
이러한 디렉토리의 내용을 얻을 수 없습니다.