파일이 NFS 마운트에 있는지 확인하는 간단한 테스트가 있습니까? (또는 더 일반적으로 파일이 어떤 유형의 파일 시스템에 존재합니까?) fstab과 일치하는 보기 흉한 접두사를 상상하고 있습니다...
답변1
Linux의 GNU는 stat
최소한:
stat -fc %T /path/to/the/file
nfs
대부분의 일반적인 파일 시스템 에서 작동 하지만 전부는 아닙니다.
답변2
이것은 약간 무작위적이지만 매우 더러운 것은 아닙니다.
df -TP /path/to/your/file | tail -1 | awk '{print $2}'
파일 시스템 이름에 공백이 있으면 충돌이 발생합니다.
답변3
나는 C에서 답변을 찾고 있었고 몇 년 전의 이 질문이 첫 번째 Google 결과로 나타났습니다. 비록 비록 그것이 쉘 스크립트에 초점을 맞추고 있지만, 나는 찾고 있는 다른 사람들과 내 결과를 공유하고 싶다고 생각했습니다.
이 문제 및 관련 질문에 대해 언급했듯이 이식 가능한 방법은 없습니다. 다음은 C에서 파일 이름(마운트 지점 또는 마운트 지점 아래의 모든 파일일 수 있음)을 기반으로 파일 시스템 유형을 가져오는 몇 가지 이식 불가능한 방법입니다.
리눅스
맨페이지의 마법 단어 사용 statfs(2)
및 f_type
비교(예 NFS_SUPER_MAGIC
: )
맥OS, FreeBSD, OpenBSD, NetBSD
statfs(2)
[또는 statvfs(2)
NetBSD에서는] 다음에 f_fstypename
문자열을 사용하십시오 . ( "nfs"
NFS 경우에 적용됩니다.)
다른 *BSD 및 유사 항목에 이 내용이 있을 수 있습니다. 위 내용은 제가 테스트한 내용입니다.
솔라리스
를 사용하십시오 . stat(2)
Solaris에 멤버 struct stat
가 있습니다 st_fstype
. ( "nfs"
NFS 사례에 적용됩니다. /etc/dfs/fstypes
원격 파일 시스템 유형의 전체 목록을 구문 분석하도록 선택할 수 있습니다.)