You are on page 1of 7

Ni dung

Chng 3

H thng tp Linux

Khi nim v h thng tp logic


Cc thao tc vi th mc
Cc thao tc vi tp
inode

H thng tp logic

Mt s khi nim
Khi nim: Mt h thng tp tin (file system) l cc phng
php v cu trc d liu m mt h iu hnh s dng lu
tr cc thng tin ca cc tp tin hay phn chia trn a
Mt/Nhiu cy phn cp th mc v cc tp
Tp nhm cc bt
Mt th mc dng to nhm cc tp d liu v th mc
Th mc gc (/) l im vo u tin cho c cy th mc
Cc tp l cc nt l

Mt s khi nim

Mt s khi nim

H thng tp tin Ext2


- H thng tp tin Ext2 (Second Extended File System Ext2fs)
h tr cc kiu tp tin chun ca Unix: cc tp tin thng, th
mc, cc tp tin dnh ring thit b v cc symbolic link.
- Ext2fs c kh nng qun l nhng h thng tp tin c to trn
nhng phn
- Ext2fs h tr tn tp tin di. Chiu di tn tp tin ti a l 255
k t. Gii hn ny c th c m rng ln ti 1012 nu cn.
- Ext2fs dnh ring mt s khi cho ngi dng cao cp (root),
thng thng l 5%

H thng tp tin Ext2


- Ext2fs cho php qun tr h thng chn la kch thc khi
(block) logic khi to h thng tp tin. Kch thc khi c th l
1024, 2048,... S dng nhng kch thc khi ln c th tng
tc nhp/xut.
- Ext2fs thc thi cc symbolic link nhanh. Mt symbolic link
khng s dng bt k khi d liu no trn h thng tp tin.
Ni dung ca tp tin lin kt c lu trong i-node ca bn
thn n
- Ext2fs lu d vt ca trng thi h thng tp tin. Mt trng
c bit trong superblock (siu khi) c s dng bi m
nhn h iu hnh ch ra trng thi ca h thng tp tin

Cu trc vt l

Cu trc vt l

Tt c cc cu trc d liu c t kch c da trn kch


thc mt khi (block). Kch thc ca khi ph thuc vo
kch thc ca h thng tp tin.
- Th d, i vi a mm, kch thc khi l 1KB (2 sectors),
kch thc khi trn phn chia 10GB l 4KB hay 8KB.
H thng tp tin c chia thnh nhng nhm khi (block
group).
Ti u ca mi nhm khi c cha cc thng tin xc nh v
tr, s khi v ca cc thng tin m t trng thi h thng tp
tin hin hnh, bao gm cc thng tin sau:
1) superblock. Cha cc thng tin c bn nht v cc thuc tnh
ca h thng tp tin, th d nh tng s i-node, tng s khi,
trng thi h thng tp tin

Thng tin m t trng thi h thng tp tin hin hnh, bao


gm cc thng tin sau:
2) group descriptors. L mt mng cu trc, mi cu trc m t
mt nhm khi, v tr bng i-node ca n, bn khi v inode .
3) block bitmap. Block Bitmap c thng t ti khi u tin
ca nhm khi. Mi bit i din cho trng thi hin hnh ca
khi trong nhm khi
4) i-node bitmap. I-node Bitmap c chc nng tng t nh
block bitmap, mi bit i din cho mt i-node trong bng inode (i-node table). Mi mt nhm khi c mt i-node bitmap

Cu trc vt l

Cu trc vt l

Thng tin m t trng thi h thng tp tin hin hnh, bao


gm cc thng tin sau:
5) i-node table. Bng i-node c s dng lu vt tt c cc
tp tin; v tr, kch thc, kiu v cc quyn truy nhp ca tp
tin u c lu tr trong cc i-node. Mi mt nhm khi c
cha mt bng i-node. Mi i-node c cha thng tin v mt
tp tin vt l ring r trn h thng.
V vy i-node c th c xem nh l mt khi thng tin c lin
quan n mt mc t, m t v tr ca n trn a, kch thc
v ch nhn ca n.
6) data block. c s dng lu tr ni dung ca cc tp tin,
bao gm danh sch cc th mc, cc thuc tnh m rng, cc
symbolic link
9

Cu trc vt l

10

Cu trc vt l

