The most basic ROS tutorials don't really require any specific knowledge about C++/Python or Ubuntu Linux, but familiarity with Ubuntu Linux at least is highly recommended. To complete the tutorials you really only need to know how to open the terminal in Ubuntu and follow instructions:
Going beyond the tutorials and even understanding what they're teaching will require more knowledge of Python and/or C++/CMake.
I also recommend reading the conceptual overview, or at least going back to it frequently to help you understand the core concepts:
As for which version of ROS to use, please see:
Originally posted by William with karma: 17335 on 2018-02-13
This answer was ACCEPTED on the original site
Post score: 0
Comment by gvdhoorn on 2018-02-14:
@ZeyadTh: you might also be interested in the ROS Industrial Training Exercises. It says 'industrial', but the first few chapters are all about ROS in general and it includes a Linux fundamentals section.
No Python though.