내가 찾은 검색 결과는 파일 시스템이 특정 경로에 마운트되어 있는지 또는 특정 경로가 마운트 지점으로 사용되고 있는지 확인하는 것입니다. 특정 장치나 파일(예: 파일 시스템 이미지)이 마운트되었는지 확인하는 방법을 찾고 있습니다.별말씀을요. 이 솔루션은 장치/파일 경로의 공백을 처리할 수 있어야 합니다.
다음은 검색 결과에 표시되는 솔루션이 아닙니다.
mountpoint -q "${PATH}"
${PATH}
마운트 지점인지 만 테스트합니다 .grep -q "${PATH}"
일부 출력 에 적용하면${PATH}
공백이 있을 수 있고 이와 같은 명령의 출력에도 공백이 있기 때문에 적용이 작동하지 않을 수 있습니다mount
.
또한 파일/장치가 마운트된 위치를 반환해야 합니다.
답변1
공백이 \040(8진수 값)을 사용하여 인코딩되는 이 파일 /proc/self/mounts
(또는 ) 을 확인할 수 있습니다 ./proc/mounts
예를 들어 다음 /dev/sda1
위치에 설치됩니다 ./mnt/mount sda1
grep '/dev/sda1' /proc/mounts | cut -d ' ' -f 2
반품:/mnt/mount\040sda1
grep "$(echo '/mnt/mount sda1' | sed 's/ /\\\\040/g')" /proc/mounts | cut -d ' ' -f 1
반품:/dev/sda1
답변2
/etc/mtab, /proc/mounts 등은 소스 파일 경로를 표시하지 않습니다.
산명령이 실행되고 출력 형식이 지정됩니다.
따라서 다음을 시도해 볼 수 있습니다.
mount | egrep "${file_path=} on /"
export file_path="/home/kalavan/Downloads/debian 6.0.10-amd64-netinst.iso"
mount | egrep "${file_path=} on /"
/home/kalavan/Downloads/debian 6.0.10-amd64-netinst.iso on /mnt/pc75 type iso9660 (ro,relatime)
그리고
mount | grep debian
/home/kalavan/Downloads/debian 6.0.10-amd64-netinst.iso on /mnt/pc75 type iso9660 (ro,relatime)
/home/kalavan/Downloads/debian 6.0.10-amd64-netinst.iso_somethingelse on /mnt/projekte type iso9660 (ro,relatime)
그러면 실수할 위험이 훨씬 작아집니다. 나머지 선 패턴을 정규식과 일치시키려고 시도할 수도 있습니다.