tl; dr readlink -f
은 0
기존 디렉토리에 존재하지 않는 파일을 realpath
반환 하지만을 반환합니다 1
. 그러나 존재하지 않는 파일 readlink -e
처럼 작동 realpath
하고 반환 1
됩니다 (끝의 편집기 참고 사항 참조).
readlink -f
$ readlink -f non-existent-file
/home/user/non-existent-file
$ echo $?
0
readlink -e
$ readlink -e non-existent-file
$ echo $?
1
realpath
$ realpath non-existent-file
non-existent-file: No such file or directory
$ echo $?
1
readlink -f
존재하지 않는 디렉토리
readlink -f
경로의 존재하지 않는 부분에 따라 동작이 달라집니다.
$ readlink -f /tmp/non-existent-dir/foo
$ echo $?
1
가용성
readlink
대부분의 Linux 배포판에 설치됩니다. 반면, realpath
종종 명시 적으로 설치해야합니다.
요약하자면
호출을 바꾸려면 realpath ...
을 사용하십시오 readlink -e ...
.
Ubuntu 16에서 readlink (GNU coreutils) 8.21 및 realpath 버전 1.19로 테스트되었습니다 .
( Ed .: @AnthonyGeoghegan은 " 이것은 데비안 버전을 말한다 realpath
. GNU 버전은realpath
readlink -f
" 와 동일하게 동작한다 ")
readlink -f
GNU 오래 전에 OpenBSD에있었습니다. NetBSD에, FreeBSD의 및 오픈 BSD 이제 모든이readlink -f
(당신의 링크가 심지어 그것을 언급).realpath
FreeBSD와 IRIX에서 오랫동안 사용되어 왔습니다. (데비안에서 이전 버전인지는 모르겠습니다). HPUX 및 IRIX는이readlink
아니지만,-f
.realpath
데비안 실험 의 패키지는 이제 coreutils 의 패키지입니다 (실험이 중단되는지 확인하는 실험으로). dwwwrealpath
는readlink -e
GNU 와 비슷하게 작동 하지만readlink -f
완전한 드롭 인 대체 기능은 아닙니다