Node.js fs.symlink() Function
Last Updated :
08 Oct, 2021
The fs.symlink() method is used to create a symlink to the specified path. This creates a link making the path
point to the target
. The relative targets are relative to the link’s parent directory.
Syntax:
fs.symlink( target, path, type, callback )
Parameters: This method accept four parameters as mentioned above and described below:
- target: It is a string, buffer or URL which represents the path to which the symlink has to be created.
- path: It is a string, buffer or URL which represents the path where the symlink will be created.
- type: It is a string which represents the type of symlink to be created. It can be specified with ‘file’, ‘dir’ or ‘junction’. If the target does not exist, ‘file’ will be used.
- callback: It is the function that would be called when the method is executed.
- err: It is an error that would be thrown if the operation fails.
Below examples illustrate the fs.symlink() method in Node.js:
Example 1: This example creates a symlink to a file.
const fs = require( 'fs' );
console.log( "Contents of the text file:" );
console.log(fs.readFileSync( 'example_file.txt' , 'utf8' ));
fs.symlink(__dirname + "\\example_file.txt" ,
"symlinkToFile" , 'file' , (err) => {
if (err)
console.log(err);
else {
console.log( "\nSymlink created\n" );
console.log( "Contents of the symlink created:" );
console.log(fs.readFileSync( 'symlinkToFile' , 'utf8' ));
}
})
|
Output:
Contents of the text file:
Hello Geeks
Symlink created
Contents of the symlink created:
Hello Geeks
Example 2: This example creates a symlink to a directory.
const fs = require( 'fs' );
fs.symlink(__dirname + "\\example_directory" ,
"symlinkToDir" , 'dir' , (err) => {
if (err)
console.log(err);
else {
console.log( "Symlink created" );
console.log( "Symlink is a directory:" ,
fs.statSync( "symlinkToDir" ).isDirectory()
);
}
});
|
Output:
Symlink created
Symlink is a directory: true
Reference: https://nodejs.org/api/fs.html#fs_fs_symlink_target_path_type_callback
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...