I-node
Mi tp tin c i din bi mt i-node. I-node l mt bng
c kch thc c nh c s dng lu tr tt c cc thng
tin v mt tp tin, v mi tp tin ch c mt i-node duy nht.
Nhng thng tin ny bao gm: ch nhn ca tp tin, thi im
thay i ni dung tp tin, thi gian tp tin c truy nhp sau
cng, kch thc, cc quyn trn tp tin, s lng tp tin lin
kt v.v
a ch ca cc khi d liu cp pht cho mt tp tin c
lu gi trong i-node ca n. I-node c cha mt tp hp cc
con tr, nhng con tr ny tr ti cc khi d liu ca tp tin.

11

S cu trc ca Inode

12

Cu trc vt l

Cu trc vt l

Th mc

V d: cc bc tm kim tp tin /usr/ast/mbox trong h thng


tp tin ext2:

Hnh: Cu trc ca th mc

13

14

Cu trc h thng tp

Cu trc vt l

i vi Linux, khng c khi nim cc a khc nhau.


Ton b cc th mc v tp tin c gn ln (mount) v to
thnh mt h thng tp tin thng nht, bt u t gc /

H thng tp ext3: L s ci tin ca h tp ext2, c ci tin


thm mt s c tnh: Tnh sn c, ton ven d liu, tc
truy nhp
- H tp ext3 c t phin bn Red Hat Linux 7.2

15

Cu trc h thng tp

/-----+
!-------/bin
!-------/sbin
!-------/usr------/usr/bin
!------/usr/sbin
!
!------/usr/local
!
!------/usr/doc
!
!
!-------/etc
!-------/lib
!-------/var-------/var/adm
!-------/var/log
!-------/var/spool
!-------/mnt Mount point Ni gn cc t/b
!
16

Cu trc h thng tp

Th mc /dev
Th mc /dev c cha nhng mc t h thng tp tin i din cho
cc thit b c gn vi h thng. Nhng tp tin ny l cn thit
cho s hot ng ca h thng.
Th mc /etc
Th mc /etc c dnh cho cc tp tin cu hnh ca cc dch v
trn my tnh. Khng c tp tin thi hnh nh phn no c t trong
/etc. Bt k tp tin nh phn no trc kia c t trong /etc by
gi u c chuyn sang th mc /sbin hay th mc /bin.
Th mc /lib
Th mc /lib cha nhng th vin cn thit thi hnh cc tp tin
nh phn c cha ng trong cc th mc /bin v /sbin. Nhng
nh th vin c chia s (dng chung) ny l rt quan trng
khi ng h thng v thi hnh cc lnh trong h thng tp tin root.
17

Th mc /mnt
Th mc /mnt tham chiu n cc h thng tp tin c gn
(mount) tm thi vo h thng tp tin, th d nh l CD-ROM v
a mm.
Th mc /proc
Th mc /proc c cha nhng 'tp tin' c bit. Nhng tp tin ny
i din cho trng thi hin ti ca nhn h iu hnh.
Th mc /sbin
Th mc /sbin l th mc c cha cc tp tin thi hnh dnh ring
cho ngi dng root s dng. /sbin c cha cc tp tin c bn
khi ng h thng thm vo cng vi cc tp tin nh phn c
trong th mc /bin.

18

Cu trc h thng tp

Cu trc h thng tp

Th mc /usr
Th mc /usr cha cc tp tin c th c dng chung trn ton
h thng. Th mc /usr thng c ci t ring trn mt phn
chia c lp v c gn vo th mc root vi quyn ch c.
Trong /usr c cha nhiu th mc con: th mc bin cha cc tp
tin thi hnh, doc cha ti liu, etc cha cc tp tin cu hnh, games
dnh cho cc tr chi, include c cha cc tp tin C header,.
Th mc /usr/local
Th mc /usr/local c dnh cho ngi qun tr h thng s dng
khi ci t phn mm mt cch cc b. Th mc ny cn c bo
v trnh b ghi ln khi phn mm h thng c cp nht. N
c th c s dng cho cc chng trnh v d liu cho php
dng chung trn mng

