dir /b /s /a:-D에 해당하는 Linux(모든 파일의 전체 경로를 반복적으로 인쇄)

dir /b /s /a:-D에 해당하는 Linux(모든 파일의 전체 경로를 반복적으로 인쇄)

저는 오늘 방금 Linux로 마이그레이션했으며 ls 명령을 사용하여 이 작업을 수행하는 방법(귀하가 생각하는 것이 가장 좋다고 생각하는 것이 무엇인지)을 알고 싶습니다. 아이디어는 하위 디렉터리를 포함하여 디렉터리의 전체 경로가 있는 모든 파일을 가져오는 것입니다... 제가 사용한 cmd 명령은 다음과 같습니다.

dir /b /s /a:-D

답변1

내가 아는 한, 귀하의 dir명령은 하위 디렉터리( )에 들어가고 /S제목과 요약( /B)을 건너뛰고 해당 파일을 생략합니다.목차속성이 설정되었습니다( /A:-D)

Linux에서 이 작업을 수행하는 이식 가능한 방법은 find명령을 사용하는 것입니다. 기본적으로 하위 디렉터리로 이동하며 디렉터리는 다음을 추가하여 생략할 수 있습니다 -not -type d.!-not

기본적으로 시작점을 기준으로 한 경로를 보고하므로 절대 경로를 얻으려면 셸의 현재 작업 디렉터리 변수를 사용할 수 있습니다 PWD.

find "$PWD" -not -type d

재귀 패턴 일치("globstar"라고도 함) 및 glob 한정자를 지원하는 셸을 사용하는 경우 다른 옵션이 있습니다. 예를 들어 다음을 zsh수행할 수 있습니다.

ls -1d **/*(^D:A)

아니면 단순히

printf '%s\n' **/*(^D:A)

"비디렉토리"를 원하는지 "일반 파일"을 원하는지 고려할 수도 있습니다.

find "$PWD" -type f

또는 (zsh)

printf '%s\n' **/*(.:A)

관련 정보