Hay varios realpathcomandos alrededor.
La realpathutilidad es un envoltorio alrededor de las realpathfunciones de la biblioteca y se ha reinventado muchas veces .
Debian solía mantener un realpathpaquete ( separado de dwwwdesde woody ) que no ha cambiado, excepto en relación con el embalaje y la documentación desde 2001, pero ahora se ha eliminado. Esta utilidad quedó en desuso porque ahora hay más alternativas estándar (GNU readlinky pronto GNU realpath), pero en ese momento, las utilidades de GNU ni siquiera tenían readlink. Esta implementación de algunos realpathadmite algunos optionspara evitar la resolución de enlace simbólico o producir una salida con terminación nula.
BusyBox también incluye su propio realpathcomando (que no tiene opción).
GNU coreutils introdujo un realpathcomando en la versión 8.15 en enero de 2012. Este es un reemplazo compatible para BusyBox y Debian realpath, y también tiene muchas opciones en común con GNU readlink.
realpathtiene el mismo efecto que readlink -fcon GNU readlink. Lo que distingue los dos comandos (o más bien los diversos realpathcomandos readlink -f) son las opciones adicionales que admiten.
GNU realpathno está en desuso; tiene el problema opuesto: es demasiado nuevo para estar disponible en todas partes. Debian solía omitir GNUrealpath de su coreutilspaquete y quedarse con el suyo realpath. No sé por qué, ya que GNU realpathdebería ser un reemplazo directo. A partir de Debian jessie y Ubuntu 16.04, sin embargo, realpathse utiliza GNU .
En los sistemas Linux, en este momento, su mejor opción para canonizar una ruta que puede contener enlaces simbólicos es readlink -f.
Los sistemas BSD tienen un readlinkcomando, con diferentes capacidades de GNU readlink. En particular, BSD readlinkno tiene una opción para canonizar las rutas, solo atraviesa el enlace simbólico que se le pasó.
readlinkPor cierto, tenía el mismo problema: también se inventó muchas veces (no agregar esta utilidad cuando se agregaron enlaces simbólicos a Unix fue una omisión lamentable). Ahora se ha estabilizado en varias implementaciones con muchos indicadores incompatibles (en particular BSD vs. GNU).
readlink -festaba en OpenBSD mucho antes de GNU. Todos NetBSD, FreeBSD y OpenBSD ahora tienenreadlink -f(su enlace incluso lo menciona).realpathha estado en FreeBSD e IRIX durante mucho tiempo (no sé si es anterior al de Debian). HPUX e IRIX también tienenreadlink, aunque no-f. Elrealpathpaquete en Debian experimental ahora es el de coreutils (como un experimento para ver si rompe cosas). El dwwwrealpathactúa más comoreadlink -eel GNU,readlink -fpor lo que no es un reemplazo completo de Dropin