readlink -f는 여러 파일에서 작동하지 않습니다

readlink -f는 여러 파일에서 작동하지 않습니다

다음을 사용하여 readlink -f여러 파일을 실행 해 보았습니다 .wildcard "*"피연산자

주문하다

readlink -f *log

출력 (필수)

/home/trail_1.log
/home/trail_2.log

내가 뭐 잘못 했어요? 나는 파일 경로를 읽는 데 내가 아는 유일한 명령을 사용하고 있습니다 tcsh.readlink

답변1

다음을 사용할 수도 있습니다 realpath.

% realpath *
/data/code/mdweb/Gemfile
/data/code/mdweb/Gemfile.lock
/data/code/mdweb/README.markdown

realpathPOSIX가 아닙니다. FreeBSD 시스템에서는 기본적으로 사용 가능하며일부(그러나 AFAIK는 대부분의 (전부는 아님) Linux 시스템에 패키지로 설치할 수 있습니다.)
realpath의 동작은 구현마다 다를 수 있으므로 위의 동작은 다음과 같습니다.작동이 보장되지 않음. FreeBSD 10과 Arch Linux에서 테스트했습니다.

답변2

readlink하나의 파일에서만 작동하므로 이를 수행하려면 루프가 필요합니다.

for f in *; do
  readlink -f -- "$f"
done

관련 정보