2013-04-28 33 views

Trả lời

6

Bạn sẽ sử dụng cuộc gọi fs.stat cho điều đó.

Cuộc gọi fs.stat trả về đối tượng fs.Stats.

Trong đối tượng đó là thuộc tính mode. Chế độ sẽ cho bạn biết liệu tệp có thể thực thi hay không.

Trong trường hợp của tôi, tôi tạo ra một tập tin và đã làm một chmod 755 test_file và sau đó chạy nó thông qua đoạn mã sau:

var fs = require('fs'); 
test = fs.statSync('test_file'); 
console.log(test); 

gì tôi đã cho test.mode là 33261.

This link là hữu ích để chuyển đổi mode trở lại để unix tập tin cho phép tương đương.

+0

Cũng có một mô-đun rất hữu ích [chế độ cho phép] (https://github.com/mmalecki/mode-to-permissions) - nếu bạn không muốn gây rối với chi tiết . – tomekwi

+0

phải, tôi sẽ upvote này, nếu nó giải thích làm thế nào để tìm ra một tập tin đã được thực thi cho các chế độ –

2

Trong Node phương pháp fs.stat trả về một đối tượng fs.Stats, bạn có thể nhận được sự cho phép tập tin thông qua thuộc tính fs.Stats.mode. Từ bài đăng này: Nodejs File Permissions

5

Một tùy chọn khác mà chỉ dựa trên các built-in fs mô-đun là sử dụng một trong hai fs.access hay fs.accessSync. Phương pháp này dễ hơn là nhận và phân tích cú pháp chế độ tệp. Ví dụ:

const fs = require('fs'); 

fs.access('./foobar.sh', fs.constants.X_OK, (err) => { 
    console.log(err ? 'cannot execute' : 'can execute'); 
}); 
+0

đọc/ghi, hoặc thực hiện? chúng ta cần có khả năng thực thi tập tin –

+0

Điểm tốt. Tôi đã cập nhật ví dụ để phù hợp với câu hỏi cụ thể. –

Các vấn đề liên quan