I think Linux users can basically be divided into average users and users who will put time into learning, who are passionate about Linux and eventually are amateur or professional programmers. The average users only want their software to work, and will use the system to accomplish various tasks and not bother with the way things work since they will not need this information. Over the years the ease of use of Linux has advanced considerably, to the point where everything works neatly out of the box, and for the users who only need to use it for basic stuff like web surfing, listening to movies or graphics, there are distributions like Ubuntu or Mint to satisfy their needs. Which is great, since a computer is first a tool, intended to help you do something with it, from a spreadsheet to an advanced graphics or CAD project, for example. The other category includes all the knowledge-hungry guys who usually want to learn more as they advance, who will dig into tutorials, read books, test and experiment.
Of course, most of the time, especially when you need to solve the task at hand in a timely fashion, you will usually just find the quickest way that works, and probably not bother on how exactly does it work. These tips are for beginners, but mostly for those who like Linux as a whole and like to sacrifice some of their own time to go on a path of constant learning how it works.
Full article