나에겐 기준이 있다엘에스설치했어요 저도 가지고 있어요엘에스디설치되면 nerd-font의 ls를 즉시 대체할 수 있습니다. 오류가 별칭과 관련이 있을 수 있기 때문에 이것을 언급합니다.
즉각적인 테스트를 위해 alias ls=ls
모든 사용자 정의 명령을 제거했습니다.
분명히 여러 하위 폴더가 있는 /etc 디렉토리 에 들어가면 ls
(-d 플래그 없이 볼 수 있음) 다음과 같은 결과가 나타납니다.
>>>root@Unraid:/etc# ls -d /
/
>>>root@Unraid:/etc# ls -d
.
>>>root@Unraid:/etc# lsd -d
답변1
이 옵션을 제공하면 디렉터리의 내용이 나열되지 않고 디렉터리 이름 자체만 나열되기를 원한다는 -d
의미입니다 . ls
추가 정보를 제공하지 않는 경우논쟁에 대한 ls
기본값은 현재 디렉터리를 나열하는 것입니다. 따라서 ls -d
모든 변형에는 올바른 내용(현재 디렉터리 이름)이 표시됩니다..
답변2
Jeff Schaller의 답변로고가 -d
작동하는 방식/이유를 설명합니다. 이 답변에서는 이것이 왜 또는 언제 유용한지에 대해 자세히 설명하고 싶습니다.
ls -d
추가 매개변수 없이는 거의 유용하지 않습니다. 논쟁은 하나뿐이고, 그것도 별로 유용하지 않다고 생각합니다. ls -ld dirname
권한, 소유권, 타임스탬프와 같은 유용한 정보를 얻을 수 있지만 stat dirname
.
깜박임은 ls -d
와일드카드입니다.
비교하다:
$ ls -l */*
one/a:
total 0
-rw-rw-r-- 1 gholl o16217 0 Mar 25 10:20 aa
one/b:
total 0
-rw-rw-r-- 1 gholl o16217 0 Mar 25 10:20 bb
two/c:
total 0
-rw-rw-r-- 1 gholl o16217 0 Mar 25 10:20 ab
two/d:
total 0
-rw-rw-r-- 1 gholl o16217 0 Mar 25 10:20 oe
그리고:
$ ls -ld */*
drwxrwxr-x 2 gholl o16217 4096 Mar 25 10:20 one/a
drwxrwxr-x 2 gholl o16217 4096 Mar 25 10:20 one/b
drwxrwxr-x 2 gholl o16217 4096 Mar 25 10:20 two/c
drwxrwxr-x 2 gholl o16217 4096 Mar 25 10:20 two/d
또는
$ ls -l */
one/:
total 8
drwxrwxr-x 2 gholl o16217 4096 Mar 25 10:20 a
drwxrwxr-x 2 gholl o16217 4096 Mar 25 10:20 b
two/:
total 8
drwxrwxr-x 2 gholl o16217 4096 Mar 25 10:20 c
drwxrwxr-x 2 gholl o16217 4096 Mar 25 10:20 d
또는
$ ls -ld */*[ac]
drwxrwxr-x 2 gholl o16217 4096 Mar 25 10:20 one/a
drwxrwxr-x 2 gholl o16217 4096 Mar 25 10:20 two/c
와일드카드를 사용할 때 보통 이렇게 합니다.아니요디렉토리를 입력하고 싶습니다. 대안은 나 에게 , 또는 ls -l */*
디렉토리에 대한 많은 정보를 제공하지 않습니다 . 대안도 마찬가지 지만 다른 방식으로 나는 일반적으로 더 컴팩트한 출력을 선호합니다. 물론, 와일드카드를 사용하면 항상 하위 디렉터리의 모든 내용을 나열하면서 특정 이름만 일치시킬 수 있습니다. 결과는 flags 를 통해서만 얻을 수 있습니다 .one/a
one/b
two/c
two/d
ls -ld */*
ls -l */
ls -ld */*
ls -l */
ls -ld */*[ac]
-d
-d
에 와일드카드를 전달할 때 거의 항상 이 플래그를 사용합니다ls
.-d
단일 디렉터리를 전달할 때 태그를 거의 사용하지 않습니다.-d
매개변수를 전혀 전달하지 않을 때는 이 플래그를 사용하지 않습니다.
답변3
기본적으로 ls
디렉터리를 제외한 각 이름에 대한 정보가 표시됩니다. 디렉터리가 제공되면 각 디렉터리에서 이름 목록을 검색한 다음 해당 디렉터리에 대한 정보를 표시합니다.
그러나 이 -d
옵션은 이를 억제하여 ls
디렉토리를 특별하게 처리하지 않고 단순히 주어진 모든 이름에 대한 정보를 표시합니다.
ls
경로명 인자 없이 호출 되면 .
주어진 대로 동작합니다. 이것이 없으면 -d
현재 디렉토리의 내용이 표시되지만, 이를 사용하면 관찰한 대로 -d
단순히 보고됩니다 .
.