다른(현재가 아닌) 디렉토리에 있는 파일을 어떻게 나열할 수 있습니까?

다른(현재가 아닌) 디렉토리에 있는 파일을 어떻게 나열할 수 있습니까?

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에 대한 정보를 나열합니다 . 이름이 (있는 경우) 로 시작 하고 끝나는 모든 파일을 나열합니다 .foobar-lls baz*gobazgo

하지만 당신이 줄 때디렉토리 이름에는 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는 디렉터리의 내용을 나열합니다.

이것이 설명합니다.

관련 정보