You are on page 1of 39

1

H IU HNH LINUX (H thng tp tin & thit b)


Phm Nguyn Khang, Thanh Ngh Email: pnkhang,dtnghi@cit.ctu.edu.vn

Ni dung
2

H thng tp tin Thit b ngoi vi Tr gip Cc lnh thao tc trn file v th mc

H thng tp tin
3

Cu trc cy ng dn Cc h thng tp tin trn linux H thng tp tin EXT2 Quyn truy cp

H thng tp tin
4

Cu trc cy
Nt: th mc (directory, folder) L: tp tin (file) im bt u: gc (root), k hiu /

H thng tp tin
5

ng dn (path)
Dng ch nh mt phn t (nt) trn cy th mc: th mc hoc tp tin ng dn tuyt i: bt u t gc (/) i qua cc nt trung gian v sau cng n phn t quan tm (s dng du / phn cch cc nt trn ng dn)
V d: /home/pnkhang/cours/linux/chuong1.ppt

ng dn tng ti: bt u t th mc hin hnh i n phn t quan tm (c th i ngc ln th mc cha)


V d: gi s th mc hin hnh l /home/pnkhang, ta c th s dng ng dn tng i: cours/linux/chuong1.ppt

Ch : / c 2 ngha
ng u ng dn tuyt i: gc, hay th mc gc Xut hin ch khc: phn cch cc th mc

H thng tp tin
6

Mt s th mc chun:
/bin, /sbin: cha cc lnh cn thit cho h thng /dev: tp tin thit b hoc cc file c bit /etc: cha cc file cu hnh ca Linux /lib: kernel modules, th vin chia s cho cc lnh nm trong /bin, /sbin /mnt, /media: (mount point) dng nh x cc phn vng a /proc: nhng thng s ca kernel /boot: Linux kernel, system map cho bc 2 ca bootloader /home: th mc ngi dng /root: th mc ca root (admin, ngi qun tr) /tmp: th mc tm /usr: ti nguyn (tnh, chia s) cho ngi dng /usr/local, /opt: phn mm, th vin chia s /var: d liu thay i, th mc spool (my in), tp tin nht k (logs), th mc chia s v khng chia s

Cc kiu h thng tp tin


7

ext2 (Linux native) ext3 = ext2 + nht k


Khi phc nhanh h thng file khi c s c

ext4:
K tha t ext3, ra i t phin bn 2.6.28 ca nhn Linux (25/12/2008 ) Kch thc file ti a ln n 16TB, kch thc a ti a n 1 EB (exabytes, 1018B)

swap: h thng file dng lm vng m cho b nh chnh

Cng c to h thng file


8

Cng c to h thng file: mkfs, mke2fs


C php: mkfs -t <kiu h thng file> /dev/<tn file thit b>
V d: mkfs -t ext2 /dev/hda1

C php: mke2fs /dev/<tn file thit b>


V d: mke2fs /dev/hda1 (mkfs -t ext2 /dev/hda1)

Ch :
c th s dng c lnh, ta phi m mt terminal v g lnh tng ng (xem phn hng dn ci t)

Tnh nht qun ca h thng file


9

H thng file b li
Do cp in, tt my bt bnh thng khng s dng shutdown

Kim tra v khi phc li tnh nht qun ca h thng file


S dng: fsck -t <kiu h thng file> /dev/<tn file thit b> V d: fsck t ext2 /dev/hda1

Cc kiu h thng tp tin


10

H thng file ext2 (Linux native)


Chia thnh Blocks c kch thc 1KB (2KB, 4KB hoc 8KB ty h thng) v nhm li thnh block group Super Block: cha thng tin v kch thc 1 block, cc inodes rng, thi im mount va qua, etc.

H thng Ext2
11
File system ext2 with 1 KB blocksize File Size Limit 16448 MB (~ 16 GB) File system Size Limit 2048 GB (= 2 TB)

ext2 with 2 KB blocksize

256 GB

8192 GB (= 8 TB)

ext2 with 4 KB blocksize

2048 GB (= 2 TB)

16384 GB (= 16 TB)

ext2 with 8 KB blocksize

65568 GB (~ 64 TB)

32768 GB (= 32 TB)

H thng Ext2
12

H thng file ext2 qun l 3 loi phn t


