It is easy to make a mistake when copying (cp), moving/renaming (mv), removing (rm/rmdir), creating dirs (mkdir), and changing file permissions (chmod). It would be nice to have a log to view before commit.
Is there a tool to do these actions in a "transaction" and allow before/after diff and rollback? I know my question is very broad as there are a huge number of commands that could be supported. Even if the most basic actions were supported it would be helpful.