1 Use node.js library "chokidar"

2 Detail code: 

var watcher = chokidar.watch("/home/camille/Downloads", {ignored: /[\/\]./, persistent: true});var log = console.log.bind(console);watcher.on('add', function(path) { log('File', path, 'has been added'); }).on('addDir', function(path) { log('Directory', path, 'has been added'); }).on('change', function(path) { log('File', path, 'has been changed'); }).on('unlink', function(path) { log('File', path, 'has been removed'); }).on('unlinkDir', function(path) { log('Directory', path, 'has been removed'); }).on('error', function(error) { log('Error happened', error); }).on('ready', function() { log('Initial scan complete. Ready for changes.'); }).on('raw', function(event, path, details) { log('Raw event info:', event, path, details); })

3 Log: 

File /home/camille/Downloads/dd has been added
File /home/camille/Downloads/Untitled Document has been removed
Raw event info: rename dd { watchedPath: '/home/camille/Downloads' }
Raw event info: rename dddd { watchedPath: '/home/camille/Downloads' }
Raw event info: rename dd { watchedPath: '/home/camille/Downloads/dd' }
File /home/camille/Downloads/dddd has been added
File /home/camille/Downloads/dd has been removed