2017-02-18 9 views
1

struct direntのstructメンバー(名前はd_fileno)がGnu C library [dirent.h] から見つかりました。
私は文書を読みましたが、ファイルのシリアル番号の意味を理解できませんでした。私はGoogleで満足のいく答えを見つけることができませんでした。
だから、私はファイルのシリアル番号のように見えるプログラムを書いたと決めました。だから、ファイルのシリアル番号は何ですか?

出力

$./fileno .. 
file_serial_number file_name 
[6838726]  [source] 
[6562883]  [..] 
[6838661]  [lstfl] 
[6838718]  [.] 
[6826161]  [research] 
[6838720]  [starcase] 

、これらの数字の意味は何ですか?プログラムから

関連部分:ドキュメントを1として

... 
while((pDirent = readdir(pDir)) != NULL) 
    { 
     printf("[%li]\t\t [%s]\n",pDirent->d_fileno, pDirent->d_name); 
    } 

    closedir(pDir); 
... 
+1

FSNをしても、iノード自体の概念を持っていないファイルシステムでは、すべてのファイル・システム内のいくつかの概念に対応し、中立用語であることを意図している用語。 'struct stat'に関しては、' st_ino'に相当します(あなたがリンクしているページのように)。 'st_ino'と' st_dev'の組み合わせはファイルを一意に識別すべきです。 'd_fileno'はPOSIXでは標準ではありません。 'struct dirent'の' d_name'要素だけがPOSIXによって義務づけられています(リンク先のページでも指摘されています)。 –

答えて

2

:同じデバイス上の他のすべてのファイルからこのファイルを区別

ファイルのシリアル番号、。

あなたはinode数の面でそれを理解することができます。 iノード番号を使用して、我々はそのようなファイルのユーザーID

  • のグループIDファイル
  • デバイスID
    • サイズなど、ファイルに関するメタデータを含むファイルのinode data structureを参照することができます
    • ファイル所有者、グループおよびその他
    • ファイル保護フラグのファイルモード情報とアクセス権限
    • FのタイムスタンプILE作成、変更など

    inodes

  • +0

    そのすべての他のファイルからそのアドレスですか? – metarose

    +1

    いいえ、この番号を使用して、ファイルのメタデータ情報を参照できます。 – Rishi

    +1

    @ H.Emre:ファイルの内容を識別する固有の番号です。複数の名前は同じFSN(inode)を参照できます。 –

    関連する問題