Th mc /var
Th mc /var cha cc tp tin d liu kh bin. N cha cc tp
tin v th mc 'ng ng', d liu nht k, qun tr, cc tp tin
tm.
Cc tp tin nht k h thng nh l messages v lastlog c
cha trong /var/log. Th mc /var/lib/rpm cng c cha cc c
s d liu ca h thng RPM. Cc tp tin kho c cha trong
/var/lock. Th mc /var/spool c cc th mc con dnh cho cc
h thng khc nhau cn thit lu tr cc tp tin d liu.

19

Cu trc h thng tp

20

Cu trc h thng tp

Mi phn chia trong Red Hat Linux u tham chiu qua cc


tp tin, vi tn tp tin c t theo nh dng sau:
/dev/xxyN
Trong :
/dev/ l tn ca th mc cha tt c cc tp tin thit b. Do
cc phn chia nm trn a cng, v a cng l mt loi
thit b, v vy, tt c cc tp tin i din cho cc phn chia
s nm trong th mc /dev/.

Tn phn chia h thng


xx : Hai ch ci u tin ca tn phn chia ch ra kiu
ca thit b m phn chia nm trn . Tn ca mt s thit
b thng thng bao gm:
hd - a cng IDE
sd - a cng SCSI
sr - a CD-ROM SCSI
fd - a mm
sb- USB
cdrom - lin kt ti tp tin thit b CD-ROM
floppy - lin kt ti tp tin thit b a mm

21

22

Tn phn chia h thng

Tp Linux vs. tp Windows

Cu trc h thng tp
Tn phn chia h thng
y : Ch ci ny xc nh thit b m phn chia nm trn :
a l a cng th nht, master
b l a cng th nht, slave
c l a cng th hai, master
d l a cng th hai, slave
Th d: /dev/hda l a IDE th nht;
/dev/sdb l a SCSI th hai
N: S cui cng biu th cho phn chia. Cc s t 1 n 4 xc
nh bn phn chia u tin (primary hay extended). Cc phn
chia logic c nh s bt u t 5.
Th d, /dev/hda3 l phn chia th 3 trn a IDE u tin;
/dev/sdb6 l phn chia logic th hai trn a SCSI th hai.

Ging nhau
di ti a cho tn tp l 255
Chp nhn tt c cc k t t tn tp (nhng nn trnh
s dng cc k t c bit nh * ? [ ] & trnh s nhp
nhng trong cu lnh s dng sau ny)

