In teoria stat ti dirà su quale dispositivo si trova il file e dovrebbe esserci un modo per mappare il dispositivo su un punto di montaggio.
Ad esempio, su Linux, dovrebbe funzionare:
stat -c '%m' $path
df prende il percorso come parametro, quindi qualcosa di simile dovrebbe essere abbastanza robusto;
df "$path" | tail -1 | awk '{ print $6 }'
Sono sempre stato un fan dell'utilizzo delle opzioni di formattazione di un programma, poiché può essere più robusto della manipolazione dell'output (ad esempio se il punto di montaggio ha spazi). GNU df consente quanto segue:
df --output=target "$path" | tail -1
Sfortunatamente non c'è alcuna opzione che posso vedere per impedire la stampa di un'intestazione, quindi la coda è ancora necessaria.