This question already has an answer here:

Does it make any difference whether a file system hierarchy sorts files by types and put them all under one directory (like all the binaries are under bin) or, on the other hand sorts them by package name (such as all Firefox files are under the firefox folder)?

I know there's this thread: What are the advantages of the Unix file system structure

but it is far from being exhaustive, and if you read the comments - it seems that there is a justified disagreement there.

I don't know. Although I love Linux, it seems to me more reasonable to put all files under one folder. What do you think?

marked as duplicate by Gilles linux Jun 10 '14 at 1:00

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • The current file hierarchy seen in popular distros is not something to brag about actually. It's polluted with stuff from old Unixes and other standards of no relevance now. Why would you want to compare it with other OSs? – SkyDan Jun 9 '14 at 21:04
  • Since the question has been asked before, why would you ask it again? This is a questions and answer site, where we seek to answer questions, not a discussion forum where people rehash the same topics over and over. – Gilles Jun 10 '14 at 1:01

although I love Linux it seems to me more reasonable to put all files under one folder, don't you think

Well ...

  • if binaries are all in one location, it's easy to protect them by limiting write-access with permissions
  • if configuration information is in a separate location, it's easy to change or backup configuration as needed, and apply appropriate permissions
  • program assets such as documentation may need more accessibility to users and different permissions as well.
  • if libraries are in their own central location, any program can access them and when they are updated any program using them will use the updated version.

The above is more reasonable on a historically multi-user, multi-process system where things like this have to be managed properly to ensure a stable system.

Since Linux and other Unices typically have a mature, integrated, searchable online package manager, the details of what packages' files lie where really don't need to concern the typical user, the package manager handles all the details. You'd only have to get into the "nitty-gritty" if you are compiling your own software or running something not available in your package manager.

  • Adding to your answer, something I realized by reading this source lately: iwf1.com/… - shared libraries are performance-wise too as any app can use them, they eventually result in smaller storage and memory footprint since there's no need for separate apps to bundle those again and run different versions separately. – user56549 Oct 27 '16 at 16:17