Th mc Tp tin bnh thng
Chui tun t bytes

Tp tin c bit
Thit b ngoi vi v cc cng c giao tip

Tt c u c qun l bng inode


C php, lnh,quyn truy cp u c qun l ging nhau

Inode
13

Inode
Khi c bn Mi file hay th mc c m t bng mt v ch mt inode.

Cc inodes ca mi Block Group c lu trong bng inode cng vi s s dng inode (inode bitmap, cho bit inode s dng, inode no cha) Hnh bn m t cu trc ca mt inode

Inode
14

Mode
Cho bit inode ny biu din g: tp tin, th mc, lin kt mm, thit b khi, thit b k t hoc thit b FIFO Quyn truy cp

Owner Information Size

Ngi dng v nhm ngi dng ca file hay th mc ny Kch thc ca tp tin (tnh bng bytes),

Timestamps
Lu tr thng tin v thi gian ca inode: thi gian to ra, ln cui cng thay i,

Datablocks
Cc con tr tr n cc khi d liu m inode ny m t 12 con tr u tin tr n cc khi vt l cha d liu tht s 3 con tr k tip mi con tr n mt khi gin tip bc 1, bc 2 v bc 3. Mi khi gin tip cha B/4 con tr

Inode
15

Ch :
inode c th m t cc tp tin thit b. y khng phi l cc tp tin tht s m l cc th bi chng trnh thng qua n truy cp cc thit b. Tt c cc tp tin trong /dev cho php chng trnh truy xut cc thit b ca Linux. V d chng trnh mount c mt tham s l mt tp tin thit b m t thit b ta cn nh x.

Th mc
16

Danh mc cc tp tin v th mc con To ra bng lnh mkdir <tn th mc> C th xem nh th mc l mt file c bit cha danh sch cc mc (record) Mi th mc cha t nht 2 mc:
Bn thn th mc ny . Th mc cha .. Cc mc cn li (nu c) cha cc tp tin v th mc con ca th mc ny

147 . 83 .. 1568 example Th mc Ni dung ca file example

inode 1568

Mi mc ca th mc c cu trc nh hnh bn

Lin kt (link)
17

Lin kt cng
ng dn truy cp n mt tp tin To mt lin kt
S dng lnh ln <file> <tn lin kt> Thm mt mc vo th mc

147 . 83 .. 1568 example Th mc D1

Mc ch: to ra mt tn cc b (hoc b dnh) ngn cho mt mt tp tin Xa mt tp tin = xa mt lin kt = gim s lin kt ca inode biu din tp tin tht s, khi s tham chiu = 0 xa tht s file ny

inode 1568

Ch : khng th to lin kt cng cho mt th mc

59 . 5 .. 1568 link Th mc D2

Lin kt (link)
18

Lin kt mm (symbolic link)


file c ni dung l tn ca mt file khc hoc mt th mc To lin kt mm
ln s file <tn lin kt>

a 147 . 83 .. 1568 example inode 1568 Th mc D1

Xa mt lin kt mm khng nh hng g n file m n tr n Xa file hoc th mc m mt lin kt mm tr n s lm cho lin kt khng cn hp l na

inode 2529

59 . 5 .. 2529 link Th mc D2

Cha ng dn n file example, vd: /home/D1/example

Thit b ngoi vi
19

Thit b ngoi vi
xem nh mt file cha trong th mc /dev c cc quyn truy cp ging nh file v th mc

Tuy nhin, x l bn trong s khc nhau


Hm ca h thng file i vi cc file bnh thng Trnh iu khin thit b (drivers) i vi cc thit b

Thit b hot ng hai ch


Khi (block) K t (character)

Ch khi
20

Cc thit b hot ng ch khi c 4 tnh cht:


Khi: n v thng tin (d liu) c kch thc c nh (512B, 1KB, 4K, ) Truy xut ngu nhin (random access) vo mt khi n i bt k S dng vng nh m cp nhn (kernel level) C th to mt h thng file trn thit b ny Cc thit b hot ng ch khi c xem nh mt di cc khi t 0 n N 1. V d: a, bng t,

Truy xut thng tin t cc thit b gm 2 bc:


