I don't know if it is possible but is there way to track for any changes that have been made to files, folders, and sub directory? and print the output in log file? The reason is I have this habit of deleting files using keyboard shortcut "shift+delete" so I have the need for a log file.

I have done something similar before. You'll need to install the package inotify-tools.

You would create a file somewhere in your home folder, put the following into it, mark the file executable, and in the Startups Applications program add the full path to the file to run it at login. It keeps running once started, and creates a log file in your home folder called 'deleted-files' (you can configure that below).

Now, here comes the annoying bit. This isn't perfect; it will log any file that is deleted and not only yours. And perhaps when you delete a batch of files in one go, it may not catch all events of that...

I don't know, you should test it. External hard disks are normally mounted to /media and not to your home folder, so those aren't included in the watch. You could add the following pieces of code to the file and it will also watch /media: