Linux에서 ls 명령의 대안은 무엇입니까? [복사]

Linux에서 ls 명령의 대안은 무엇입니까? [복사]

ls 명령을 사용하지 않고 현재 디렉터리나 디렉터리 경로의 내용을 어떻게 나열할 수 있습니까? echo 명령을 사용하여 이를 수행할 수 있습니까?

답변1

printf '%s\n' *

쉘 명령은 현재 디렉토리에 숨겨져 있지 않은 파일을 한 줄에 하나씩 나열합니다. 숨겨지지 않은 파일이 없으면 *이것이 수정된 쉘(csh, tcsh, fish, zsh, bash -O failureglob)을 제외하고는 단독으로 나타납니다.

echo *

-공백 문자로 구분된 숨김되지 않은 파일은 쉘/에코 구현에 따라 첫 번째 파일 이름이 백슬래시 문자로 시작 하거나 파일 이름에 백슬래시 문자가 포함되지 않는 한 나열됩니다 .

셸은 *이를 명령에 전달하기 전에 파일 목록으로 확장합니다. 여기에서는 head -- *처음 몇 줄을 표시하는 등 ( head여러 파일을 허용하는 구현을 사용하여) 모든 명령을 사용할 수 있습니다 stat -- *.

숨겨진 파일을 포함하고 싶습니다.

printf '%s\n' .* *

(셸에 따라 .및 도 포함됩니다 ..). 그리고 zsh:

printf '%s\n' *(D)

ls디렉터리 내용을 나열할 수 있는 다른 응용 프로그램(shell glob 및 제외 )은 다음과 같습니다 find.

find . ! -name . -prune

(숨겨진 파일 포함, 제외 .) ...

Linux의 경우 lsattr(Linux 확장 파일 속성 나열):

lsattr
lsattr -a # to include hidden files like with ls

답변2

디렉토리 내용 목록만 원하는 경우: find . -maxdepth 1

또는 다른 디렉토리: find <dir> -maxdepth 1

관련 정보