2011-01-05 65 views
3

我打算在bash 中添加一個新功能,並且該作業需要一個func才能從給定的inode值 獲取目錄名,那麼如何獲得這項工作?我的意思是,如果有在bash的源代碼 一些內置FUNC如果不是,任何幫助將接受如何通過c中的inode值獲取目錄名?

+0

索引節點inode是你想要的名稱的索引節點,還是它在某個包含你想知道名稱的目錄中的文件索引節點? – 2011-01-05 15:48:02

+2

你意識到一個給定的文件可以在幾個不同的目錄中,不是嗎? – 2011-01-05 18:03:22

+0

你能舉一個例子說明你如何使用這個功能(以及它如何有用)? – nategoose 2011-01-05 22:41:39

回答

1

列出目錄,並獲得..索引節點,然後列出,並找到該文件具有您是inode的名字尋找。

+0

如果你只知道inode,你如何列出目錄? (這與具有文件描述符明顯不同。) – ephemient 2011-01-05 16:27:43

+0

@ephemient:哎呦。我想這似乎是這樣的有用的事情,我認爲你可以做到這一點,而不在內核中。 – 2011-01-05 16:36:35

+0

好吧,我是中國人,我的linux系統被配置爲zh_CN.utf-8 lang,但正如你所知,windows的默認編碼不是這個,而且一旦我用scp將文件從windows複製到我的linux服務器,然後保持原始編碼,所以它會顯示質量在我的Linux服務器上,我想我可以使用ls -i來顯示所有文件或目錄的inode值,然後使用cd -i inode_value進入一個目錄,顯示質量 – jyf1987 2011-01-07 05:51:43

6

如果不通過文件系統搜索包含具有給定inode的文件的目錄,則這是不可能的。文件名是對沒有反向鏈接的索引節點的名稱引用。

+1

注意btrfs有/將有反向鏈接。 – user502515 2011-01-05 17:13:23