c: Ghi:
Tng t nh c, i khi km theo cc c ch ng b ha Chuyn khi d liu t thit b sang b nh h thng (caching) Sao chp khi d liu t b nh h thng sang b nh chng trnh

Ch k t
21

Cc thit khng hot ng ch khi


Trao i bt k lng thng tin no Truy xut tun t Khng s dng b nh m Khng c h thng file trn thit b

V d:
Thit b u cui (terminal), my in, socket,

Truy xut gn nh truy xut file bnh thng Hai ch c:


Theo dng (line): d liu s c truyn i khi mt k t c bit c pht ra (v d; k t xung dng)
Cho php iu khin lung d liu, ngt

Tng k t (raw): c tng k t mt

Trnh iu khin thit b


22

Trnh iu khin thit b (driver)


iu khin mt loi thit b no Tp hp cc hm nh ngha sn (open, read, write, close, )

Cc hm c nhm li trong 2 bng


bdevsw (ch khi) cdevsw (ch k t)

Inode ca mt thit b c 2 mc
S hiu chnh (major number): ch s trong bng bdevsw hoc cdevsw S hiu ph (minor number): m t mt n v c th no ca loi thit b

Thit b gi lp
23

Pseudo devices
c qun l nh mt thit b nhng khng gn kt vi mt thit b vt l no

Bao gm:
Thit b o:
Terminal: ca s, ni kt mng Phn vng a

/dev/null: thng rc, ghi g vo y cng mt ht /dev/tty: terminal gn kt vi chng trnh /dev/mem: nh b nh ca tin trnh

Tr gip
24

Ti liu hng dn s dng c chia thanh 8 phn


Chng trnh thc thi hoc lnh ca Shell Gi h thng (hm do nhn cung cp) Gi th vin (hm do cc th vin chng trnh cung cp) Cc files c bit (trong /dev) nh dng file v cc quy c Games Khc Lnh qun tr h thng (dnh ring cho root) Hm ca nhn

S dng lnh
Man [section] <lnh> V d: man ls Hoc: man 1 ls

thot khi trang hng dn g phm q

Tr gip
25

Mi trang hng dn (kt qu ca lnh man) gm nhiu phn


NAME SYNOPSIS DESCRIPTION EXAMPLES OPTIONS FILES VERSION EXIT STATUS RETURN VALUE NOTES BUGS AUTHORS SEE ALSO Tn lnh C php M t V d minh ha Cc ty chn Cc files c lin quan Phin bn Trng thi kt thc Kt qu tr v ca lnh Ghi ch Li Tc gi Xem thm

Tr gip
26

Lnh man ch hin th tr gip khi ta g ng tn lnh Nu khng nh chnh xc tn lnh ta c th s dng lnh tm kim thng tin
apropos <t kha> V d:
apropos editor apropos lock

Cc lnh trn file v th mc


27

ls: lit k th mc cd: i th mc hin hnh pwd: in ng dn ca th mc hin hnh mkdir: to th mc rm: xa file, th mc cp: copy file hoc th mc mv: i tn hoc di chuyn file/th mc ln: to lin kt (cng v mm) touch: to v thay i thuc tnh file find: tm kim file/th mc which, whereis v locate: tm file trong c s d liu

Cc lnh trn file v th mc


28

Lnh lit k th mc: ls


C php: ls [options] <Path> Options
-i: lit k inode -h: in ra kch thc d c -l: lit k mi mc trn mt dng -n: lit k c UID v GID -p: hin th c cc k hiu m t (/, =, @) -R: recursive lit k c nhng th mc con -S: sp xp kt qu theo kch thc -t (-c): sp xp kt qu theo thi gian cp nht -u: hin th thi gian ca ln truy cp sau cng

Xem thm cc options khc: man ls

Cc lnh trn file v th mc


29

Lnh chuyn i th mc hin hnh (cd)


C php: cd <thmc> V d:
cd /home/pnkhang/toto cd ../dtnghi/toto

Lnh in ra v tr th mc hin hnh (pwd)


V d:
pwd

Cc lnh trn file v th mc


30

Nhm lnh to/xa th mc: mkdir, rm


C php ca lnh to th mc: mkdir <DirName>
V d: mkdir data

C php ca lnh xo th mc: rm -r <DirName>


V d: rm -r data

Lnh xo file: rm <FileName>


V d: rm data/toto

