GNU/Linux Filesystem
Computer center
Eng. Ali Al-Obal
2017
What We Will Learn
Introduction
Filesystem Hierarchy Standard
Directory layout of Linux FS
Help
Mounting
2
Introduction
Filesystem
How are data stored in storage?
How do users access the data?
Data organization, files and directories
Filesystem types
Disk FS: ext2, ext3, FAT, FAT32 & NTFS
Network FS: Samba & NFS
Flash FS: JFFS2
Special FS: proc FS
3
Introduction (cont’d)
You should understand Linux FS
Why?
Everything in Linux is file, if it is NOT process
Easy to use
Open file, read/write and close the file
Unlike Windows, Linux FS is standard FS
Everyone should learn standards
4
Filesystem Hierarchy Standard
Started by Dennis Ritchie, 1993
Defines the main directories and their
contents in most Linux-based systems
5
FHS
There is not any drive C:, D:, …
All directories are under “/”
“/” is the root directory
It is possible
to have multiple partitions
to multiple filesystems
6
The “/”
The primary hierarchy in FSH
The root of tree of filesystem
All paths start form here
There is only one “/” in filesystem
7
The “/”
boot bin dev etc lib proc root sbin tmp usr var
8
boot
Linux kernel
Boot loader configuration
If you lost boot
You cannot boot your OS
9
boot
boot
vmlinuz-2.6.12 config-2.6.12 grub
grub.conf
10
bin
Essential programs
Need for system startup
Basic commands for
Navigatingin filesystem
File management
11
bin
bin
bash bzip2 cat ... gzip ls mv rm
12
dev
Everything is file
Hardware components (devices) are file
Hard disk
Key board
All device files are here
Direct interaction with device driver
Open the device file
Read & Write
13
dev
dev
hda fda sda ... tty random null
14
etc
System configuration directory
What is done by the registry in Windows
All configuration file are text files
You can view and edit it manually
15
etc
etc
bashrc fstab inittab passwd shadow init.d X11
network named httpd X11.conf
16
home
Home directory of user
Each user has a directory
/home/bahador
/home/hamed
All files of user are stored here
17
lib
Programs need libraries
Dynamically linked libraries
Programmers need libraries
All essential libraries are here
Needed for system startup
18
lib
lib
libc libm libcrypt libpthread modules
19
proc
Kernel’s interface
Kernel pseudo-directory
Special directory
It is NOT a directory on hard disk
Kernel Configuration
Kernel State monitoring
20
proc
proc
cpuinfo meminfo devices interrupts net sys 1 129
tcp udp net kernel
21
root
Home directory of root
Don’t confuse
/ is the “root of Filesystem”
root is the name of system admin
/root is the admin
22
sbin
System configuration programs
Formathard disk
Manage hardware
Only “root” can run the programs
23
sbin
sbin
fsck mkfs mount ... adduser poweroff
24
tmp
Temporary directory
All temp files are created by programs
Your temp files
It is emptied regularly
25
usr
Secondary hierarchy
Very useful programs
We usually use them
compiler, tools
Are not essential for system startup
26
usr
usr
bin doc include lib local sbin src
Linux-2.6.14
27
var
The variable directory
All dynamic files
User cannot change the files
28
var
var
cache lib lock log www named
message boot.log
29
Helps
Some documents are in /usr/share/doc
Info pages are not complete help
info <command name>
Man pages
/usr/share/man
man1: user commands, man8: System administration
man <command name>
30
Permissions
There are 3 basic permissions
Read (r)
Write (w)
Execute (x)
How to find them
ls -l
How to change them
chmod +/- r/w/x <filename>
31
Mounting
Mount
To add a filesystem to other filesystem
Add you cool-disk FS to you laptop FS
How?
mount <options> <device> <mount point>
mount -t vfat /dev/sdb1 /mnt/flash
Don’t forget the umount
umount <mount point>
umount /mnt/flash
32
Linux FS vs. Windows FS
There is not drive C:, D:
Top hierarchy is /
Path separator is / not \
File extensions have NOT any meaning
There is not hidden attribute, hidden files are
started by .
33
?
34