"ls" 및 "find"를 사용하여 전체 경로 이름을 인쇄합니다.

"ls" 및 "find"를 사용하여 전체 경로 이름을 인쇄합니다.

절대 경로명으로 인쇄 하고 싶은데 ls어떻게 해야 합니까?

find / -type d -mount -exec ls -ls  {} \;

ls디렉토리 내의 상대 파일 이름만 인쇄합니다.

답변1

POSIX적으로:

find / -xdev -type d -exec sh -c 'for d; do ls -lsd "$d"/*; done' sh {} +

-xdev효과는 동일 -mount하지만 이식성이 뛰어납니다.

빈 디렉터리에서는 실패합니다.

답변2

ls이는 디렉터리가 인수로 제공될 때 일반적인 동작입니다. 따라서 디렉토리를 구체적으로 다루는 것을 피해야 합니다 ls.

  1. ls대신 -type f에 파일 경로를 에 전달해야 합니다 -type d.

  2. 디렉토리도 전달하려면(아니요) -type f옵션이 필요합니다.-dls

답변3

실행할 명령을 다음으로 변경합니다 echo.

find / -type d -mount -exec echo {} \;

관련 정보