Option ca lnh rm:


-f: xa khng cn hi, v d: rm -f data/toto -r, hoc -R: xa quy (dng xa th mc)

Cc lnh trn file v th mc


31

Lnh sao chp


C php: cp [OPTIONS] <ngun1> <ngun 2> <ch>
V d: cp data/toto data/tata

Options:
-r, hoc -R: quy (dng copy c th mc) -d: b qua cc lin kt khi s dng R -f: p buc phi lm (force) -I: hin du nhc khi ghi -p: duy tr thuc tnh file

V d:
cp log.txt log.dat cp log.txt /home/user1 cp -f log.txt /home/user1

Cc lnh trn file v th mc


32

Di chuyn hoc i tn
C php: mv [options] <OldName> <NewName> mv [options] <Source> <Dest> mv [options] <Source> <DestDir>

Options
-f: p buc phi lm (force) -I: hin du nhc khi ghi

V d:
mv log.txt log.dat mv log.txt /home/user1 mv f log.txt /home/user1

Cc lnh trn file v th mc


33

Lnh to lin kt: ln


C php: ln [option] <Source> <DestSym> Option -s: lin kt mm (soft link), c th <Source> v <DestSym> nm trn h thng file khc nhau Mc nh l lin kt cng, <Source> v <DestSym> phi nm trn cng h thng file

V d:
ln -s lilo.conf lilo.sym

S tham kho v kch thc ca 2 kiu lin kt l khc nhau

Cc lnh trn file v th mc


34

Lnh to v thay i file: touch


C php: touch {options} <Files> Options -a: thay i thi gian truy cp file -m: thay i thi gian cp nht file -r: ly thuc tnh thi gian t file khc

V d:
touch test1.txt test2.txt testk.txt touch mytest.txt r /etc/fstab

Cc lnh trn file v th mc


35

Nhm lnh tm kim: find, which, whereis v locate C php: find <Th mc> <Criteria> [-exec <CMD> {} \;]
V d: find /usr -name pgsql
Tm file pgsql bt u t th mc /usr

V d: find /home -user 501


Tm tt c cc file ca ch s hu l ngi dng c s hiu UID l 501 bt u t th mc /home

V d: find /home/user1 name log.txt exec rm {} \;


Tm tt c cc file tn log.txt bt u t th mc /home/user1 v xa cc file ny

Lnh xargs: chuyn hng ra ca chtrnh1 n hng vo chtrnh2


V d: find /home/user1 name log.txt | xargs rm
C chc nng tng t lnh trn

Cc lnh trn file v th mc


36

Nhm lnh: which, whereis v locate


C php: Command <FileName> Lnh which: tm tr v ng dn y ca file t cc ng dn nh ngha trong bin PATH
V d: which xcalc

Lnh whereis: tm tr v ng dn y ca cc file t cc ng dn nh ngha trong bin PATH


V d: whereis xcalc

Lnh locate: tm tr v ng dn y ca cc file c cha chui FileName t cc ng dn nh ngha trong c s d liu /var/lib/slocate

Dng lnh updatedb cp nht c s d liu /var/lib/slocate


V d: locate xcalc

K t i din
37

?: thay th bt k k t no *: 0 hay nhiu k t [abc]: a hoc b hoc c [^abc]: bt k k t no tr a, b, c [a-z]: a, b, c, ..., z [0-5]: 0, 1, 2, 3, 4, 5 [a-c3-8]: a, b, c, 3, 4, 5, 6, 7, 8 ~: th mc ngi dng ~pnkhang: th mc ca ngi dng pnkhang

38

To th mc tn data trong th mc user


mkdir data

i n th mc data
cd data

To th mc du_lieu trong user


mkdir ../du_lieu

To link cng n file hello.txt c tn h_link t trong th mc data


ln ../hello.txt h_link

To mt link mm n file hello.txt tn s_link t trong th mc du_lieu


ln -s ../hello.txt ../du_lieu/s_link

39

To th mc tn data trong th mc th
mkdir data

Lit k ni dung th mc user


ls ../user

i n th mc data cd data To th mc tn du_lieu trong th mc th mkdir ../du_lieu To mt file tn hello.txt trong th mc th touch ../hello.txt To mt lin kt cng n file hello.txt c tn h_link

You might also like