동일한 작업을 수행하는 대체 명령이 있습니까 findmnt -T . -o TARGET |tail -n 1
?
/media/username/HDD/subdir1/subdir2
예: 이 명령은 현재 작업 디렉터리가 /media/username/HDD/
.
Windows에서 현재 드라이브/파티션의 최상위 디렉터리 경로는 다음 \
과 /
같습니다 .지침), 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
하지만 정말로 인쇄하라는 명령을 원한다면,@roaimafindmnt
최고가 될 것입니다.