%20%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC%EC%97%90%20%EC%9E%88%EB%8A%94%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EB%82%98%EC%97%B4%ED%95%A0%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
ls가 현재 디렉토리의 내용을 나열하는 경우 cd를 사용하지 않고 현재가 아닌 디렉토리의 내용을 나열하는 유사한 명령이 있습니까?
답변1
ls
나열하려는 디렉토리의 경로를 입력하면 해당 경로가 표시됩니다 . 당신이 홈 디렉토리에 있지만 목록을 작성하고 싶다고 상상해 보십시오 /etc
. 그냥 실행 ls /etc
하면 목록에 표시됩니다.
답변2
ls
이것을 할 것입니다.
구문은 다음과 ls
같습니다.
ls flags file-or-directory-names
내가 전화하는 이유file-or-directory-names
를 사용하면 현재 디렉터리의 파일을 나열하여 특정 파일만 나열할 수 있습니다. 예를 들어, just 및 (플래그를 제공한 대로 긴 형식으로 ) ls -l foo bar
에 대한 정보를 나열합니다 . 이름이 (있는 경우) 로 시작 하고 끝나는 모든 파일을 나열합니다 .foo
bar
-l
ls baz*go
baz
go
하지만 당신이 줄 때디렉토리 이름에는 ls
다음의 내용이 나열됩니다.그 디렉토리현재 디렉토리 대신.
따라서 의 내용을 나열하려면 /var/log
다음을 실행하면 됩니다.
ls /var/log
당신이상대적인디렉터리 경로(즉, a로 시작하지 않는 경로 /
)를 입력하면 파일을 찾는 것과 마찬가지로 현재 디렉터리 내에서 해당 디렉터리를 찾습니다. 하지만 여전히내용물원하는대로 디렉토리의.
참고로 때로는 목록을 나열하고 싶지 않을 수도 있습니다.내용물하지만 파일이 나열되는 것과 동일한 디렉토리만 나열하면 됩니다. 이렇게 하려면 플래그를 전달할 수 있습니다 -d
. 예를 들어, 이것은 /var/log
긴 형식으로 표시됩니다(그렇지 않음).내용물, 그러나 /var/log
그 자체):
ls -ld /var/log
답변3
승인된 답변을 본 후에도 여전히 만족스럽지 않았습니다. 다니엘은 그 해결책을 어떻게 알았나요? 내가 직접 맨페이지를 읽었지만 여전히 방법을 알 수 없었을 것입니다.
읽기 맨 페이지 ls
:
설명: FILE(기본적으로 현재 디렉터리)에 대한 정보를 나열합니다...
거기에는 유용한 것이 없습니다. 그런 다음 POSIX 프로그래머 매뉴얼을 확인했습니다.
디렉토리 유형의 파일 이름을 지정하는 각 피연산자에 대해 ls는 요청된 관련 정보뿐만 아니라 디렉토리 내에 포함된 파일 이름을 작성합니다.
이 줄은 허용되는 솔루션의 명령 동작을 설명합니다. CAN FILE
의 피연산자 는 ls
디렉토리이며 ls
해당 디렉토리의 내용을 나열합니다. OP가 원했던 것과 정확히 같습니다. 그러나 Linux에서의 구현은 여기의 사양과 다를 수 있습니다. 그래서 우리는 올바른 길을 가고 있지만 아직 거기까지는 이르지 못했습니다.
그런 다음 의 일부인 GNU coreutils
패키지 의 매뉴얼을 검색했습니다 . ls
내가 찾은 내용은 다음과 같습니다.
옵션이 아닌 디렉터리인 명령줄 인수의 경우 기본적으로 ls는 디렉터리의 내용을 나열합니다.
이것이 설명합니다.