현재 파티션/드라이브의 마운트 지점에 대한 경로를 가져오는 명령입니까?

현재 파티션/드라이브의 마운트 지점에 대한 경로를 가져오는 명령입니까?

와 동일한 작업을 수행하는 대체 명령이 있습니까 findmnt -T . -o TARGET |tail -n 1?

예: 현재 작업 디렉터리가 이면 /media/username/HDD/subdir1/subdir2해당 명령은 /media/username/HDD/.

Windows에서 현재 드라이브/파티션의 가장 높은 디렉터리에 대한 경로는 다음과 같습니다 \./cmd), Windows는 드라이브 문자 대신에 드라이브 문자를 사용하여 작동하기 때문입니다."모든 것이 파일이다".

Unix는 더욱 통합되고 모듈화되어 작동하지만 파티션의 마운트 지점을 어떻게 찾을 수 있습니까? 보다 짧은 해법이 없다면 findmnt -T . -o TARGET |tail -n 1문제가 되지 않습니다. 다른 방법이 있는지 알고 싶었습니다.

답변1

man findmnt파일 시스템의 마운트 지점을 찾을 때 원하는 작업을 수행하는 것처럼 보이는 여러 가지 제안이 있습니다 .

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

또는 가독성이 떨어지는 경우:

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

답변2

나중에 변수에서 사용하지 않고 직접 찾고 싶은 경우. 다음보다 더 짧은 방법은 찾을 수 없습니다 df ..

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

물론 추가 세부 정보가 있으므로 장치 이름을 변수에 직접 저장하는 데 사용할 수 없습니다. 그러나 구문 분석하는 것은 매우 쉽습니다.

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

하지만 정말로 단일 명령으로 인쇄하려면@roaima의findmnt최고가 될 것입니다.

관련 정보