Unlike Windows, Linux has been designed from the beginning to be multi user and multi task system. Thus it has a different file system from the one Windows have. In Linux there is only one file system. Media devices like the hard disk and CD-Rom and USB are all mounted together in a single directory structure (e.g. Hard disk is mounted under root (/), CD-Rom is mounted under /media/cdrom). In Windows you only get the number of partitions (it could be one or more) assigned by letters, same apply for CD-Rom and other removable media like USB flash drive. Below is the common directories that you will find in many Linux distributions (some might differ slightly and in this article I am considering Ubuntu 11.10 64 bit file system particularly):
/bin standard installed programs like (cp, ls, the good old bash,etc)
/boot start up files
/dev computer devices considered as files or directories
/etc configuration files (for programs)
/home the home directory for all users
/host the host directory represent your windows drive (since installation has been done through WUBI) you can access windows files from there. If it was proper dual-booting this directory will not exist
this is where programs shared libraries are stored. The Windows equivalent is dll
/lib64 this is where 64 bit programs shared libraries are stored
/lost +found a
directory for lost and recovered files due to system errors or crashes
/media mounted media like USB flash drive, CD-Rom and cameras
/mnt temporarily mounted file systems
/opt big third party applications (e.g. oracle, java) reserved for the installation of add-on application software packages. The equivalent in Windows is Program Files.
/proc a virtual directory that contains processes information like memory usage, mounted devices such as camerasetc. these information are only presentable during run time
/root the home directory for the super user (root)
/run store files containing run time information during early boot
/sbin generally system administration programs like (fdisk, ifconfig,..etc)
/selinux a complimentary to a firewall (not a firewall by itself!) it determines which software can access which resources (e.g. forcing apache web server to respond to calls by a previously determined port only).
/srv holds site specific data that the system provide for protocols like (ftp, www, cvs)
/sys system information is stored in this directory
/tmp a temporary space used by system and programs. It clears its content when the System reboots
/usr Programs, libraries, documentation etc. for all user-related programs.
/var store all variable files and temporary files (e.g. log files, mail queue, space for temporary Files downloaded from the internet)
In the next article we will discuss some of the important terminal commands.
My name is Amin Salim and I am Sudanese born in Kuwait. I hold a degree in Information Systems (BSC) from the University of Leeds. I have worked as a research assistant for a local expertise and consultancy firm called (SUDEXAM). Then I travelled to Sierra Leone and worked for the project development unit as an Information Systems engineer. My role was doing the financial analysis and the whole editing for the feasibility studies and providing technical support. I am flexible, and a good team player as realized from conducting feasibility studies with people from different backgrounds and qualifications. Afterwards I came back to Sudan and worked as self-employed software engineer and have developed a system by myself from scratch for a charity eye-hospital. The system functionality was to keep track of stock and sales (written in Java). I am very versatile individual as proven from working on different disciplines and always looking to improve my skills.