fs.lchownSync()方法用于同步更改给定路径的所有者和组,但是,如果路径为1,则它不引用符号链接,这与fs.chownSync()方法确实取消引用链接到其路径是不同的。
该函数接受可用于设置各自所有者和组的用户ID和组ID。它不返回任何东西。
用法:
fs.lchownSync( fd, uid, gid )
参数:此方法接受上述和以下所述的三个参数:
- fd:它是一个整数,表示必须更改所有者和组的文件的文件描述符。
- uid:该数字表示与要设置的所有者相对应的用户ID。
- gid:该数字表示与要设置的组相对应的组ID。
以下示例说明了Node.js中的fs.lchownSync()方法:
范例1:本示例使用lchownSync()方法显示所有者和组的设置。
// Node.js program to demonstrate the
// fs.lchownSync() method
// Import the filesystem module
const fs = require('fs');
let filepath = "example_file.txt";
let symlinkpath = "symlinkFile";
// Create a symlink to the file
fs.symlinkSync(filepath, symlinkpath);
// Set the owner and group of the symbolic
// link to a new one
// New owner is "geeksforgeeks" with user id 1200
// New group is "editor" with group id 1201
fs.lchownSync(symlinkpath, 1200, 1201);
console.log("Given uid and gid set successfully");
在运行代码之前:
xubuntu@xubuntu:~/Desktop/fs-lchownSync$ ls -l total 4 -rw-rw--w- 1 xubuntu xubuntu 4 Apr 26 05:10 example_file.txt -rw-rw-r-- 1 xubuntu xubuntu 290 Apr 26 05:15 index.js
代码输出:
Given uid and gid set successfully
运行代码后:
xubuntu@xubuntu:~/Desktop/fs-lchownSync$ ls -l total 4 -rw-rw--w- 1 xubuntu xubuntu 4 Apr 26 05:10 example_file.txt -rw-rw-r-- 1 xubuntu xubuntu 290 Apr 26 05:15 index.js lrwxrwxrwx 1 geeksforgeeks editor 16 Apr 26 09:15 symlinkFile -> example_file.txt
范例2:本示例显示了chownSync()和lchownSync()在取消引用符号链接方面的比较。
// Node.js program to demonstrate the
// fs.lchownSync() method
// Import the filesystem module
const fs = require('fs');
let filepath = "example_file.txt";
let symlinkpath1 = "symlinkFile1";
let symlinkpath2 = "symlinkFile2";
// Create two symlinks to the file
fs.symlinkSync(filepath, symlinkpath1);
fs.symlinkSync(filepath, symlinkpath2);
// Use lchownSync() on the first symlink
// New owner is "geeksforgeeks" with user id 1200
// New group is "owner" with group id 998
fs.lchownSync(symlinkpath1, 1200, 998);
console.log("lchownSync:uid and gid set successfully");
// Use chownSync() on the second symLink
// New owner is "sam" with user id 1100
// New group is "editor" with group id 1201
fs.chownSync(symlinkpath2, 1100, 1201);
console.log("chownSync:uid and gid set successfully");
在运行代码之前:
xubuntu@xubuntu:~/Desktop/fs-lchownSync$ ls -l total 4 -rw-rw--w- 1 xubuntu xubuntu 6 Apr 26 09:15 example_file.txt -rw-rw-r-- 1 xubuntu xubuntu 777 Apr 26 09:16 index.js
代码输出:
lchownSync:uid and gid set successfully chownSync:uid and gid set successfully
运行代码后:
xubuntu@xubuntu:~/Desktop/fs-lchownSync$ ls -l total 4 -rw-rw--w- 1 sam editor 6 Apr 26 09:15 example_file.txt -rw-rw-r-- 1 xubuntu xubuntu 777 Apr 26 09:16 index.js lrwxrwxrwx 1 geeksforgeeks owner 16 Apr 26 09:15 symlinkFile1 -> example_file.txt lrwxrwxrwx 1 root root 16 Apr 26 09:15 symlinkFile2 -> example_file.txt
参考: https://nodejs.org/api/fs.html#fs_fs_lchownsync_path_uid_gid
相关用法
- Node.js console.timeLog()用法及代码示例
- Node.js fs.fsyncSync()用法及代码示例
- Node.js GM charcoal()用法及代码示例
- Node.js GM blur()用法及代码示例
- Node.js GM sharpen()用法及代码示例
- Node.js GM drawLine()用法及代码示例
- Node.js GM drawArc()用法及代码示例
- Node.js GM drawPolyline()用法及代码示例
注:本文由纯净天空筛选整理自sayantanm19大神的英文原创作品 Node.js | fs. lchownSync() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。