2017-04-16 77 views
1

我跑fs.lstat,我得到這些統計信息的目錄:如何確定目錄是一個符號鏈接

Stats { 
    dev: 16777220, 
    mode: 16877, 
    nlink: 8, 
    uid: 501, 
    gid: 20, 
    rdev: 0, 
    blksize: 4096, 
    ino: 7366885, 
    size: 272, 
    blocks: 0, 
    atime: 2017-04-16T23:18:17.000Z, 
    mtime: 2017-04-16T23:14:49.000Z, 
    ctime: 2017-04-16T23:14:49.000Z, 
    birthtime: 2017-04-16T23:14:49.000Z } 

我怎麼能確定這個目錄是一個符號鏈接?

+1

檢查'isSymbolicLink'方法https://nodejs.org/api/fs.html#fs_class_fs_stats – zerkms

+0

感謝,我認爲util.inspect()將捕獲這些方法,如果它們存在,不知道它爲什麼不存在。 –

回答

1

我記錄的統計數據與

util.inspect(stats); 

對象,但對統計方法的對象是在對象的__proto__

stats.isSymbolicLink()被調用使用

而且我認爲您想使用fs.stat()而不是fs.lstat(),因爲前者不會遵循符號鏈接。如果你按照這個符號鏈接,最終你會到達一個實際的目錄,這將意味着

stats.isSymbolicLink()會返回false。但那不是我們正在尋找的。

所以答案是:

fs.stat(<path>, function(err,stats){ 

    if(stats.isSymbolicLink()){ 
      // do your thing 
     } 

}); 
相關問題