Una de mis utilidades favoritas es namei
, parte util-linux
y, por lo tanto, generalmente presente solo en Linux:
$ namei /usr/share/foo/bar
f: /usr/share/foo/bar
d /
d usr
d share
foo - No such file or directory
Pero su salida no es muy analizable. Por lo tanto, si solo desea señalar que falta algo, namei
puede ser útil.
Es útil para solucionar problemas generales al acceder a una ruta, ya que puede hacer que indique si un componente es un enlace o un punto de montaje, así como sus permisos:
$ ln -sf /usr/foo/bar /tmp/
$ namei -lx /tmp/bar
f: /tmp/bar
Drwxr-xr-x root root /
Drwxrwxrwt root root tmp
lrwxrwxrwx muru muru bar -> /usr/foo/bar
Drwxr-xr-x root root /
drwxr-xr-x root root usr
foo - No such file or directory
La capital D
indica un punto de montaje.
access(2)
no es muy granular, así que la solución general implica escribir algo para repetir y probar cada elemento de la ruta a su vez ...