절대 경로명으로 인쇄 하고 싶은데 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
.
ls
대신-type f
에 파일 경로를 에 전달해야 합니다-type d
.디렉토리도 전달하려면(아니요)
-type f
옵션이 필요합니다.-d
ls
답변3
실행할 명령을 다음으로 변경합니다 echo
.
find / -type d -mount -exec echo {} \;