Unix/Mac [bash/c api]: 주어진 경로가 이동식 장치의 파일을 가리키는지 감지합니다.

Unix/Mac [bash/c api]: 주어진 경로가 이동식 장치의 파일을 가리키는지 감지합니다.

파일 경로(마운트, 심볼릭 링크 등 확인)가 제공된 저장 장치의 유형을 알려주는 *nix 명령이나 C API가 있습니까? 파일이 이동식 장치에 있는지 확인해야 합니다.

답변1

find가 저장 장치를 표시하기에 충분한지 여부는 알 수 없습니다.

find /path/to/your/file.xml -printf "%F"

맨페이지에서:

 %F     Type of the filesystem the file is on; this value can be used for -fstype.

또 다른 아이디어는 'stat'입니다.

stat /home/stefan/.shosts  
  File: `/home/stefan/.shosts'
  Size: 12          Blocks: 8          IO Block: 4096   regular file
Device: 807h/2055d  Inode: 89647       Links: 1
Access: (0600/-rw-------)  Uid: ( 1000/  stefan)   Gid: ( 1000/  stefan)
Access: 2011-04-11 10:24:21.000000000 +0200
Modify: 2011-03-30 14:45:29.000000000 +0200
Change: 2011-03-30 14:46:03.000000000 +0200

'Device:'라는 줄이 있는데 어떻게 해야 할지 모르겠습니다. 어쩌면 당신은 알아낼까요?

답변2

일부 *nix 구현에는 멋진 도구가 있을 수 있지만 mount(1) 출력을 사용하여 파일과 해당 파일 시스템을 연관시키는 것은 그리 어렵지 않습니다.

mfe@inker:/home/mfe$ mount
...
/media/WINXP_PRO_SP1 on /dev/dsk/c4t0d0s2 read only/nosetuid/nodevices/noglobal/maplcase/joliet/traildot/dev=14c0002 on Thu Apr  7 07:39:29 2011

마운트 이름 외에는 /media/WINXP_PRO_SP1에서 찾은 모든 파일이 DVD-ROM에 저장됩니다.

답변3

가 설치되어 있으면 scrape 의 출력을 hal볼 수 있습니다 .lshal

관련 정보