
¿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 findmnt
veo 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@roaimafindmnt
será el mejor.