¿Comando para obtener la ruta al punto de montaje de la partición/unidad actual?

¿Comando para obtener la ruta al punto de montaje de la partición/unidad actual?

¿Existe algún comando alternativo que haga lo mismo findmnt -T . -o TARGET |tail -n 1?

Ejemplo: si mi directorio de trabajo actual es /media/username/HDD/subdir1/subdir2, ese comando generaría /media/username/HDD/.

En Windows, la ruta al directorio más alto de la unidad/partición actual es \(también /funciona encmd), porque Windows funciona con letras de unidad en lugar de"todo es un archivo".

Unix funciona de manera más unificada y modular, pero ¿cómo se puede encontrar el punto de montaje de una partición? Si no hay una solución más corta que findmnt -T . -o TARGET |tail -n 1, no hay problema. Sólo quería saber si hay una manera diferente.

Respuesta1

Al mirar, man findmntveo una serie de sugerencias que parecen hacer lo que desea al encontrar el punto de montaje para un sistema de archivos:

findmnt --first-only --noheadings --output TARGET --target "$PWD"
/home

O con menos legibilidad:

findmnt -fno TARGET -T "$PWD"
/home

Respuesta2

Si solo desea encontrarlo usted mismo, no para usarlo más adelante en una variable. No encontrarás un camino más corto que df .:

$ df . 
Filesystem     1K-blocks      Used Available Use% Mounted on
/dev/sda6      343650580 232263752  93860660  72% /home

Esto tiene detalles adicionales, por supuesto, por lo que no se puede usar para guardar el nombre del dispositivo directamente en una variable. Sin embargo, es muy fácil de analizar:

$ df . | grep -Po '^/\S+'
/dev/sda6
$ df . | awk '/^\//{print $1}'
/dev/sda6

Pero si realmente quieres un solo comando para imprimirlo, entonces@roaimafindmntserá el mejor.

información relacionada