Tnh c th ca Linux
Qun l di mt khung nhn ca tp cho c th mc v
cc loi ti nguyn h thng (ngoi vi, bng phn chng
a)
Khng c khi nim phn m rng ca tn tp (k t '.'
trong tn tp c i x nh mi k t khc
Khng dng a logic trong cy th mc
'/' c dng thay cho '\' trong ng dn th mc
23

24

Th mc c bit

Lnh c bn qun l th mc

Truy cp tp v th mc cn dng cc ng
dn
ng dn c th c mc t cc th mc c
bit

/ : th mc gc
~/ : th mc nh
. : th mc hin ti
.. : th mc cha

pwd
cd
ls la [tn th mc]
mkdir [-p] [tn th mc mi]
rmdir [tn th mc rng]

25

26

Qun l th mc

Cu lnh ls

pwd: hin th ng dn tuyt i ca th mc hin ti


cd: thay i v tr th mc hin ti
$ cd /home/tuananh
$ cd tuananh

ls: lit k cc tp trong mt th mc


$ ls
$ ls /home/tuananh
$ ls la tuananh
tu chn -a cho php hin th c cc tp n
tu chn -l cho php hin th thuc tnh cho mi tp (kiu, quyn, lin kt,
ch s hu, nhm s hu, kch thc, ngy sa i)

mkdir: to mt th mc rng
rmdir: xo mt th mc rng
27

28

Kiu ca tp

Cc kiu tp

Tp th mc l mt th mc trong ng dn phn loi (vd.,


/usr, /home,)
Tp thng thng l mt tp cha d liu hoc tp chng
trnh (vd., /bin/passwd, /etc/passwd, )
Tp c bit l mt tp thit b tng ng vi thit b ngoi vi
hoc cc tp t sinh bi HH. C th c tp k t hoc tp
block
Lin kt
Cc tp biu din cc knh vo ra

Cc k hiu di y c s dng biu din cc kiu


tp
- : tp thng thng
d : th mc
b : tp c bit (block)
c : tp c bit (k t)
l : link
S sockect
p : ng ng
29

30

Tn c bit

V d

. : th mc hin ti
.. : th mc cha
~ : th mc c nhn
.xxx : tp n (e.g., /home/tuananh/.bashrc)

$ cd ~
$ pwd
/home/tuananh
$ ls -la
-rw-r--r-- 1 tuananh
-rw-r--r-- 1 tuananh
drwxr-xr-- 2 tuananh
$ mkdir vanban
$ cd vanban
$ pwd
/home/tuananh/vanban
$ cd ..
$ pwd
$ rmdir vanban

user1 2451 Feb 7 07:30 .bashrc


user1 4025 Feb 10 19:12 linux.ppt
user1 512 Feb 10 19:12 linux

31

32

Cc siu k t

V d

* dng thay th cho mt chui k t bt k bao


gm c xu rng
? thay th cho mt k t bt k
[ ] c thay th bi mt k t trong mt tp k t
cho trc
[! ] c thay th bi mt k t khng c trong mt
tp k t cho trc

$ ls -l *.[c,h]
-rw-r--r-- 1 tuananh user1 2451 Feb
-rw-r--r-- 1 tuananh user1 2451 Feb
$ ls -l *prog
drwxr-xr-- 2 tuananh user1 512 Feb
drwxr-xr-- 2 tuananh user1 512 Feb
$ ls -l .*
-rw-r--r-- 1 tuananh user1 451 Feb 7
-rw-r--r-- 1 tuananh user1 225 Feb 7
-rw-r--r-- 1 tuananh user1 351 Feb 7

7 07:30 myprog.c
7 07:30 myprog.h
10 19:12 c_prog
10 19:12 java_prog
07:30 .bashrc
07:30 .bash_profile
07:30 .bash_logout

33

34

Qun l tp

Qun l tp

$cp file1 [] dir


sao chp mt hoc nhiu tp vo mt th mc

$mv file1 [] dir


di chuyn mt hoc nhiu tp n mt th mc

$rm file1 []
xo mt hoc nhiu tp

tu chn -R (recursive)
cho php sao chp/di chuyn/xo ton b th mc bao gm
c cc th mc con
35

cat: ni cc tp tin
more: xem tng dng
less: xem tng trang
tail: xem cui tp
head: xem u tp
touch: to tp mi, cp nht tp c
echo > [tn tp]
36

Tm kim file

V d

$ find tn_th_mc expressions


$ ls -l
-rw-r--r-- 1 tuananh
drwxr-xr-- 2 tuananh
$ cp test.txt vanban
$ ls -l vanban
-rw-r--r-- 1 tuananh
$ rm R vanban
$ ls -l
-rw-r--r-- 1 tuananh
$ rm test.txt
$ ls -l
$

user1
user1

16 Feb 10 19:12 test.txt


512 Feb 10 19:14 vanban

user1

16 Feb 12 20:03 test.txt

user1

16 Feb 10 19:12 test.txt

Cho php tm kim cc file trong mt th mc (ngm nh l trong th


mc hin ti) vi mt s iu kin hoc cc lnh thc thi trn tp cc
file tm c.

Cc iu kin

Tn : -name tn
Quyn truy cp : -perm quyn_truy_cp
Kiu : -type d/f/...
Kch thc : -size N
Thi gian : -atime N, -mtime N, -ctime N

Cc lnh thc thi trn tp cc file tm c


-print
-exec cu_lnh
37

V d

38

Bi tp

$find /usr -name toto -print

S dng cc cu lnh qun l tp


S dng cc cu lnh qun l th mc
S dng cc cu lnh tm kim tp find/locate

Tm kim file tn l toto trong th mc /usr (bao gm c


cc th mc con ca /usr)

$find /usr -name " *.c " -print


a ra danh sch cc file kt thc bng .c

$find / -mtime 3 -print


Tm tt c cc file c thay i trong 3 ngy gn y

$find / -size 2000 -print


Tm tt c cc file c kch thc ln hn 1 GB (= 2000
block 512 KB)

$find / -type f -user olivier -perm 755 -print


Tm tt c cc file thuc v ngi s dng olivier, ng
thi c quyn truy cp l 755
39

40

You might also like