-R 매개변수를 사용하여 'ls'와 동일한 Linux 명령이 있습니까? [폐쇄]

-R 매개변수를 사용하여 'ls'와 동일한 Linux 명령이 있습니까? [폐쇄]

저는 Linux를 처음 접했습니다. ls명령 없이 매개변수와 함께 디렉터리의 모든 파일을 나열하는 Linux 명령을 구현하라는 요청을 받았습니다 -R.

다음 명령을 시도했습니다.

dir -R

첫 번째 수준뿐만 아니라 모든 하위 디렉터리도 표시되는 것으로 나타났습니다.

이것을 달성할 수 있는 방법이 있나요? 내가 아는 한 -R모든 하위 디렉터리는 나열되어야 하지만 첫 번째 수준만 나열하면 됩니다.

답변1

dir또는 설명서 에 따르면 ls:

-R, --재귀

하위 디렉터리를 재귀적으로 나열

이 플래그를 사용하면 -R모든 파일과 디렉터리가 반복적으로 표시됩니다.

~처럼바 바 1234find깊이 매개변수를 지정하려면 명령을 사용하는 것이 좋습니다 . 또 다른 방법은 (인쇄 디렉토리만) 및 (최대 레벨 깊이)를 tree사용하는 것입니다.-d-L

tree -L 1 -d

출력 예:

.
├── dir1
├── dir2
├── dir3

-R첫 번째 수준 디렉터리만 나열하는 플래그가 포함된 명령을 원하는 경우 find다음을 사용하여 직접 빌드할 수 있습니다.

if [ -z "$1" ]; then
    find .
elif [ "$1" = "-R" ]; then
    find . -type d -maxdepth 1
fi

답변2

노력하다

find . -maxdepth 1 | sort

분명히 깊이 매개변수를 사용하면 원하는 만큼 트리에 깊이 들어갈 수 있으며 -type d디렉터리만 표시 또는 -type f파일만 표시와 같은 스위치를 추가하면 출력 범위를 더 좁히는 데 도움이 됩니다.

답변3

배시 사용:

shopt -s globstar
printf "%s\n" **

숨겨진 파일과 디렉토리를 표시하려면 다음을 추가하십시오.

shopt -s dotglob

인용하다:내장 매장설명서에

관련 정보