Chris Mendez in For Developers, VirtualBox

Where to place your files on Linux, Ubuntu, CentOS, Raspberry Pi

As a regular EC2 user, commands such as ssh, scp, tar, zip, chmod and chown are like BFF's. The only thing I can't remember is where to place files. This little chart does an excellent job at guiding me where to place files. For example, if I'm about to install the source code of NodeJS, then I might want to use /usr/src.

Although the diagram says Linux, these directories pretty much apply to all OS'.

Directory Tree


Directory Tree

  • /bin contains all the core Linux programs.
  • /etc contains configuration information for the system.
  • /etc/init.d contains start-up information about which services to run.
  • /home contains the personal files and settings of each user.
  • /home/chris contains user data and files for the user "chris".
  • /mnt contains mounted filesystems such as CD-ROM's and USB sticks.
  • /root contains the files and settings for the root user.
  • /sbin contains built-in programs usually meant for root.
  • /usr contains third-party software and extra files.
  • /usr/bin contains third-party programs not part of the basic OS such as Firefox.
  • /usr/include contains programming code for people compiling their own software.
  • /usr/share contains shared application data, such as icons and wallpaper.
  • /usr/src contains uncompiled source programs for Linux files.
  • /var contains log data and process information.
  • /var/run contains PID programs that stop programs from running multiple times.