0
從http://en.wikipedia.org/wiki/Inode「Unix目錄是‘鏈接’結構列表」
Unix目錄是「鏈接」 結構,其中的每一個包含一個 文件名和一個inode編號的列表。
我想只是得到這個鏈接列表的長度,目錄中的文件的名稱並不重要在我的代碼中的這一點。
Perl中的解決方案將是首選,但任何解決方案都可以。
從http://en.wikipedia.org/wiki/Inode「Unix目錄是‘鏈接’結構列表」
Unix目錄是「鏈接」 結構,其中的每一個包含一個 文件名和一個inode編號的列表。
我想只是得到這個鏈接列表的長度,目錄中的文件的名稱並不重要在我的代碼中的這一點。
Perl中的解決方案將是首選,但任何解決方案都可以。
opendir DIR, '.';
$num_items = @{[readdir DIR]};
closedir DIR;
的中心點是readdir
返回所有的目錄項在列表環境中調用時。
我正在尋找一個較低級別的解決方案,因爲readdir將迭代目錄的內容。 Wikipeida文章讓我感到目錄結構本身可能有一些元信息,比如「這裏有'n'個元素。」 – Trueblood 2010-02-12 16:13:29
@Trueblood:不,沒有,至少不能以便攜的方式訪問。作爲一個粗略的指導,你可以使用目錄的大小,但是如果(比如說)將一百萬個文件放在一個目錄中(這樣它就會變大),然後再次刪除這些文件,那麼目錄就不需要縮小。在某些文件系統中,放大的大小永遠保留。 :-) – 2010-02-12 16:44:09