Pitfalls when switching to Linux
Common newbie mistakes
- downloading from untrusted sources in the internet when there's a package in the package manager
From Windows
Files and Folders
File and folder names are case sensitive.
File system hierarchy
There are no different 'drives' with letters (C:, D:, …) like in Windows. Linux organises all programs and data in a single unified structure called the file system tree. It starts at the so-called root level at / and you descend in folders divided by a slash. Here are the important folders on a root level, taken from a guide:
| Directory | Content |
|---|---|
| /bin | Common programs, shared by the system, the system administrator and the users. |
| /boot | The startup files and the kernel, vmlinuz. |
| /dev | Contains references to all the CPU peripheral hardware, which are represented as files with special properties. |
| /etc | Most important system configuration files, data similar to those in the Control Panel in Windows |
| /home | Home directories of the common users. |
| /lib | Library files, includes files for all kinds of programs needed by the system and the users. |
| /lost+found | Every partition has a lost+found in its upper directory. Files that were saved during failures are here. |
| /mnt | Standard mount point for external file systems, e.g. a CD-ROM or a digital camera. |
| /net | Standard mount point for remote file systems |
| /opt | Typically contains extra and third party software. |
| /proc | Virtual file system containing information about system resources. More information: `man proc` in a terminal window. |
| /root | The administrative user's home directory. Mind the difference between `/`, the root directory and `/root`, the home directory of the root user. |
| /sbin | Programs for use by the system and the system administrator. |
| /tmp | Temporary space for use by the system, cleaned upon reboot, so don't use this for saving any work! |
| /usr | Secondary hierarchy for read-only user data; contains the majority of (multi-)user utilities and applications. |
| /usr/bin | Non-essential command binaries (not needed in single user mode); for all users. |
| /usr/local | Tertiary hierarchy for local data, specific to this host. Typically has further subdirectories, e.g., bin, lib, share. |
| /usr/share | Architecture-independent (shared) data. |
| /var | Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, etc. |
More information: FHS on Wikipedia