
¿Cuál es la mejor manera de obtener información del sistema de archivos sobre un archivo?
Por ejemplo, si tengo un archivo
/media/xyz/path/to/file.ext
y /etc/fstab
contiene
//server1/Share1 /media/xyz cifs option1=value1,...
¿Cómo puedo determinar que el archivo está en un recurso compartido Samba, que tiene la ruta local /path/to/file.ext
y con qué opciones se montó el sistema de archivos?
¿Analizar el resultado de mount
una solución portátil? ¿O analizar findmnt
? ¿Existe alguna forma compatible con POSIX de lograrlo?
Respuesta1
stat(1) es una forma portátil de encontrar parte de esta información, por ejemplo:
stat --file-system --format="%T" /media/xyz/path/to/file.ext
Todo lo demás es muy específico del sistema operativo; en los sistemas Linux recientes se puede utilizar fácilmente findmnt --output
en un script.
Respuesta2
Si entendí su necesidad correctamente y combiné partes de respuestas anteriores, lo siguiente podría ser lo que necesita. definir en script (por ejemplo, en su .bashrc)-
findpart ()
{
df -h $1|sed 1d|cut -d" " -f1|xargs findmnt -n
}
y luego puedes ejecutarlo según sea necesario
findpart /foo/file.ext