리눅스

리눅스

파일이 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원격 파일 시스템 유형의 전체 목록을 구문 분석하도록 선택할 수 있습니다.)

관련 정보