www.nhipsongcongnghe.net
I H C QU C GIA HÀ N I
TRƯ NG I H C CÔNG NGH
=====================================
HÀ QUANG TH Y
N...
2
M C L C
L I GI I THI U ....................................................................................................
3
3.2 Quy n truy nh p thư m c và file ................................................................................ 72
...
4
5.3 Các l nh cơ b n liên quan n nhóm ngư i dùng ................................................... 148
5.3.1 Nhóm ngư i...
5
7.3. L p trình C trên UNIX ................................................................................................
6
PH L C C. MIDNIGHT COMMANDER ............................................................ 259
C.1. Gi i thi u v Midnight...
7
L I GI I THI U
Trong hơn mư i năm tr l i ây h i u hành Linux ã
8
CHƯƠNG 1. GI I THI U CHUNG V LINUX
1.1. Gi i thi u v UNIX và Linux
1.1.1. Xu t x , quá trình ti n hóa và m t s c trưng c...
9
nhu c u và thông báo phát hành m i, ch ng h n như i u ch nh b n quy n. Giao
di n h a ngư i dùng là Open Look.
Open Softw...
1
0
S d ng ph bi n m t d ng ơn gi n trình bày n i t i c a File như m t dòng
các byte cho phép d dàng khi vi t các chương t...
1
1
Tháng 6-1996, nhân Linux 2.0 ư c ph bi n. Có hai c trưng n i b t c a Linux
2.0 là h tr ki n trúc ph c h p, bao g m c c...
1
2
H th ng Linux ư c duy trì g n như b i m t m ng lư i không ch t ch các nhà phát tri n
ph n m m c ng tác v i nhau qua In...
1
3
Ph n m m ng d ng ch y trên n n Linux tuy ã phong phú song so v i m t s h
i u hành khác, c bi t là khi so sánh v i MS W...
1
4
1.2.1. Sơ b v nhân
Nhân (còn ư c g i là h lõi) c a Linux, là m t b các môdun chương trình có vai trò
i u khi n các thà...
1
5
L nh thư ng tr c (có s n c a Linux). Tuy t i a s l nh ư c gi i thi u
trong tài li u này là l nh thư ng tr c. Chúng bao...
1
6
Ký hi u "↵" bi u th vi c gõ phím h t dòng <Enter>. k t thúc m t yêu
c u, ngư i dùng nh t thi t ph i gõ phím "↵".
Ví d ...
1
7
d u nh c shell l i hi n ra ch l nh ti p theo c a ngư i dùng. V ph bi n, n u
như sau khi ngư i dùng gõ l nh, không th y...
1
8
Ví d , khi gi i thi u v tùy ch n l nh c a l nh tail xem ph n cu i n i dung c a file,
chúng ta th y:
-f, --follow[={tên...
1
9
Ví d , khi mô t l nh date có tùy ch n:
-d, --date=STRING
như v y hai tham s -d và --date=STRING có cùng ý nghĩa.
Ngoài...
2
0
M t s phím c bi t khi gõ l nh
Khi ngư i dùng gõ l nh có th x y ra m t s tình hu ng như sau:
Dòng l nh ang gõ có ch sai...
2
1
info-dir initlog.conf inittab lynx.cfg
mail.rc mailcap minicom.users motd
mtab mtools.conf services shadow
shadow- she...
2
2
1.4. Trang Man
Chúng ta có th nói r ng Linux là m t h i u hành r t ph c t p v i hàng nghìn l nh và
m i l nh l i có th ...
2
3
Ví d , mu n s d ng l nh history nhưng l i không nh chính xác tên l nh ư c vi t ra
như th nào mà ch nh nó ư c b t u b i...
2
4
CHƯƠNG 2. THAO TÁC V I H TH NG
2.1. Quá trình kh i ng Linux
Trong ph n này, chúng ta xem xét sơ b quá trình kh i ng h ...
2
5
thi t l p c u hình cùng v i t t c trình i u khi n ph n m m ư c n p khi kh i ng. Quá
trình init là quá trình kh i th y,...
2
6
Khi nh p xong tên ăng nh p, h th ng s hi n ra thông báo h i m t kh u và di chuy n
con tr xu ng dòng ti p theo ngư i dù...
2
7
-F : kh i ng l i và th c hi n vi c ki m tra ĩa.
-c : b qua không ch y l nh shutdown. Trong tùy ch n này không th ưa ra...
2
8
làm vi c thì l nh reboot v n ư c th c hi n song h th ng òi h i vi c xác nh n m t
kh u.
Các tùy ch n c a l nh reboot nh...
2
9
# of power left. Schedule a shutdown for 2 minutes from now.
# This does, of course, assume you have powerd installed ...
3
0
m i phiên b n s có s khác nhau. Trong giao di n ăng nh p h a, h th ng hi n th h p
tho i cho phép ngư i dùng nh p vào t...
3
1
th ng. Sau ó, ngư i dùng m i nh t thi t c n thay i m t kh u b o m vi c gi
bí m t cá nhân tuy t i.
L nh passwd cho phép...
3
2
# passwd -S root
s hi n ra thông báo
Changing password for user root
Password set, MD5 encryption
cho bi t thu t toán ...
3
3
Trong d ng l nh date cho xem thông tin ngày, gi thì tham s nh-d ng i u khi n
cách hi n th thông tin k t qu . nh-d ng l...
3
4
n u không có tham s , l ch c a tháng hi n th i s ư c hi n th .
Các tuỳ-ch n là:
-m : ch n ngày Th hai là ngày u tiên t...
3
5
thì màn hình s hi n ra như sau:
Linux linuxsrv.linuxvn.net 2.2.14-5.0 #1 Tue Mar 7 21:07:39 EST 2000 i686 unknown
#
Th...
3
6
! Hi n th th t c a l nh trong l ch s
# Hi n th th t c a l nh
$ Hi n th d u ô-la ($). i v i siêu ngư i dùng
(super user...
3
7
-s, --standard : th c hi n phép tính chính xác theo chu n c a ngôn ng POSIX bc.
-q, --quiet : không hi n ra l i gi i t...
3
8
b c ^; gán =; gán sau khi thao tác <thao tác>=; các phép toán so sánh <, <=, >,
>=, b ng ==, khác != ...
Phép so sánh ...
3
9
CHƯƠNG 3. H TH NG FILE
3.1 T ng quan v h th ng file
3.1.1. M t s khái ni m
Ngư i dùng ã t ng làm vi c v i h i u hành D...
4
0
N u trong tên thư m c/file có ch a kho ng tr ng, s ph i t tên thư m c/file
vào trong c p d u nháy kép s d ng thư m c/f...
4
1
Tên file thư ng là tham s th c s khi gõ l nh và công vi c gõ l nh tr nên r t n ng n
i v i ngư i dùng n u như trong l n...
4
2
Ch s các kh i r i thư ng tr c trên siêu kh i ư c dùng áp ng nhu c u phân ph i
m i. Chú ý r ng, danh sách ch s các kh i...
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
Upcoming SlideShare
Loading in...5
×

Giao trinh he dieu hanh linux va unix 2

210

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
210
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Giao trinh he dieu hanh linux va unix 2"

  1. 1. www.nhipsongcongnghe.net I H C QU C GIA HÀ N I TRƯ NG I H C CÔNG NGH ===================================== HÀ QUANG TH Y NGUY N TRÍ THÀNH Giáo trình: H I U HÀNH UNIX - LINUX Dành cho sinh viên ngành Công ngh thông tin, i n t - Vi n thông, Toán tin ng d ng HÀ N I - 2004
  2. 2. 2 M C L C L I GI I THI U ..................................................................................................... 9 CHƯƠNG 1. GI I THI U CHUNG V LINUX...................................................... 10 1.1. Gi i thi u v UNIX và Linux...................................................................................... 10 1.1.1. Xu t x , quá trình ti n hóa và m t s c trưng c a h i u hành UNIX ......... 10 1.1.2. Gi i thi u sơ b v Linux................................................................................... 13 1.2. Sơ b v các thành ph n c a Linux ........................................................................... 17 1.2.1. Sơ b v nhân ..................................................................................................... 18 1.2.2. Sơ b v shell ..................................................................................................... 18 1.3. Gi i thi u v s d ng l nh trong Linux..................................................................... 20 1.3.1. Các quy ư c khi vi t l nh................................................................................... 22 1.3.3. Làm ơn gi n thao tác gõ l nh ........................................................................... 25 1.3.4. Ti p n i dòng l nh.............................................................................................. 29 1.4. Trang Man ................................................................................................................... 29 CHƯƠNG 2. THAO TÁC V I H TH NG........................................................... 32 2.1. Quá trình kh i ng Linux......................................................................................... 32 2.2. Th t c ăng nh p và các l nh thoát kh i h th ng ................................................ 33 2.2.1. ăng nh p........................................................................................................... 33 2.2.2. Ra kh i h th ng................................................................................................. 36 2.2.3. Kh i ng l i h th ng ....................................................................................... 38 2.2.4. Kh i ng vào ch ho ............................................................................. 38 2.3. L nh thay i m t kh u.............................................................................................. 42 2.4. L nh xem, thi t t ngày, gi hi n t i và xem l ch trên h th ng ........................... 45 2.4.1 L nh xem, thi t t ngày, gi .............................................................................. 45 2.4.2. L nh xem l ch .................................................................................................... 47 2.5. Xem thông tin h th ng .............................................................................................. 48 2.6. Thay i n i dung d u nh c shell .............................................................................. 49 2.7. L nh g i ngôn ng tính toán s h c .......................................................................... 50 CHƯƠNG 3. H TH NG FILE ............................................................................. 53 3.1 T ng quan v h th ng file........................................................................................... 53 3.1.1. M t s khái ni m................................................................................................ 53 3.1.2. Sơ b ki n trúc n i t i c a h th ng file............................................................. 57 3.1.3. M t s thu t toán làm vi c v i inode ................................................................. 63 3.1.4. H tr nhi u h th ng File.................................................................................. 66 3.1.5. Liên k t tư ng trưng (l nh ln) ............................................................................ 71
  3. 3. 3 3.2 Quy n truy nh p thư m c và file ................................................................................ 72 3.2.1 Quy n truy nh p .................................................................................................. 72 3.2.2. Các l nh cơ b n .................................................................................................. 75 3.3 Thao tác v i thư m c.................................................................................................... 80 3.3.1 M t s thư m c c bi t ...................................................................................... 80 3.3.2 Các l nh cơ b n v thư m c ................................................................................ 83 3.4. Các l nh làm vi c v i file ............................................................................................ 87 3.4.1 Các ki u file có trong Linux................................................................................ 87 3.4.2. Các l nh t o file.................................................................................................. 88 3.4.3 Các l nh thao tác trên file.................................................................................... 90 3.4.4 Các l nh thao tác theo n i dung file .................................................................... 98 3.4.5 Các l nh tìm file ................................................................................................ 106 3.5 Nén và sao lưu các file................................................................................................ 115 3.5.1 Sao lưu các file (l nh tar) .................................................................................. 115 3.5.2 Nén d li u ....................................................................................................... 118 CHƯƠNG 4. QU N TR QUÁ TRÌNH................................................................. 122 4.1 Quá trình trong UNIX................................................................................................ 122 4.1.1. Sơ b v quá trình............................................................................................. 122 4.1.2. Sơ b c u trúc i u khi n c a UNIX................................................................ 123 4.1.3. Các h th ng con trong nhân............................................................................ 125 4.1.4. Sơ b v i u khi n quá trình........................................................................... 129 4.1.5. Tr ng thái và chuy n d ch tr ng thái ................................................................ 130 4.1.6. S ngưng ho t ng và ho t ng tr l i c a quá trình.................................... 132 4.1.7. Sơ b v l nh i v i quá trình ........................................................................ 132 4.2. Các l nh cơ b n.......................................................................................................... 133 4.2.1. L nh fg và l nh bg............................................................................................ 133 4.2.2. Hi n th các quá trình ang ch y v i l nh ps ................................................... 135 4.2.3. H y quá trình v i l nh kill ............................................................................... 137 4.2.4. Cho máy ng ng ho t ng m t th i gian v i l nh sleep.................................. 139 4.2.5. Xem cây quá trình v i l nh pstree.................................................................... 139 4.2.6. L nh thi t t l i ưu tiên c a quá trình nice và l nh renice......................... 141 CHƯƠNG 5. QU N LÝ TÀI KHO N NGƯ I DÙNG......................................... 142 5.1 Tài kho n ngư i dùng................................................................................................ 142 5.2 Các l nh cơ b n qu n lý ngư i dùng ........................................................................ 142 5.2.1 File /etc/passwd ................................................................................................ 143 5.2.2 Thêm ngư i dùng v i l nh useradd................................................................... 143 5.2.3 Thay i thu c tính ngư i dùng ........................................................................ 146 5.2.4 Xóa b m t ngư i dùng (l nh userdel).............................................................. 147
  4. 4. 4 5.3 Các l nh cơ b n liên quan n nhóm ngư i dùng ................................................... 148 5.3.1 Nhóm ngư i dùng và file /etc/group ................................................................. 148 5.3.2 Thêm nhóm ngư i dùng .................................................................................... 149 5.3.3 S a i các thu c tính c a m t nhóm ngư i dùng (l nh groupmod) ................ 149 5.3.4 Xóa m t nhóm ngư i dùng (l nh groupdel)...................................................... 150 5.4 Các l nh cơ b n khác có liên quan n ngư i dùng................................................ 150 5.4.1 ăng nh p v i tư cách m t ngư i dùng khác khi dùng l nh su ....................... 150 5.4.2 Xác nh ngư i dùng ang ăng nh p (l nh who) ............................................ 151 5.4.3 Xác nh các quá trình ang ư c ti n hành (l nh w)....................................... 153 CHƯƠNG 6. TRUY N THÔNG VÀ M NG UNIX-LINUX................................... 154 6.1. L nh truy n thông ..................................................................................................... 154 6.1.1. L nh write......................................................................................................... 154 6.1.2. L nh mail.......................................................................................................... 155 6.1.3. L nh talk........................................................................................................... 156 6.2 C u hình Card giao ti p m ng .................................................................................. 156 6.3. Các d ch v m ng ...................................................................................................... 159 6.3.1 H thông tin m ng NIS...................................................................................... 159 6.4 H th ng file trên m ng ............................................................................................. 164 6.4.1 Cài t NFS ....................................................................................................... 165 6.4.2 Kh i ng và d ng NFS.................................................................................... 166 6.4.3 C u hình NFS server và Client.......................................................................... 167 6.4.4 S d ng mount................................................................................................... 167 6.4.5 Unmount............................................................................................................ 168 6.4.6 Mount t ng qua t p c u hình........................................................................ 168 CHƯƠNG 7. L P TRÌNH SHELL VÀ L P TRÌNH C TRÊN LINUX ................... 170 7.1. Cách th c pipes và các y u t cơ b n l p trình trên shell ..................................... 170 7.1.1. Cách th c pipes ................................................................................................ 170 7.1.2. Các y u t cơ b n l p trình trong shell ........................................................ 171 7.2. M t s l nh l p trình trên shell ................................................................................ 175 7.2.1. S d ng các toán t bash.................................................................................. 175 7.2.2. i u khi n lu ng .............................................................................................. 179 7.2.3 Các toán t nh hư ng vào ra........................................................................... 193 7.2.4. Hi n dòng văn b n............................................................................................ 194 7.2.5. L nh read c d li u cho bi n ngư i dùng..................................................... 194 7.2.6. L nh set ............................................................................................................ 195 7.2.7. Tính toán trên các bi n ..................................................................................... 196 7.2.8. Chương trình ví d ............................................................................................ 196
  5. 5. 5 7.3. L p trình C trên UNIX ............................................................................................. 197 7.3.1. Trình biên d ch gcc........................................................................................... 197 7.3.2. Công c GNU make ......................................................................................... 201 7.3.3. Làm vi c v i file............................................................................................... 203 7.3.4. Thư vi n liên k t............................................................................................... 211 7.3.5 Các công c cho thư vi n ................................................................................. 220 TÀI LI U THAM KH O ...................................................................................... 223 CHÚ THÍCH M T S THU T NG ................................................................... 224 PH L C A. QUÁ TRÌNH CÀI T REDHAT-LINUX ........................................ 227 AA. Cài t phiên b n RedHat 6.2 ................................................................................. 228 AA.1. T o ĩa m m kh i ng................................................................................... 228 AA.2. Phân vùng l i ĩa DOS/Windows hi n th i.................................................. 228 AA.3. Các bư c cài t (b n RedHat 6.2 và kh i ng t CD-ROM)....................... 229 AA.4. Các h n ch v ph n c ng i v i Linux ........................................................ 239 PH L C B. TRÌNH SO N TH O VIM .............................................................. 242 B.1 Kh i ng vim............................................................................................................ 244 B.1.1 M chương trình so n th o vim........................................................................ 244 B.1.2. Tính năng m nhi u c a s .............................................................................. 245 B.1.3. Ghi và thoát trong vim..................................................................................... 246 B.2. Di chuy n tr so n th o trong Vim ......................................................................... 247 B.2.1. Di chuy n trong văn b n.................................................................................. 247 B.2.2. Di chuy n theo các i tư ng văn b n............................................................. 248 B.2.3. Cu n màn hình................................................................................................. 248 B.3. Các thao tác trong văn b n ...................................................................................... 249 B.3.1. Các l nh chèn văn b n trong vim..................................................................... 249 B.3.2. Các l nh xoá văn b n trong vim ...................................................................... 250 B.3.3. Các l nh khôi ph c văn b n trong vim ............................................................ 250 6.3.4. Các l nh thay th văn b n trong vim................................................................ 250 B.3.5. Sao chép và di chuy n văn b n trong vim ....................................................... 252 B.3.6. Tìm ki m và thay th văn b n trong vim......................................................... 253 B.3.7. ánh d u trong vim ......................................................................................... 254 B.3.8. Các phím s d ng trong ch chèn............................................................... 255 B.3.9. M t s l nh trong ch o............................................................................. 256 B.3.10. Các l nh l p ................................................................................................... 256 B.4. Các l nh khác ............................................................................................................ 257 B.4.1. Cách th c hi n các l nh bên trong Vim........................................................... 257 B.4.2. Các l nh liên quan n file............................................................................... 257
  6. 6. 6 PH L C C. MIDNIGHT COMMANDER ............................................................ 259 C.1. Gi i thi u v Midnight Commander (MC) ............................................................ 259 C.2. Kh i ng MC .......................................................................................................... 259 C.3. Giao di n c a MC..................................................................................................... 259 C.4. Dùng chu t trong MC .............................................................................................. 260 C.5. Các thao tác bàn phím.............................................................................................. 261 C.6. Th c ơn thanh ngang (menu bar)......................................................................... 263 C.7. Các phím ch c năng................................................................................................. 266 C.8. B so n th o c a Midnight Commander................................................................ 267 PH L C D. SAMBA.......................................................................................... 270 D.1 Cài t Samba............................................................................................................ 270 D.2 Các thành ph n c a Samba ...................................................................................... 271 D.3 File c u hình Samba .................................................................................................. 272 D.4 Các ph n c bi t c a file c u hình Samba............................................................. 275 D.5 Qu n lý ngư i dùng trong Samba............................................................................ 282 D.6 Cách s d ng Samba t các máy tr m.................................................................... 284 D.6.1 Cách s d ng t các máy tr m là Linux........................................................... 284 D.6.2 Cách s d ng t các máy tr m là Windows ..................................................... 287
  7. 7. 7 L I GI I THI U Trong hơn mư i năm tr l i ây h i u hành Linux ã
  8. 8. 8 CHƯƠNG 1. GI I THI U CHUNG V LINUX 1.1. Gi i thi u v UNIX và Linux 1.1.1. Xu t x , quá trình ti n hóa và m t s c trưng c a h i u hành UNIX Năm 1965, Vi n công ngh Massachusetts (MIT: Massachusetts Institute of Technology) và Phòng thí nghi m Bell c a hãng AT&T th c hi n d án xây d ng m t h i u hành có tên g i là Multics (MULTiplexed Information and Computing Service) v i m c tiêu: t o l p ư c m t h i u hành ph trên vùng lãnh th r ng (ho t ng trên t p các máy tính ư c k t n i), a ngư i dùng, có năng l c cao v tính toán và lưu tr . D án nói trên thành công m c h t s c khiêm t n và ngư i ta ã bi t n m t s khi m khuy t khó kh c ph c c a Multics. Năm1969, Ken Thompson, m t chuyên viên t i phòng thí nghi m Bell, ngư i ã tham gia d án Multics, cùng Dennics Richie vi t l i h i u hành a-bài toán trên máy PDP-7 v i tên là UNICS (UNiplexed Information and Computing Service) t m t câu g i ùa c a m t ng nghi p. Trong h i u hành UNICS, m t s kh i th o u tiên v H th ng file ã ư c Ken Thompson và Dennis Ritchie th c hi n. n năm 1970 h i u hành ư c vi t trên assembler cho máy PDP-11/20 và mang tên là UNIX. Năm 1973, Riche và Thompson vi t l i nhân c a h i u hành UNIX trên ngôn ng C, và h i u hành ã tr nên d dàng cài t t i các lo i máy tính khác nhau; tính ch t như th ư c g i là tính kh chuy n (portable) c a UNIX. Trư c ó, kho ng năm 1971, h i u hành ư c th hi n trên ngôn ng B (mà d a trên ngôn ng B, Ritche ã phát tri n thành ngôn ng C). Hãng AT&T ph bi n chương trình ngu n UNIX t i các trư ng i h c, các công ty thương m i và chính ph v i giá không áng k . Năm 1982, h th ng UNIX-3 là b n UNIX thương m i u tiên c a AT&T. Năm 1983, AT&T gi i thi u H th ng UNIX-4 phiên b n th nh t trong ó ã có trình so n th o vi, thư vi n qu n lý màn hình ư c phát tri n t i h c T ng h p California, Berkley. Giai o n 1985-1987, UNIX-5 phiên b n 2 và 3 tương ng ư c ưa ra vào các năm 1985 và 1987. Trong giai o n này, có kho ng 100000 b n UNIX ã ư c ph bi n trên th gi i, cài t t máy vi tính n các h th ng l n. u th p k 1990. UNIX-5 phiên b n 4 ư c ưa ra như là m t chu n c a UNIX. ây là s k t h p c a các b n sau: AT&T UNIX-5 phiên b n 3, Berkley Software Distribution (BSD), XENIX c a MicroSoft SUN OS Có th tìm th y các n i dung liên quan t i m t s phiên b n m i c a UNIX t i a ch website http://problem.rice.edu/. Các nhóm nhà cung c p khác nhau v UNIX ang ho t ng trong th i gian hi n nay ư c k n như sau: Unix International (vi t t t là UI). UI là m t t ch c g m các nhà cung c p th c hi n vi c chuy n như ng h th ng UNIX-5 và cung c p b n AT&T theo các
  9. 9. 9 nhu c u và thông báo phát hành m i, ch ng h n như i u ch nh b n quy n. Giao di n h a ngư i dùng là Open Look. Open Software Foundation (OSF). OSF ư c h tr b i IBM, DEC, HP ... theo hư ng phát tri n m t phiên b n c a Unix nh m tranh ua v i h th ng UNIX-5 phiên b n 4. Phiên b n này có tên là OSF/1 v i giao di n h a ngư i dùng ư c g i là MOTIF. Free SoftWare Foundation (FSF): m t c ng ng do Richard Stallman kh i xư ng năm 1984 ch trương phát hành các ph n m m s d ng t do, trên cơ s m t h i u hành thu c lo i UNIX. B ng sau ây li t kê m t s cài t UNIX khá ph bi n (thư ng th y có ch X cu i tên g i c a H i u hành): Tên h Nhà cung c p N n phát tri n AIX International Business Machines AT&T System V A/UX Apple Computer AT&T System V Dynix Sequent BSD (Berkeley SoftWare Distribution) HP-UX Hewlett-Packard BSD Irix Silicon Graphics AT&T System V Linux Free SoftWare Foundation NextStep Next BSD OSF/1 Digital Equipment Corporation BSD SCO UNIX Santa Cruz Operation AT&T System V Solaris Sun Microsystems AT&T System V SunOS Sun Microsystems BSD UNIX Ultrix Digital Equipment Corporation BSD UNIX Unicos Cray AT&T System V UnixWare Novell AT&T System V XENIX MicroSoft AT&T System III-MS Dư i ây li t kê m t s c trưng c a h i u hành UNIX: H i u hành ư c vi t trên ngôn ng b c cao; b i v y, r t d c, d hi u, d thay i cài t trên lo i máy m i (tính d mang chuy n, như ã nói), Có giao di n ngư i dùng ơn gi n năng l c cung c p các d ch v mà ngư i dùng mong mu n (so sánh v i các h i u hành có t trư c ó thì giao di n c a UNIX là m t ti n b vư t b c), Th a mãn nguyên t c xây d ng các chương trình ph c t p t nh ng chương trình ơn gi n hơn: trư c h t có các mô un cơ b n nh t c a nhân sau ó phát tri n có toàn b h i u hành, S d ng duy nh t m t h th ng File có c u trúc cho phép d dàng b o qu n và s d ng hi u qu ,
  10. 10. 1 0 S d ng ph bi n m t d ng ơn gi n trình bày n i t i c a File như m t dòng các byte cho phép d dàng khi vi t các chương trình ng d ng truy nh p, thao tác v i các d li u trong File, Có k t n i ơn gi n v i thi t b ngo i vi: các file thi t b ã ư c t s n trong H th ng File t o ra m t k t n i ơn gi n gi a chương trình ngư i dùng v i các thi t b ngo i vi, Là h i u hành a ngư i dùng, a quá trình, trong ó m i ngư i dùng có th th c hi n các quá trình c a mình m t cách c l p. M i thao tác vào - ra c a h i u hành ư c th c hi n trên h th ng File: m i thi t b vào ra tương ng v i m t file. Chương trình ngư i dùng làm vi c v i file ó mà không c n quan tâm c th tên file ó ư c t cho thi t b nào trong h th ng. Che khu t c u trúc máy i v i ngư i dùng, m b o tính c l p tương i c a chương trình i v i d li u và ph n c ng, t o i u ki n thu n l i hơn cho ngư i l p trình khi vi t các chương trình ch y UNIX v i các i u ki n ph n c ng hoàn toàn khác bi t nhau. 1.1.2. Gi i thi u sơ b v Linux Linus Tovalds (m t sinh viên Ph n lan) ưa ra nhân (phiên b n u tiên) cho h i u hành Linux vào tháng 8 năm 1991 trên cơ s c i ti n m t phiên b n UNIX có tên Minix do Giáo sư Andrew S. Tanenbaum xây d ng và ph bi n. Nhân Linux tuy nh song là t óng gói. K t h p v i các thành ph n trong h th ng GNU, h i u hành Linux ã ư c hình thành. Và cũng t th i i m ó, theo tư tư ng GNU, hàng nghìn, hàng v n chuyên gia trên toàn th gi i (nh ng ngư i này hình thành nên c ng ng Linux) ã tham gia vào quá trình phát tri n Linux và vì v y Linux ngày càng áp ng nhu c u c a ngư i dùng. Dư i ây là m t s m c th i gian quan tr ng trong quá trình hình thành và phát tri n h i u hành Linux. Sau ba năm nhân Linux ra i, n ngày 14-3-1994, h i u hành Linux phiên b n 1.0 ư c ph bi n. Thành công l n nh t c a Linux 1.0 là nó ã h tr giao th c m ng TCP/IP chu n UNIX, sánh v i giao th c socket BSD- tương thích cho l p trình m ng. Trình i u khi n thi t b ã ư c b sung ch y IP trên m t m ng Ethernet ho c trên tuy n ơn ho c qua modem. H th ng file trong Linux 1.0 ã vư t xa h th ng file c a Minix thông thư ng, ngoài ra ã h tr i u khi n SCSI truy nh p ĩa t c cao. i u khi n b nh o ã ư c m r ng h tr i u khi n trang cho các file swap và ánh x b nh c a file c quy n (ch có m t ánh x b nh ch c ư c thi hành trong Linux 1.0). Vào tháng 3-1995, nhân 1.2 ư c ph bi n. i u áng k c a Linux 1.2 so v i Linux 1.0 ch nó h tr m t ph m vi r ng và phong phú ph n c ng, bao g m c ki n trúc tuy n ph n c ng PCI m i. Nhân Linux 1.2 là nhân k t thúc dòng nhân Linux ch h tr PC. M t i u c n lưu ý v các ánh ch s các dòng nhân (h i u hành) Linux. H th ng ch s ư c chia thành m t s m c, ch ng h n hai m c như 2.4 ho c ba m c như 2.2.5. Trong cách ánh ch s như v y, quy ư c r ng v i các ch s t m c th hai tr i, n u là s ch n thì dòng nhân ó ã khá n nh và tương i hoàn thi n, còn n u là s l thì dòng nhân ó v n ang ư c phát tri n ti p.
  11. 11. 1 1 Tháng 6-1996, nhân Linux 2.0 ư c ph bi n. Có hai c trưng n i b t c a Linux 2.0 là h tr ki n trúc ph c h p, bao g m c c ng Alpha 64-bit y , và h tr ki n trúc a b x lý. Phân ph i nhân Linux 2.0 cũng thi hành ư c trên b x lý Motorola 68000 và ki n trúc SPARC c a SUN. Các thi hành c a Linux d a trên vi nhân GNU Mach cũng ch y trên PC và PowerMac. T i năm 2000, nhân Linux 2.4 ư c ph bi n. M t trong c i m ư c quan tâm c a nhân này là nó h tr mã ký t Unicode 32 bít, r t thu n l i cho vi c xây d ng các gi i pháp toàn di n và tri t i v i v n ngôn ng t nhiên trên ph m vi toàn th gi i. V n phân ph i và gi y phép Linux V lý thuy t, m i ngư i có th kh i t o m t h th ng Linux b ng cách ti p nh n b n m i nh t các thành ph n c n thi t t các site ftp và biên d ch chúng. Trong th i kỳ u tiên, ngư i dùng Linux ph i ti n hành toàn b các thao tác này và vì v y công vi c là khá v t v . Tuy nhiên, do có s tham gia ông o c a các cá nhân và nhóm phát tri n Linux, ã ti n hành th c hi n nhi u gi i pháp nh m làm cho công vi c kh i t o h th ng v t v . M t trong nh ng gi i pháp i n hình nh t là cung c p t p các gói chương trình ã ti n d ch, chu n hóa. Nh ng t p h p như v y hay nh ng b n phân ph i là l n hơn nhi u so v i h th ng Linux cơ s . Chúng thư ng bao g m các ti n ích b sung cho kh i t o h th ng, các thư vi n qu n lý, cũng như nhi u gói ã ư c ti n d ch, s n sàng kh i t o c a nhi u b công c UNIX dùng chung, ch ng h n như ph c v tin, trình duy t web, công c x lý, so n th o văn b n và th m chí các trò chơi. Cách th c phân ph i ban u r t ơn gi n song ngày càng ư c nâng c p và hoàn thi n b ng phương ti n qu n lý gói tiên ti n. Các b n phân ph i ngày nay bao g m các cơ s d li u ti n hóa gói, cho phép các gói d dàng ư c kh i t o, nâng c p và lo i b . Nhà phân ph i u tiên th c hi n theo phương châm này là Slakware, và chính h là nh ng chuy n bi n m nh m trong c ng ng Linux i v i công vi c qu n lý gói kh i t o Linux. Ti n ích qu n lý gói RPM (RedHat Package Manager) c a công ty RedHat là m t trong nh ng phương ti n i n hình. Nhân Linux là ph n m m t do ư c phân ph i theo Gi y phép s h u công c ng ph n m m GNU GPL. Các thành ph n tích h p H i u hành Linux Linux s d ng r t nhi u thành ph n t D án ph n m m t do GNU, t h i u hành BSD c a i h c Berkeley và t h th ng X-Window c a MIT. Thư vi n h th ng chính c a Linux ư c b t ngu n t D án GNU, sau ó ư c r t nhi u ngư i trong c ng ng Linux phát tri n ti p, nh ng phát tri n ti p theo như v y ch y u liên quan t i vi c gi i quy t các v n như thi u v ng a ch (l i trang), thi u hi u qu và g r i. M t s thành ph n khác c a D án GNU, ch ng h n như trình biên d ch GNU C (gcc), v n là ch t lư ng cao nên ư c s d ng nguyên xy trong Linux. Các tool qu n lý m ng ư c b t ngu n t mã 4.3BSD song sau ó ã ư c c ng ng Linux phát tri n, ch ng h n như thư vi n toán h c ng x lý d u ch m ng Intel và các trình i u khi n thi t b ph n c ng âm thanh PC. Các tool qu n lý m ng này sau ó l i ư c b sung vào h th ng BSD.
  12. 12. 1 2 H th ng Linux ư c duy trì g n như b i m t m ng lư i không ch t ch các nhà phát tri n ph n m m c ng tác v i nhau qua Internet, m ng lư i này g m các nhóm nh và cá nhân ch u trách nhi m duy trì tính toàn v n c a t ng thành ph n. M t lư ng nh các site phân c p ftp Internat công c ng ã óng vai trò nhà kho theo chu n de facto ch a các thành ph n này. Tài li u Chu n phân c p h th ng file (File System Hierarchy Standard) ư c c ng ng Linux duy trì nh m gi tính tương thích xuyên qua s khác bi t r t l n gi a các thành ph n h th ng. M t s c i m chính c a Linux Dư i ây trình bày m t s c i m chính c a c a h i u hành Linux hi n t i: Linux tương thích v i nhi u h i u hành như DOS, MicroSoft Windows ...: Cho phép cài t Linux cùng v i các h i u hành khác trên cùng m t c ng. Linux có th truy nh p n các file c a các h i u hành cùng m t ĩa. Linux cho phép ch y mô ph ng các chương trình thu c các h i u hành khác. Do gi ư c chu n c a UNIX nên s chuy n i gi a Linux và các h UNIX khác là d dàng. Linux là m t h i u hành UNIX tiêu bi u v i các c trưng là a ngư i dùng, a chương trình và a x lý. Linux có giao di n ho (GUI) th a hư ng t h th ng X-Window. Linux h tr nhi u giao th c m ng, b t ngu n và phát tri n t dòng BSD. Thêm vào ó, Linux còn h tr tính toán th i gian th c. Linux khá m nh và ch y r t nhanh ngay c khi nhi u quá trình ho c nhi u c a s . Linux ư c cài t trên nhi u ch ng lo i máy tính khác nhau như PC, Mini và vi c cài t khá thu n l i. Tuy nhiên, hi n nay chưa xu t hi n Linux trên máy tính l n (mainframe). Linux ngày càng ư c h tr b i các ph n m m ng d ng b sung như so n th o, qu n lý m ng, qu n tr cơ s d li u, b ng tính ... Linux h tr t t cho tính toán song song và máy tính c m (PC-cluster) là m t hư ng nghiên c u tri n khai ng d ng nhi u tri n v ng hi n nay. Là m t h i u hành v i mã ngu n m , ư c phát tri n qua c ng ng ngu n m (bao g m c Free Software Foundation) nên Linux phát tri n nhanh. Linux là m t trong m t s ít các h i u hành ư c quan tâm nhi u nh t trên th gi i hi n nay. Linux là m t h i u hành h tr a ngôn ng m t cách toàn di n nh t. Do Linux cho phép h tr các b mã chu n t 16 bit tr lên (trong ó có các b mã ISO10646, Unicode) cho nên vi c b n a hóa trên Linux là tri t nh t trong các h i u hành. Tuy nhiên cũng t n t i m t s khó khăn làm cho Linux chưa th c s tr thành m t h i u hành ph d ng, dư i ây là m t s khó khăn i n hình: Tuy ã có công c h tr cài t, tuy nhiên, vi c cài t Linux còn tương i ph c t p và khó khăn. Kh năng tương thích c a Linux v i m t s lo i thi t b ph n c ng còn th p do chưa có các trình i u khi n cho nhi u thi t b ,
  13. 13. 1 3 Ph n m m ng d ng ch y trên n n Linux tuy ã phong phú song so v i m t s h i u hành khác, c bi t là khi so sánh v i MS Windows, thì v n còn có kho ng cách. V i s h tr c a nhi u công ty tin h c hàng u th gi i (IBM, SUN, HP ...) và s tham gia phát tri n c a hàng v n chuyên gia trên toàn th gi i thu c c ng ng Linux, các khó khăn c a Linux ch c ch n s nhanh chóng ư c kh c ph c. Chính vì l ó ã hình thành m t s nhà cung c p Linux trên th gi i. B ng dư i ây là tên c a m t s nhà cung c p Linux có ti ng nh t và a ch website c a h . áng chú ý nh t là Red Hat Linux (t i M ) và Red Flag Linux (t i Trung Qu c). Red Hat ư c coi là lâu i và tin c y, còn Red Flag là m t công ty Linux c a Trung qu c, có quan h v i c ng ng Linux Vi t nam và chúng ta có th h c h i m t cách tr c ti p kinh nghi m cho quá trình ưa Linux vào Vi t nam. Tên công ty a ch website Caldera OpenLinux www.caldera.com Corel Linux www.corel.com Debian GNU/Linux www.debian.com Linux Mandrake www.mandrake.com Red Hat Linux www.redhat.com Red Flag Linux www.redflag-linux.com Slackware Linux www.slackware.com SuSE Linux www.suse.com TurboLinux www.turbolinux.com 1.2. Sơ b v các thành ph n c a Linux H th ng Linux, ư c thi hành như m t h i u hành UNIX truy n th ng, g m shell và ba thành ph n ( ã d ng mã chương trình) sau ây: - Nhân h i u hành ch u trách nhi m duy trì các i tư ng tr u tư ng quan tr ng c a h i u hành, bao g m b nh o và quá trình. Các mô un chương trình trong nhân ư c c quy n trong h th ng, bao g m c quy n thư ng tr c b nh trong. - Thư vi n h th ng xác nh m t t p chu n các hàm các ng d ng tương tác v i nhân, và thi hành nhi u ch c năng c a h th ng nhưng không c n có các c quy n c a mô un thu c nhân. M t h th ng con i n hình ư c thi hành d a trên thư viên h th ng là h th ng file Linux. - Ti n ích h th ng là các chương trình thi hành các nhi m v qu n lý riêng r , chuyên bi t. M t s ti n ích h th ng ư c g i ra ch m t l n kh i ng và c u hình phương ti n h th ng, m t s ti n ích khác, theo thu t ng UNIX ư c g i là trình ch y ng m (daemon), có th ch y m t cách thư ng xuyên (thư ng theo chu kỳ), i u khi n các bài toán như hư ng ng các k t n i m ng m i n, ti p nh n yêu c u logon, ho c c p nh t các file log. Ti n ích (hay l nh) có s n trong h i u hành (dư i ây ti n ích ư c coi là l nh thư ng tr c). N i dung chính y u c a tài li u này gi i thi u chi ti t v m t s l nh thông d ng nh t c a Linux. H th ng file s ư c gi i thi u trong chương 3. Trong các chương sau có c p t i nhi u n i dung liên quan n nhân và shell, song dư i ây là m t s nét sơ b v chúng.
  14. 14. 1 4 1.2.1. Sơ b v nhân Nhân (còn ư c g i là h lõi) c a Linux, là m t b các môdun chương trình có vai trò i u khi n các thành ph n c a máy tính, phân ph i các tài nguyên cho ngư i dùng (các quá trình ngư i dùng). Nhân chính là c u n i gi a chương trình ng d ng v i ph n c ng. Ngư i dùng s d ng bàn phím gõ n i dung yêu c u c a mình và yêu c u ó ư c nhân g i t i shell: Shell phân tích l nh và g i các chương trình tương ng v i l nh th c hi n. M t trong nh ng ch c năng quan tr ng nh t c a nhân là gi i quy t bài toán l p l ch, t c là h th ng c n phân chia CPU cho nhi u quá trình hi n th i cùng t n t i. i v i Linux, s lư ng quá trình có th lên t i con s hàng nghìn. V i s lư ng quá trình ng th i nhi u như v y, các thu t toán l p l ch c n ph i hi u qu : Linux thư ng l p l ch theo ch Round Robin (RR) th c hi n vi c luân chuy n CPU theo lư ng t th i gian. Thành ph n quan tr ng th hai trong nhân là h th ng các mô un chương trình ( ư c g i là l i g i h th ng) làm vi c v i h th ng file. Linux có hai cách th c làm vi c v i các file: làm vi c theo byte (kí t ) và làm vi c theo kh i. M t c i m áng chú ý là file trong Linux có th ư c nhi u ngư i cùng truy nh p t i nên các l i g i h th ng làm vi c v i file c n m b o vi c file ư c truy nh p theo quy n và ư c chia x cho ngư i dùng. 1.2.2. Sơ b v shell M t s n i dung chi ti t v shell (còn ư c g i là h v ) trong Linux ư c trình bày trong chương "L p trình trên shell". Nh ng n i dung trình bày dư i ây cung c p m t cách nhìn sơ b v shell và vai trò c a nó trong ho t ng chung c a h i u hành. Ngư i dùng mong mu n máy tính th c hi n m t công vi c nào ó thì c n gõ l nh th hi n yêu c u c a mình h th ng áp ng yêu c u ó. Shell là b d ch l nh và ho t ng như m t k t n i trung gian gi a nhân v i ngư i dùng: Shell nh n dòng l nh do ngư i dùng ưa vào; và t dòng l nh nói trên, nhân tách ra các b ph n nh n ư c m t hay m t s l nh tương ng v i các o n văn b n có trong dòng l nh. M t l nh bao g m tên l nh và tham s : t u tiên là tên l nh, các t ti p theo (n u có) là các tham s . Ti p theo, shell s d ng nhân kh i sinh m t quá trình m i (kh i t o quá trình) và sau ó, shell ch i quá trình con này ti n hành, hoàn thi n và k t thúc. Khi shell s n sàng ti p nh n dòng l nh c a ngư i dùng, m t d u nh c shell (còn g i là d u nh c nh p l nh) xu t hi n trên màn hình. Linux có hai lo i shell ph bi n là: C-shell (d u nh c %), Bourne-shell (d u nh c $) và m t s shell phát tri n t các shell nói trên (ch ng h n, TCshell - tcsh v i d u nh c ng m nh > phát tri n t C-shell và GNU Bourne - bash v i d u nh c bash # phát tri n t Bourne-shell). D u m i phân bi t shell nói trên không ph i hoàn toàn rõ ràng do Linux cho phép ngư i dùng thay i l i d u nh c shell nh vi c thay giá tr các bi n môi trư ng PS1 và PS2. Trong tài li u này, chúng ta s d ng kí hi u "hàng rào #" bi u th d u nh c shell. C-shell có tên g i như v y là do cách vi t l nh và chương trình l nh Linux t a như ngôn ng C. Bourne-shell mang tên tác gi c a nó là Steven Bourne. M t s l nh trong C- shell (ch ng h n l nh alias) không còn có trong Bourne-shell và vì v y nh n bi t h th ng ang làm vi c v i shell nào, chúng ta gõ l nh: # alias N u m t danh sách xu t hi n thì shell ang s d ng là C-shell; ngư c l i, n u xu t hi n thông báo "Command not found" thì shell ó là Bourne-shell. L nh ư c chia thành 3 lo i l nh:
  15. 15. 1 5 L nh thư ng tr c (có s n c a Linux). Tuy t i a s l nh ư c gi i thi u trong tài li u này là l nh thư ng tr c. Chúng bao g m các l nh ư c ch a s n trong shell và các l nh thư ng tr c khác. File chương trình ngôn ng máy: ch ng h n, ngư i dùng vi t trình trên ngôn ng C qua b d ch gcc (bao g m c trình k t n i link) t o ra m t chương trình trên ngôn ng máy. File chương trình shell (Shell Scrip). Khi k t thúc m t dòng l nh c n gõ phím ENTER shell phân tích và th c hi n l nh. 1.3. Gi i thi u v s d ng l nh trong Linux Như ã gi i thi u ph n trên, Linux là m t h i u hành a ngư i dùng, a nhi m, ư c phát tri n b i hàng nghìn chuyên gia Tin h c trên toàn th gi i nên h th ng l nh cũng ngày càng phong phú; n th i i m hi n nay Linux có kho ng hơn m t nghìn l nh. Tuy nhiên ch có kho ng vài ch c l nh là thông d ng nh t i v i ngư i dùng. Tài li u này cũng h n ch gi i thi u kho ng vài ch c l nh ó. Chúng ta ng e ng i v s lư ng l nh ư c gi i thi u ch chi m m t ph n nh trong t p h p l nh b i vì ây là nh ng l nh thông d ng nh t và chúng cung c p m t ph m vi ng d ng r ng l n, th a mãn yêu c u c a chúng ta. Cũng như ã nói trên, ngư i dùng làm vi c v i máy tính thông qua vi c s d ng tr m cu i: ngư i dùng ưa yêu c u c a mình b ng cách gõ "l nh" t bàn phím và giao cho h i u hành x lý. Khi cài t Linux lên máy tính cá nhân thì máy tính cá nhân v a óng vai trò tr m cu i, v a óng vai trò máy tính x lý. D ng t ng quát c a l nh Linux có th ư c vi t như sau: # <Tên l nh> [<các tham s >] ¿ trong ó: Tên l nh là m t dãy ký t , không có d u cách, bi u th cho m t l nh c a Linux hay m t chương trình. Ngư i dùng c n h i u hành áp ng yêu c u gì c a mình thì ph i ch n úng tên l nh. Tên l nh là b t bu c ph i có khi gõ l nh. Các tham s có th có ho c không có, ư c vi t theo quy nh c a l nh mà chúng ta s d ng, nh m cung c p thông tin v các i tư ng mà l nh tác ng t i. Ý nghĩa c a các d u [, <, >, ] ư c gi i thích ph n quy t c vi t l nh. Các tham s ư c phân ra thành hai lo i: tham s khóa (sau ây thư ng dùng là "tùy ch n") và tham s v trí. Tham s v trí thư ng là tên file, thư m c và thư ng là các i tư ng ch u s tác ng c a l nh. Khi gõ l nh, tham s v trí ư c thay b ng nh ng i tư ng mà ngư i dùng c n hư ng tác ng t i. Tham s khóa chính là nh ng tham s i u khi n ho t ng c a l nh theo các trư ng h p riêng. Trong Linux, tham s khóa thư ng b t u b i d u tr "-" ho c hai d u tr liên ti p "--". Khi gõ l nh, cũng gi ng như tên l nh, tham s khóa ph i ư c vi t chính xác như trình bày trong mô t l nh. M t l nh có th có m t s ho c r t nhi u tham s khóa. Ph thu c vào yêu c u c th c a mình, ngư i dùng có th ch n m t ho c m t s các tham s khóa khi gõ l nh. Trong mô t l nh, thư ng xu t hi n thu t ng tùy-ch n. Tùy ch n l nh (th c ch t là tham s khóa) cho phép i u ch nh ho t ng c a l nh trong Linux, làm cho l nh có tính ph d ng cao. Tuỳ ch n l nh cho phép l nh có th áp ng ý mu n c a ngư i dùng i v i h u h t (tuy không ph i lúc nào cũng v y) các tình hu ng t ra cho thao tác ng v i l nh.
  16. 16. 1 6 Ký hi u "↵" bi u th vi c gõ phím h t dòng <Enter>. k t thúc m t yêu c u, ngư i dùng nh t thi t ph i gõ phím "↵". Ví d , khi ngư i dùng gõ l nh xem thông tin v các file: # ls -l g↵↵↵↵¿ trong l nh này: ls là tên l nh th c hi n vi c ưa danh sách các tên file/ thư m c con trong m t thư m c, -l là tham s khóa, cho bi t yêu c u xem y thông tin v các i tư ng hi n ra. Chú ý, trong tham s khóa ch cái (ch "l") ph i i ngay sau d u tr "-". Tương ng v i l nh ls còn có các tham s khóa -a, -L, ... và chúng cũng là các tùy ch n l nh. Trong m t s tham s khóa có nhi u ch cái thay cho m t d u "-" là hai d u "--" u tham s . Ví d , như trư ng h p tham s --file c a l nh date. g* là tham s v trí ch rõ ngư i dùng c n xem thông tin v các file có tên g i b t u là ch cái "g". Trong tài li u này, quy ư c r ng khi vi t m t l nh (trong mô t l nh và gõ l nh) thì không c n ph i vi t d u "↵" cu i dòng l nh ó, song luôn ghi nh r ng phím ENTER ("↵") là b t bu c khi gõ l nh. Lưu ý: Linux (và UNIX nói chung) ư c xây d ng trên ngôn ng l p trình C, vì v y khi gõ l nh ph i phân bi t ch thư ng v i ch hoa. Ngo i tr m t s ngo i l , trong Linux chúng ta th y ph bi n là: Các tên l nh là ch thư ng, M t s tham s có th là ch thư ng ho c ch hoa (ví d , trong l nh date v th i gian h th ng thì hai tham s -r và -R có ý nghĩa hoàn toàn khác nhau). Tên các bi n môi trư ng cũng thư ng dùng ch hoa. Trong tài li u này, t i nh ng dòng văn b n di n gi i, s d ng cách vi t tên l nh, các tham s khóa b ng ki u ch không chân, m như date, -R, -r ... Linux phân bi t siêu ngư i dùng (ti ng Anh là superuser ho c root, còn ư c g i là ngư i qu n tr hay ngư i dùng t i cao ho c siêu ngư i dùng) v i ngư i dùng thông thư ng. Trong t p h p l nh c a Linux, có m t s l nh mà ch siêu ngư i dùng m i ư c phép s d ng còn ngư i dùng thông thư ng thì không ư c phép (ví d như l nh adduser th c hi n vi c b sung thêm ngư i dùng). M t khác trong m t s l nh, v i m t s tham s khóa thì ch siêu ngư i dùng ư c phép dùng, còn v i m t s tham s khác thì m i ngư i dùng u ư c phép (ví d như l nh passwd thay i m t kh u ngư i dùng). M t dòng l nh có th có nhi u hơn m t l nh, trong ó l nh sau ư c ngăn cách b i v i l nh i ngay trư c b ng d u ";" ho c d u "|". Ví d v m t s dòng l nh d ng này: # ls -l; date # head Filetext | sort >temp Sau khi ngư i dùng gõ xong dòng l nh, shell ti p nh n dòng l nh này và phân tích n i dung văn b n c a l nh. N u l nh ư c gõ úng thì nó ư c th c hi n; ngư c l i, trong trư ng h p có sai sót khi gõ l nh thì shell thông báo v sai sót và
  17. 17. 1 7 d u nh c shell l i hi n ra ch l nh ti p theo c a ngư i dùng. V ph bi n, n u như sau khi ngư i dùng gõ l nh, không th y thông báo sai sót hi n ra thì có nghĩa l nh ã ư c th c hi n m t cách bình thư ng. Trư c khi i vào n i dung chi ti t các l nh thông d ng, chúng ta xem xét v m t s quy nh dùng trong mô t l nh ư c trình bày trong tài li u này. 1.3.1. Các quy ư c khi vi t l nh Trong tài li u này, các l nh ư c trình bày theo m t b quy t c cú pháp nh t quán. B quy t c này cho phép phân bi t trong m i l nh các thành ph n nào là b t bu c ph i có, các thành ph n nào có th có ho c không ... Dư i ây là n i dung c a các quy t c trong b quy t c ó. Tên l nh là b t bu c, ph i là t u tiên trong b t kỳ l nh nào, ph i ư c gõ úng như khi mô t l nh. Tên khái ni m ư c n m trong c p d u ngo c quan h (< và >) bi u th cho m t l p i tư ng và là tham s b t bu c ph i có. Khi gõ l nh thì tên khái ni m (có th ư c coi là "tham s hình th c") ph i ư c thay th b ng m t t (thư ng là tên file, tên thư m c ... và có th ư c coi là "tham s th c s ") ch i tư ng liên quan n thao tác c a l nh. Ví d , mô t cú pháp c a l nh more xem n i dung file là # more <file> thì t more là tên l nh, còn <file> là tham s trong ó file là tên khái ni m và là tham s b t bu c ph i có. L nh này có tác ng là hi n lên màn hình theo cách th c cu n n i dung c a file v i tên ã ch trong l nh. xem n i dung file có tên là temp, ngư i dùng gõ l nh: # more temp Như v y, tên l nh more ư c gõ úng như mô t cú pháp (c n i dung và v trí) còn "file" ã ư c thay th b ng t "temp" là tên file mà ngư i dùng mu n xem n i dung. Các b ph n n m gi a c p d u ngo c vuông [ và ] là có th gõ ho c không gõ cũng ư c. Ví d , cú pháp c a l nh halt là # halt [tùy-ch n] V i các tùy ch n là -w, -n, -d, -f, -i mã m i tùy ch n cho m t cách th c ho t ng khác nhau c a l nh halt. L nh halt có tác ng chính là làm ng ng ho t ng c a h i u hành, tuy nhiên khi ngư i dùng mu n có m t cách ho t ng nào ó c a l nh này thì s ch n m t (ho c m t s ) tuỳ ch n l nh tương ng. M t s cách gõ l nh halt c a ngư i dùng như sau ây là úng cú pháp: # halt # halt -w # halt -n # halt -f Các giá tr có trong c p | và | trong ó các b ph n cách nhau b ng d u s ng "|" cho bi t c n ch n m t và ch m t trong các giá tr n m gi a hai d u ngo c ó.
  18. 18. 1 8 Ví d , khi gi i thi u v tùy ch n l nh c a l nh tail xem ph n cu i n i dung c a file, chúng ta th y: -f, --follow[={tên | c t }] Như v y, sau tham s khóa --follow, n u xu t hi n thêm d u b ng "=" thì ph i có ho c tên ho c c t . ây là trư ng h p các ch n l a "lo i tr nhau". D u ba ch m ... th hi n vi c l p l i thành ph n cú pháp i ngay trư c d u này, vi c l p l i ó có th t không n nhi u l n (không k chính thành ph n cú pháp ó). Cách th c này thư ng ư c dùng v i các tham s như tên file. Ví d , mô t l nh chown như sau: chown [tùy-ch n] <ch >[,[nhóm]]<file>... Như v y trong l nh chown có th không có ho c có m t s tùy ch n l nh và có t m t n nhi u tên file. Các b ph n trong mô t l nh, n u không n m trong các c p d u [ ], <>, { } thì khi gõ l nh th c s ph i gõ y úng như khi mô t (chú ý, quy t c vi t tên l nh là m t trư ng h p riêng c a quy t c này). Vi c k t h p các d u ngo c v i nhau cho phép t o ra cách th c s d ng quy t c t h p các tham s trong l nh. Ví d , l nh more bình thư ng có cú pháp là: # more <file> có nghĩa là thay <file> b ng tên file c n xem n i dung, n u k t h p thêm d u ngo c vuông [ và ], t c là có d ng sau (chính là d ng t ng quát c a l nh more): # more [<file>] thì <file> nói chung ph i có trong l nh more, tuy nhiên trong m t s trư ng h p có th b qua tham s file. Lưu ý: i v i nhi u l nh, cho phép ngư i dùng gõ tham s khóa k t h p tương ng v i tùy_ch n trong mô t l nh. Tham s khóa k t h p ư c vi t theo cách - <xâu-kí-t >, trong ó xâu-kí-t g m các ch cái trong tham s khóa. Ví d , trong mô t l nh in l ch cal: cal [tùy-ch n] [tháng [năm] ] có ba tham s khóa là -m, -j, -y. Khi gõ l nh có th gõ m t t h p nào ó t ba tham s khóa này ư c tình hu ng s d ng l nh theo ý mu n. Ch ng h n, n u gõ l nh cal -mj 3 thì l nh cal th c hi n theo i u khi n c a hai tham s khóa -m (ch n Th Hai là ngày u tu n, thay vì cho ng m nh là Ch Nh t) và -j (hi n th ngày trong tháng dư i d ng s ngày trong năm k t u năm). Vì v y, khi vi t [tùy-ch n] trong mô t l nh bi u th c vi c s d ng t ng tùy ch n, nhi u tùy ch n ho c k t h p các tuỳ ch n. Trong m t s l nh, có hai tham s khóa cùng tương ng v i m t tình hu ng th c hi n l nh, trong ó m t tham s g m m t kí t còn tham s kia l i là m t t . Tham s dài m t t là tham s chu n c a l nh, còn tham s m t kí t là cách vi t ng n g n. Tham s chu n dùng ư c trong m i Linux và khi gõ ph i có kí t trong t .
  19. 19. 1 9 Ví d , khi mô t l nh date có tùy ch n: -d, --date=STRING như v y hai tham s -d và --date=STRING có cùng ý nghĩa. Ngoài nh ng quy ư c trên ây, ngư i dùng ng quên m t quy nh cơ b n là c n phân bi t ch hoa v i ch thư ng khi gõ l nh. 1.3.3. Làm ơn gi n thao tác gõ l nh Vi c s d ng bàn phím nh p l nh tuy không ph i là m t công vi c n ng n , song Linux còn cho phép ngư i dùng s d ng m t s cách th c thu n ti n hơn khi gõ l nh. M t s trong nh ng cách th c ó là: S d ng vi c khôi ph c dòng l nh, S d ng các phím c bi t, S d ng các kí hi u thay th và phím <Tab>, S d ng thay th alias, S d ng chương trình l nh. Cách th c s d ng chương trình l nh (shell script) s ư c gi i thi u chi ti t trong các chương sau. Dư i ây, chúng ta xem xét cách th c s d ng vi c khôi ph c dòng l nh, phím c bi t và kí hi u thay th . Cơ ch khôi ph c dòng l nh Linux cung c p m t cách th c c bi t là kh năng khôi ph c l nh. T i d u nh c shell: Ngư i dùng s d ng các phím mũi tên lên/xu ng (↑/↓) trên bàn phím nh n l i các dòng l nh ã ư c ưa vào trư c ây t i d u nh c shell, ch n m t trong các dòng l nh ó và biên t p l i n i dung dòng l nh theo úng yêu c u m i c a mình. Ví d , ngư i dùng v a gõ xong dòng l nh: # ls -l tenfile* sau ó mu n gõ l nh ls -l tentaptin thì t i d u nh c c a shell, ngư i dùng s d ng các phím di chuy n lên (↑) ho c xu ng (↓) nh n ư c: # ls -l tenfile* dùng các phím t t di chuy n, xoá kí t (xem ph n sau) có ư c: # ls -l ten và gõ ti p các kí t "taptin" nh n ư c: # ls -l tentaptin chính là k t qu mong mu n. Trong trư ng h p s lư ng kí t thay th là r t ít so v i s lư ng kí t c a toàn dòng l nh thì hi u qu c a cách th c này r t cao. Lưu ý: Vi c nh n liên ti p các phím di chuy n lên (↑) ho c xu ng (↓) cho phép ngư i dùng nh n ư c các dòng l nh ã gõ t trư c mà không ch dòng l nh m i ư c gõ. Cách th c này tương t v i cách th c s d ng ti n ích DOSKEY trong h i u hành MS-DOS.
  20. 20. 2 0 M t s phím c bi t khi gõ l nh Khi ngư i dùng gõ l nh có th x y ra m t s tình hu ng như sau: Dòng l nh ang gõ có ch sai sót, không úng theo yêu c u c a ngư i dùng vì v y c n ph i s a l i ôi chút n i dung trên dòng l nh ó. Trong trư ng h p ó c n s d ng các phím c bi t (còn g i là phím vi t t t hay phím t t) di chuy n, xoá b , b sung vào n i dung dòng l nh. Sau khi s d ng cách th c khôi ph c dòng l nh, chúng ta nh n ư c dòng l nh tương t v i l nh c n gõ và sau ó s d ng các phím t t hoàn thi n l nh. Dư i ây gi i thi u các phím t t và ý nghĩa c a vi c s d ng chúng: • Nh n phím → di chuy n con tr sang bên ph i m t v trí • Nh n phím ← di chuy n con tr sang bên trái m t v trí • Nh n phím <ESC-BACKSPACE> xoá m t t bên trái con tr • Nh n phím <ESC-D> xoá m t t bên ph i con tr • Nh n phím <ESC-F> di chuy n con tr sang bên ph i m t t • Nh n phím <ESC-B> di chuy n con tr sang bên trái m t t • Nh n phím <CTRL-A> di chuy n con tr v u dòng l nh • Nh n phím <CTRL-E> di chuy n con tr v cu i dòng • Nh n phím <CTRL-U> xóa dòng l nh Có th dùng phím <ALT> thay cho phím <ESC>. Các kí hi u mô t nhóm file và phím <Tab> Khi gõ l nh th c s nhi u trư ng h p ngư i dùng mong mu n m t tham s trong l nh không ch xác nh m t file mà l i liên quan n m t nhóm các file mà tên g i c a các file trong nhóm có chung m t tính ch t nào ó. Trong nh ng trư ng h p như v y, ngư i dùng c n s d ng các kí hi u mô t nhóm file (wildcards), chúng ta g i là kí hi u mô t nhóm (còn ư c g i là kí hi u thay th ). Ngư i ta s d ng các kí t *, ? và c p hai d u [ và ] mô t nhóm file. Các kí t này mang ý nghĩa như sau khi vi t vào tham s tên file th c s : • "*" : là ký t mô t nhóm g m m i xâu kí t (thay th m i xâu). Mô t này cho m t nhóm l n nh t trong ba mô t . • "?" : mô t nhóm g m m i xâu v i dài không quá 1 (thay th m t kí t ). Nhóm này là t p con c a nhóm u tiên (theo kí t "*"). • [xâu-kí-t ] : mô t nhóm g m m i xâu có dài 1 là m i kí t thu c xâu nói trên. Mô t này cho m t nhóm có l c lư ng bé nh t trong ba mô t . Nhóm này là t p con c a nhóm th hai (theo kí t "?"). Khi gõ l nh ph i gõ c hai d u [ và ]. M t d ng khác c a mô t nhóm này là [<kí_t _1>-<kí_t _2>] nghĩa là gi a c p d u ngo c có ba kí t trong ó kí t gi a là d u n i (d u -) thì cách vi t này tương ương v i vi c li t kê m i kí t t <kí_t _1> n <kí_t _2>. Ch ng h n, cách vi t [a-d] tương ương v i cách vi t [abcd]. Ví d , gi s khi mu n làm vi c v i t t c các file trong m t thư m c nào ó, ngư i dùng gõ * thay th tham s file thì xác nh ư c các tên file sau (chúng ta vi t b n tên file trên m t dòng):
  21. 21. 2 1 info-dir initlog.conf inittab lynx.cfg mail.rc mailcap minicom.users motd mtab mtools.conf services shadow shadow- shells smb.conf sysctl.conf syslog.conf temp termcap up2date.conf temp termcap N u ngư i dùng gõ s* ( ch các tên có ch cái u là s) thay th tham s file thì xác nh ư c các tên file sau: shadow shadow- shells sysctl.conf syslog.conf N u ngư i dùng gõ [si]* ( ch các tên có ch cái u là s ho c i, chú ý dùng c hai kí t [ và ]) thay th tham s file thì xác nh các tên file sau: info-dir initlog.conf inittab services shadow shadow- shells smb.conf sysctl.conf syslog.conf Lưu ý: Như v y, Linux (và UNIX nói chung) không ch s d ng hai kí t mô t nhóm * và ? mà còn có cách th c s d ng c p kí t [ và ]. C n phân bi t c p d u [ và ] ư c s d ng khi ngư i dùng gõ l nh có ý nghĩa hoàn toàn khác v i ý nghĩa c a chúng khi ư c s d ng trong mô t l nh. Hơn th n a, Linux còn cung c p cho ngư i dùng cách th c s d ng phím <TAB> hoàn thành n t tên file (tên thư m c) trong l nh. Ví d , khi chúng ta gõ dòng l nh # ls /u<TAB>local<TAB>b<TAB> thì nó cũng tương ương như gõ dòng l nh (và ây chính là n i dung xu t hi n t i d u nh c shell): # ls /usr/local/bin v i i u ki n trong thư m c /usr ch có thư m c local ư c b t u b i ch "l" và trong thư m c local cũng ch có thư m c bin ư c b t u b i ch "b". Trong trư ng h p n u như m t kí t chưa xác nh, ngư i dùng c n gõ thêm kí t ti p theo trong tên file (tên thư m c) và nh n phím <TAB> hoàn thành dòng l nh. 1.3.4. Ti p n i dòng l nh Như ã lưu ý trên ây, m t dòng l nh có th g m m t ho c m t s l nh, m t khác tham s c a l nh có th là r t dài không th trong khuôn kh c a m t dòng văn b n ư c. Khi gõ l nh, n u dòng l nh quá dài, Linux cho phép ng t dòng l nh xu ng dòng dư i b ng cách thêm kí t báo hi u chuy n dòng "" t i cu i dòng; trong trư ng h p ó, kí t "" ph i là ký t cu i cùng thu c dòng l nh trư c. Ví d , # cd vsd thumuc thì dòng th hai là ph n ti p theo c a dòng th nh t và k t h p c hai dòng này th c ch t là m t dòng l nh Linux.
  22. 22. 2 2 1.4. Trang Man Chúng ta có th nói r ng Linux là m t h i u hành r t ph c t p v i hàng nghìn l nh và m i l nh l i có th có t i vài ho c vài ch c tình hu ng s d ng do chúng cho phép có nhi u tùy ch n l nh. thu c h t ư c n i dung t t c các l nh c a Linux là m t i u h t s c khó khăn, có th nói là không th . Linux cho phép ngư i dùng s d ng cách th c g i trang Man có ư c các thông tin y gi i thi u n i dung các l nh. Dư i ây là m t s n i dung v cách th c s d ng trang Man. "Man" là t vi t t t c a "manual", ư c coi là tài li u tr c tuy n trong Linux ã lưu tr toàn b các l nh có s n v i các thông tin tham kh o khá y cho phép ngư i dùng có th m ra nh n ư c tr giúp. m trang Man c a m t l nh, chúng ta s d ng l nh man c a Linux và gõ: # man <tên-l nh> N i dung c a trang Man tuy không ph i là quá khó hi u, song hi u h t ư c nó cũng òi h i không ít th i gian. Tuy v y, n u quên n i dung m t l nh nào ó thì cách t t nh t là hãy s d ng trang Man. C u trúc chung c a m t trang Man như sau: COMMAND(1) Linux Programmer's Manual COMMAND(1) NAME tên l nh - khái quát tác d ng c a l nh SYNOPSIS cú pháp c a l nh DESCRIPTION mô t c th hơn v tác d ng c a l nh OPTIONS li t kê các tùy ch n l nh và tác d ng c a chúng FILES li t kê các file mà l nh s d ng ho c tham chi u n SEE ALSO li t kê các l nh, các tài li u, ..., có liên quan n l nh REPORTING BUGS a ch liên h n u g p l i khi s d ng l nh AUTHOR tên tác gi c a l nh Ngư i dùng th m chí không nh chính xác tên l nh. Linux còn có m t cách th c h tr ngư i dùng có th nhanh chóng tìm ư c l nh c n s d ng trong trư ng h p ch nh nh ng ch cái u c a tên l nh, ó là cách th c s d ng phím TAB. Trong cách th c này, ngư i dùng ch c n nh m t s ch cái u tiên c a tên l nh. Có th trình bày cách th c ó theo cú pháp sau ây: # <dãy-ch -cái><TAB><TAB> Trong ó dãy-ch -cái có t m t n m t vài ch cái thu c ph n u c a tên l nh. Chú ý r ng, các ch cái và hai phím <TAB> ph i ư c gõ liên ti p nhau. K t h p cách th c này v i cách th c s d ng l nh man (v i s phong phú v tùy ch n c a l nh man) nh n ư c m t cách th c khá tuy t v i tr giúp ngư i dùng.
  23. 23. 2 3 Ví d , mu n s d ng l nh history nhưng l i không nh chính xác tên l nh ư c vi t ra như th nào mà ch nh nó ư c b t u b i ch h, hãy gõ ch h ó t i d u nh c shell và nh n phím TAB hai l n, s th y m t danh sách các l nh có ch cái u tiên là h ư c hi n ra trên màn hình: # h<TAB><TAB> h2ph hboot help hexdump history hostname htdigest h2xs hcc helpme hf77 hltest hoststat htpasswd halt hcp helptool hinotes host hpcdtoppm hash head hexbin hipstopgm hostid hpftodit Như v y, t t c các l nh có tên b t u v i ch h ư c hi n th trên màn hình và cho phép ngư i dùng có th xác nh ư c l nh c n quan tâm. Trư ng h p t n t i m t s lư ng l n các l nh có cùng ch cái u tiên mà ngư i dùng ã gõ, thay vì hi n h t m i tên l nh, h i u hành cho ra m t thông báo h i ngư i dùng có mu n xem toàn b các l nh ó hay không. Ngư i dùng áp ng thông báo ó tuỳ theo ý mu n c a mình. Ví d , khi ngư i dùng gõ n i dung như sau: # p<TAB><TAB> thì h th ng áp l i là: There are 289 possibilities. Do you really wish to see them all? (y or n) Ngư i dùng gõ phím "y" n u mu n xem, ho c gõ "n" n u b qua. Ngư i dùng có th gõ nhi u hơn m t ch cái u tên l nh và i u ó cho phép gi m b t s tên l nh mà h th ng tìm ư c và hi n th . Ch ng h n, khi bi t hai ch cái u là "pw" và ngư i dùng gõ: # pw<TAB><TAB> thì h th ng s hi n ra danh sách các tên l nh b t u b i "pw": pwck pwconv pwd pwdb_chkpwd pwunconv Trong trư ng h p này, ngư i dùng s nh n bi t ư c tên l nh ang c n tìm thu n ti n hơn.
  24. 24. 2 4 CHƯƠNG 2. THAO TÁC V I H TH NG 2.1. Quá trình kh i ng Linux Trong ph n này, chúng ta xem xét sơ b quá trình kh i ng h i u hành Linux. M t trong nh ng cách th c kh i ng Linux ph bi n nh t là cách th c do chương trình LILO (LInux LOader) th c hi n. Chương trình LILO ư c n p lên ĩa c a máy tính khi cài t h i u hành Linux. LILO ư c n p vào Master Boot Record c a ĩa c ng ho c vào Boot Sector t i phân vùng kh i ng (trên ĩa c ng ho c ĩa m m). Gi s máy tính c a chúng ta ã cài t Linux và s d ng LILO kh i ng h i u hành. LILO thích h p v i vi c trên máy tính ư c cài t m t s h i u hành khác nhau và theo ó, LILO còn cho phép ngư i dùng ch n l a h i u hành kh i ng. Giai o n kh i ng Linux tùy thu c vào c u hình LILO ã ư c l a ch n trong quá trình cài t Linux. Trong tình hu ng ơn gi n nh t, Linux ư c kh i ng t ĩa c ng hay ĩa m m kh i ng. Quá trình kh i ng Linux có th ư c mô t theo sơ sau: T heo sơ này, LILO ư c t i vào máy th c hi n mà vi c u tiên là ưa nhân vào b nh trong và sau ó t i chương trình init th c hi n vi c kh i ng Linux. N u cài t nhi u phiên b n Linux hay cài Linux cùng các h i u hành khác (trong các trư ng h p như th , m i phiên b n Linux ho c h i u hành khác ư c gán nhãn - label phân bi t), thì thông báo sau ây ư c LILO ưa ra: LILO boot: cho phép nh p xâu là nhãn c a m t trong nh ng h i u hành hi n có trên máy kh i ng nó. T i th i i m ó, ngư i dùng c n gõ nhãn c a h i u hành c n kh i ng vào, ví d , gõ LILO boot: linux n u ch n kh i ng làm vi c trong Linux, ho c gõ LILO boot: dos n u ch n kh i ng làm vi c trong MS-DOS, Windows. Lưu ý: N u chúng ta không nh ư c nhãn c a h i u hành có trong máy ch n, hãy gõ phím <TAB> ư c LILO cho bi t nhãn c a các h i u hành. LILO boot: <TAB> s hi n ra danh sách các nhãn (ví d như): linux dos ... và hi n l i thông báo nói trên ta gõ nhãn c a h i u hành. LILO cũng cho phép t ch ch n ng m nh h i u hành kh i ng mà theo ó n u chúng ta không có tác ng gì sau thông báo ch n h i u hành thì LILO s t ng ch n h i u hành ng m nh ra kh i ng. N u chúng ta không can thi p vào các file tương ng c a trình LILO thì h i u hành Linux là h i u hành ng m nh. Gi s Linux ã ư c ch n kh i ng. Khi init th c hi n, chúng ta s th y m t chu i (kho ng vài ch c) dòng thông báo cho bi t h th ng ph n c ng ư c Linux nh n di n và LILO Nhân init
  25. 25. 2 5 thi t l p c u hình cùng v i t t c trình i u khi n ph n m m ư c n p khi kh i ng. Quá trình init là quá trình kh i th y, là cha c a m i quá trình. T i th i i m kh i ng h th ng init th c hi n vai trò u tiên c a mình là ch y chương trình shell trong file /etc/inittab và các dòng thông báo trên ây chính là k t qu c a vi c ch y chương trình shell ó. Sau khi chương trình shell trên ư c th c hi n xong, b t u quá trình ngư i dùng ăng nh p (login) vào h th ng. 2.2. Th t c ăng nh p và các l nh thoát kh i h th ng 2.2.1. ăng nh p Sau khi h th ng Linux (l y Red Hat 6.2 làm ví d ) kh i ng xong, trên màn hình xu t hi n nh ng dòng sau: Ret Hat Linux release 6.2 (Zoot) Kernel 2.2.14-5.0 on an i686 May1 login: Dòng th nh t và dòng th hai cho bi t lo i phiên b n Linux, phiên b n c a nhân và ki n trúc ph n c ng có trên máy, dòng th ba là d u nh c ăng nh p ngư i dùng th c hi n vi c ăng nh p. Chú ý là các dòng trên ây có th thay i chút ít tùy thu c vào phiên b n Linux. T i d u nh c ăng nh p, hãy nh p tên ngư i dùng (còn g i là tên ăng nh p): ây là tên kí hi u ã cung c p cho Linux nh m nh n di n m t ngư i dùng c th . Tên ăng nh p ng v i m i ngư i dùng trên h th ng là duy nh t, kèm theo m t m t kh u ăng nh p. May1 login: root Password: Chúng ta có th thay i các dòng hi n th như trình bày trên ây b ng cách s a i file /etc/rc.d/rc.local như sau: Thay o n chương trình echo "" > /etc/issue echo "$R" >> /etc/issue echo "Kernel $(uname -r) on $a $SMP$(uname -m)" >> /etc/issue cp -f /etc/issue /etc/issue.net echo >> /etc/issue thành echo "" > /etc/issue echo "Thông báo mu n hi n th " >> /etc/issue ví d s a thành: echo "" > /etc/issue echo "This is my computer" >> /etc/issue thì trên màn hình ăng nh p s có d ng sau: This is my computer hostname login:
  26. 26. 2 6 Khi nh p xong tên ăng nh p, h th ng s hi n ra thông báo h i m t kh u và di chuy n con tr xu ng dòng ti p theo ngư i dùng nh p m t kh u. M t kh u khi ư c nh p s không hi n th trên màn hình và chính i u ó giúp tránh kh i s "nhòm ngó" c a ngư i khác. N u nh p sai tên ăng nh p ho c m t kh u, h th ng s ưa ra m t thông báo l i: May1 login: root Password: Login incorrect Máy1 login: N u ăng nh p thành công, ngư i dùng s nhìn th y m t s thông tin v h th ng, m t vài tin t c cho ngư i dùng... Lúc ó, d u nh c shell xu t hi n ngư i dùng b t u phiên làm vi c c a mình. May1 login: root Password: Last login: Fri Oct 27 14:16:09 on tty2 Root[may1 /root]# Dãy kí t trong dòng cu i cùng chính là d u nh c shell. Trong d u nh c này, root là tên ngư i dùng ăng nh p, may1 là tên máy và /root tên thư m c hi n th i (vì ây là ngư i dùng root). Khi d u nh c shell xu t hi n trên màn hình thì i u ó có nghĩa là h i u hành ã s n sàng ti p nh n m t yêu c u m i c a ngư i dùng. D u nh c shell có th khác v i trình bày trên ây (M c 2.7 cung c p cách thay i d u nh c shell), nhưng có th hi u nó là chu i kí t b t u m t dòng có ch a tr chu t và luôn xu t hi n m i khi h i u hành hoàn thành m t công vi c nào ó. 2.2.2. Ra kh i h th ng k t thúc phiên làm vi c ngư i dùng c n th c hi n th t c ra kh i h th ng. Có r t nhi u cách cho phép thoát kh i h th ng, ây chúng ta xem xét m t s cách thông d ng nh t. Cách ơn gi n nh t m b o thoát kh i h th ng úng n là nh n t h p phím CTRL+ALT+DEL. Khi ó, trên màn hình s hi n th m t s thông báo c a h th ng và cu i cùng là thông báo thoát trư c khi t t máy. C n chú ý là: N u ang làm vi c trong môi trư ng X Window System, hãy nh n t h p phím CTRL+ALT+BACKSPACE trư c r i sau ó hãy nh n CTRL+ALT+DEL. Cách th hai là s d ng l nh shutdown v i cú pháp như sau: shutdown [tùy-ch n] <time> [c nh-báo] L nh này cho phép d ng t t c các d ch v ang ch y trên h th ng. Các tùy-ch n c a l nh này như sau: -k : không th c s shutdown mà ch c nh báo. -r : kh i ng l i ngay sau khi shutdown. -h : t t máy th c s sau khi shutdown. -f : kh i ng l i nhanh và b qua vi c ki m tra ĩa.
  27. 27. 2 7 -F : kh i ng l i và th c hi n vi c ki m tra ĩa. -c : b qua không ch y l nh shutdown. Trong tùy ch n này không th ưa ra tham s th i gian nhưng có th ưa ra thông báo gi i thích trên dòng l nh g i cho t t c các ngư i dùng. -t s -giây : qui nh init(8) ch kho ng th i gian s -giây t m d ng gi a quá trình g i c nh báo và tín hi u kill, trư c khi chuy n sang m t m c ch y khác. và hai tham s v trí còn l i: time : t th i i m shutdown. Tham s time có hai d ng. D ng tuy t i là gg:pp (gg: gi trong ngày, pp: phút) thì h th ng s shutdown khi ng h máy trùng v i giá tr tham s . D ng tương i là +<s > là h n sau th i kho ng <s > phút s shutdown; coi shutdown l p t c tương ương v i +0. c nh-báo : thông báo g i n t t c ngư i dùng trên h th ng. Khi l nh th c hi n t t c các máy ngư i dùng u nh n ư c c nh báo. Ví d , khi ngư i dùng gõ l nh: shutdown +1 Sau mot phut nua he thong se shutdown! trên màn hình c a t t c ngư i dùng xu t hi n thông báo "Sau mot phut nua he thong se shutdown! " và sau m t phút thì h th ng shutdown th c s . Cách th ba là s d ng l nh halt v i cú pháp như sau: halt [tùy-ch n] L nh này t t h n máy. Các tuỳ ch n c a l nh halt: -w : không th c s t t máy nhưng v n ghi các thông tin lên file /var/log/wtmp ( ây là file lưu tr danh sách các ngư i dùng ăng nh p thành công vào h th ng). -d : không ghi thông tin lên file /var/log/wtmp. Tùy ch n -n có ý nghĩa tương t song không ti n hành vi c ng b hóa. -f : th c hi n t t máy ngay mà không th c hi n l n lư t vi c d ng các d ch v có trên h th ng. -i : ch th c hi n d ng t t c các d ch v m ng trư c khi t t máy. Chúng ta c n nh r ng, n u thoát kh i h th ng không úng cách thì d n n h u qu là m t s file hay toàn b h th ng file có th b hư h ng. Lưu ý: Có th s d ng l nh exit tr v d u nh c ăng nh p ho c k t thúc phiên làm vi c b ng l nh logout. 2.2.3. Kh i ng l i h th ng Ngoài vi c thoát kh i h th ng nh các cách th c trên ây ( n t h p ba phím Ctrl+Alt+Del, dùng l nh shutdown ho c l nh halt), khi c n thi t (ch ng h n, g p ph i tình hu ng m t trình ng d ng ch y qu n) có th kh i ng l i h th ng nh l nh reboot. Cú pháp l nh reboot: reboot [tùy-ch n] L nh này cho phép kh i ng l i h th ng. Nói chung thì ch siêu ngư i dùng m i ư c phép s d ng l nh reboot, tuy nhiên, n u h th ng ch có duy nh t m t ngư i dùng ang
  28. 28. 2 8 làm vi c thì l nh reboot v n ư c th c hi n song h th ng òi h i vi c xác nh n m t kh u. Các tùy ch n c a l nh reboot như sau là -w, -d, -n, -f, -i có ý nghĩa tương t như trong l nh halt. 2.2.4. Kh i ng vào ch ho Linux cho phép nhi u ch kh i ng, nh ng ch này ư c li t kê trong file /etc/inittab. Dư i ây là n i dung c a file này: # inittab This file describes how the INIT process should set up # the system in a certain run-level. # # Author: Miquel van Smoorenburg, <miquels drinkel.nl.mugnet.org> # Modified for RHS Linux by Marc Ewing and Donnie Barnes # # Default runlevel. The runlevels used by RHS are: # 0 - halt (Do NOT set initdefault to this) - ây là ch d ng ho t ng c a h th ng # 1 - Single user mode - ây là ch ơn ngư i dùng, ta có th ăng nh p vào ch này trong trư ng h p mu n kh c ph c m t s s c . # 2 - Multiuser, without NFS (The same as 3, if you do not have networking) - ây là ch a ngư i dùng, giao di n text, không h tr k t n i m ng. # 3 - Full multiuser mode – Ch a ngư i dùng, giao di n text # 4 – unused – Không s d ng ch này # 5 - X11 - ây là ch a ngư i dùng, giao di n ho # 6 - reboot (Do NOT set initdefault to this) – Ch kh i ng l i máy tính # id:3:initdefault: - ây là ch ng m nh h th ng s s d ng kh i ng # System initialization. si::sysinit:/etc/rc.d/rc.sysinit l0:0:wait:/etc/rc.d/rc 0 l0:0:wait:/etc/rc.d/rc 0 l1:1:wait:/etc/rc.d/rc 1 l2:2:wait:/etc/rc.d/rc 2 l3:3:wait:/etc/rc.d/rc 3 l4:4:wait:/etc/rc.d/rc 4 l5:5:wait:/etc/rc.d/rc 5 l6:6:wait:/etc/rc.d/rc 6 # Things to run in every runlevel. ud::once:/sbin/update # Trap CTRL-ALT-DELETE ca::ctrlaltdel:/sbin/shutdown -t3 -r now #ca::ctrlaltdel:/bin/echo "You can't do that" # When our UPS tells us power has failed, assume we have a few minutes
  29. 29. 2 9 # of power left. Schedule a shutdown for 2 minutes from now. # This does, of course, assume you have powerd installed and your # UPS connected and working correctly. pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down" # If power was restored before the shutdown kicked in, cancel it. pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled" # Run gettys in standard runlevels 1:2345:respawn:/sbin/mingetty tty1 2:2345:respawn:/sbin/mingetty tty2 #3:2345:respawn:/sbin/mingetty tty3 #4:2345:respawn:/sbin/mingetty tty4 #5:2345:respawn:/sbin/mingetty tty5 #6:2345:respawn:/sbin/mingetty tty6 # Run xdm in runlevel 5 # xdm is now a separate service x:5:respawn:/etc/X11/prefdm –nodaemon Trong ó ch kh i ng s 3 là ch kh i ng vào ch Text, và ch 5 là kh ng vào ch ho . Như v y cho máy tính kh i ng vào ch ho ta s a l i dòng c u hình id:3:initdefault: thành id:5:initdefault: Trong Linux có m t s lo i giao di n ho do m t s t ch c vi t ra. Hai t ch c n i ti ng là GNOME (http://www.gnome.org) và KDE (http://www.kde.org) ã vi t ra các giao di n ho mang tên trùng v i t ch c ó là GNOME và KDE. Cũng tuỳ vào vi c ư c cài giao di n GNOME hay KDE mà khi kh i ng vào ch ho , máy tính có các giao di n tương ng. Trên hình trên là giao di n GNOME mà khi kh i ng vào ch ho . M t khác, các giao di n này liên t c ư c phát tri n, do ó
  30. 30. 3 0 m i phiên b n s có s khác nhau. Trong giao di n ăng nh p h a, h th ng hi n th h p tho i cho phép ngư i dùng nh p vào tên tài kho n; sau khi ngư i dùng nh p tên tài kho n c a mình, h th ng h i ti p m t kh u. N u c tên tài kho n và m t kh u u chính xác thì ngư i dùng ư c phép vào h th ng và m t giao di n làm vi c m i s hi n ra như hình dư i. 2.3. L nh thay i m t kh u M t kh u là v n r t quan tr ng trong các h th ng a ngư i dùng và m b o tính b o m t t i a, c n thi t ph i chú ý t i vi c thay i m t kh u. Th m chí trong trư ng h p h th ng ch có m t ngư i s d ng thì vi c thay i m t kh u v n là r t c n thi t. M t kh u là m t xâu kí t i kèm v i tên ngư i dùng m b o cho phép m t ngư i vào làm vi c trong h th ng v i quy n h n ã ư c quy nh. Trong quá trình ăng nh p, ngư i dùng ph i gõ úng tên và m t kh u, trong ó gõ m t kh u là công vi c b t bu c ph i th c hi n. Tên ngư i dùng có th ư c cô ng khai song m t kh u thì tuy t i ph i ư c m b o bí m t. · Vi c ăng ký tên và m t kh u c a siêu ngư i dùng ư c ti n hành trong quá trình kh i t o h i u hành Linux. · Vi c ăng ký tên và m t kh u c a m t ngư i dùng thông thư ng ư c ti n hành khi m t ngư i dùng m i ăng ký tham gia s d ng h th ng. Thông thư ng siêu ngư i dùng cung c p tên và m t kh u cho ngư i dùng m i (có th do ngư i dùng ngh ) và dùng l nh adduser (ho c l nh useradd) ăng ký tên và m t kh u ó v i h
  31. 31. 3 1 th ng. Sau ó, ngư i dùng m i nh t thi t c n thay i m t kh u b o m vi c gi bí m t cá nhân tuy t i. L nh passwd cho phép thay i m t kh u ng v i tên ăng nh p ngư i dùng. Cú pháp l nh passwd: passwd [tùy-ch n] [tên-ngư i-dùng] v i các tùy ch n như sau: -k : thay i m t kh u ngư i dùng. L nh òi h i ph i xác nh n quy n b ng vi c gõ m t kh u ang dùng trư c khi thay i m t kh u. Cho phép ngư i dùng thay i m t kh u c a mình c l p v i siêu ngư i dùng. -f : t m t kh u m i cho ngư i dùng song không c n ti n hành vi c ki m tra m t kh u ang dùng. Ch siêu ngư i dùng m i có quy n s d ng tham s này. -l : khóa m t tài kho n ngư i dùng. Vi c khóa tài kho n th c ch t là vi c d ch b n mã hóa m t kh u thành m t xâu ký t vô nghĩa b t u b i kí hi u "!". Ch siêu ngư i dùng m i có quy n s d ng tham s này. -stdin : vi c nh p m t kh u ngư i dùng ch ư c ti n hành t thi t b vào chu n không th ti n hành t ư ng d n (pipe). N u không có tham s này cho phép nh p m t kh u c t thi t b vào chu n ho c t ư ng d n. -u : m khóa (tháo b khóa) m t tài kho n ( i ng u v i tham s -l). Ch siêu ngư i dùng m i có quy n s d ng tham s này. -d : xóa b m t kh u c a ngư i dùng. Ch siêu ngư i dùng m i có quy n s d ng tham s này. -S : hi n th thông tin ng n g n v tr ng thái m t kh u c a ngư i dùng ư c ưa ra. Ch siêu ngư i dùng m i có quy n s d ng tham s này. N u tên-ngư i-dùng không có trong l nh thì ng m nh là chính ngư i dùng ã gõ l nh này. Ví d khi ngư i dùng user1 gõ l nh: # passwd user1 h th ng thông báo: Changing password for user user1 New UNIX password: ngư i dùng nh p m t kh u m i c a mình vào. Sau khi ngư i dùng gõ xong m t kh u m i, h th ng cho ra thông báo: BAD PASSWORD: it is derived from your password entry Retype new UNIX password: ngư i dùng kh ng nh m t l n n a m t kh u v a gõ dòng trên (nh ph i gõ l i úng h t như l n trư c). Ch nên quá phân vân vì thông báo dòng phía trên vì h u h t khi gõ m t kh u m i luôn g p nh ng thông báo ki u i lo i như v y, ch ng h n như: BAD PASSWORD: it is too simplistic/systematic Và sau khi chúng ta kh ng nh l i m t kh u m i, h th ng cho ra thông báo: Passwd: all authentication tokens updated successfully. cho bi t vi c thay i m t kh u thành công và d u nh c shell l i hi n ra. Khi siêu ngư i dùng gõ l nh:
  32. 32. 3 2 # passwd -S root s hi n ra thông báo Changing password for user root Password set, MD5 encryption cho bi t thu t toán mã hóa m t kh u mà Linux s d ng là m t thu t toán hàm băm có tên là MD5. Lưu ý: Có m t l i khuyên i v i ngư i dùng là nên ch n m t kh u không quá ơn gi n quá (nh m tránh ngư i khác d dò tìm ra) ho c không quá ph c t p (tránh khó khăn cho chính ngư i dùng khi ph i ghi nh và gõ m t kh u). c bi t không nên s d ng h tên, ngày sinh, s i n tho i ... c a b n thân ho c ngư i thân làm m t kh u vì ây là m t trong nh ng trư ng h p m t kh u ơn gi n nh t. N u thông báo m t kh u quá ơn gi n ư c l p i l p l i m t vài l n và không có thông báo m t kh u m i thành công ã quay v d u nh c shell thì nên gõ l i l nh và ch n m t m t kh u m i ph c t p hơn ôi chút. 2.4. L nh xem, thi t t ngày, gi hi n t i và xem l ch trên h th ng 2.4.1 L nh xem, thi t t ngày, gi L nh date cho phép có th xem ho c thi t t l i ngày gi trên h th ng. Cú pháp c a l nh g m hai d ng, d ng xem thông tin v ngày, gi : date [tùy-ch n] [+ nh-d ng] và d ng thi t t l i ngày gi cho h th ng: date [tùy-ch n] [MMDDhhmm[ [CC[YY] ]-ss]] Các tùy-ch n như sau: -d, --date=xâu-văn-b n : hi n th th i gian dư i d ng xâu-văn-b n, mà không l y "th i gian hi n t i c a h th ng” như theo ng m nh; xâu-văn-b n ư c t trong hai d u nháy ơn ho c hai d u nháy kép. -f, --file=file-văn-b n : gi ng như m t tham s --date nhưng ng v i nhi u ngày c n xem: m i dòng c a file-văn-b n có vai trò như m t xâu-văn-b n trong trư ng h p tham s --date. -I, --iso-8601[=mô-t ] : hi n th ngày gi theo chu n ISO-8601 (ví d : 2000-11-8). -I tương ương v i tham s --iso-8601='date' V i --iso-8601: n u mô-t là 'date' (ho c không có) thì hi n th ngày, n u mô-t là 'hours' hi n th ngày+gi , n u mô-t là 'minutes': ngày+gi +phút; n u mô-t là 'seconds': ngày + gi + phút + giây. -r, --reference= file : hi n th th i gian s a i file l n g n ây nh t. -R, --rfc-822 : hi n th ngày theo RFC-822 (ví d : Wed, 8 Nov 2000 09:21:46 -0500). -s, --set=xâu-văn-b n : thi t t l i th i gian theo ki u xâu-văn-b n. -u, --utc, --universal : hi n th ho c thi t t th i gian theo UTC (ví d : Wed Nov 8 14:29:12 UTC 2000). --help : hi n th thông tin tr giúp và thoát.
  33. 33. 3 3 Trong d ng l nh date cho xem thông tin ngày, gi thì tham s nh-d ng i u khi n cách hi n th thông tin k t qu . nh-d ng là dãy có t m t n nhi u c p g m hai kí t , trong m i c p kí t u tiên là % còn kí t th hai mô t nh d ng. Do s lư ng nh d ng là r t nhi u vì v y chúng ta ch xem xét m t s nh d ng i n hình ( xem y các nh d ng, s d ng l nh man date). Dư i ây là m t s nh d ng i n hình: %% : Hi n ra chính kí t %. %a : Hi n ra thông tin tên ngày trong tu n vi t t t theo ngôn ng b n a. %A : Hi n ra thông tin tên ngày trong tu n vi t y theo ngôn ng b n a. %b : Hi n ra thông tin tên tháng vi t t t theo ngôn ng b n a. %B : Hi n ra thông tin tên tháng vi t y theo ngôn ng b n a. Trong d ng l nh date cho phép thi t t l i ngày gi cho h th ng thì tham s [MMDDhhmm[ [CC[YY] [.ss]] mô t ngày, gi m i c n thi t t, trong ó: MM: hai s ch tháng, DD: hai s ch ngày trong tháng, hh: hai s ch gi trong ngày, mm: hai s ch phút, CC: hai s ch th k , YY: hai s ch năm trong th k . Các dòng ngay dư i ây trình bày m t s ví d s d ng l nh date, m i ví d ư c cho tương ng v i m t c p hai dòng, trong ó dòng trên mô t l nh ư c gõ còn dòng dư i là thông báo c a Linux. # date Wed Jan 3 23:58:50 ICT 2001 # date -d='01/01/2000' Sat Jan 1 00:00:00 ICT 2000 # date -iso-8601='seconds' 2000-12-01T00:36:41-0500 # date -d='01/01/2001' Mon Jan 1 00:00:00 ICT 2001 # date 010323502001.50 Wed Jan 3 23:50:50 ICT 2001 # date +%a%A Wed Wednesday # date +%a%A%b%B Wed Wednesday Jan January # date +%D%%%j 01/05/01%005 2.4.2. L nh xem l ch L nh cal cho phép xem l ch trên h th ng v i cú pháp như sau: cal [tùy-ch n] [<tháng> [<năm>]]
  34. 34. 3 4 n u không có tham s , l ch c a tháng hi n th i s ư c hi n th . Các tuỳ-ch n là: -m : ch n ngày Th hai là ngày u tiên trong tu n (m c nh là ngày Ch nh t). -j : hi n th s ngày trong tháng dư i d ng s ngày trong năm (ví d : ngày 1/11/2000 s ư c hi n th dư i d ng là ngày th 306 trong năm 2000, s ngày b t u ư c tính t ngày 1/1). -y : hi n th l ch c a năm hi n th i. Ví d : # cal 1 2001 January 2001 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Khi nh p dòng l nh trên, trên màn hình s hi n th l ch c a tháng 1 năm 2001, m c nh ch n ngày ch nh t là ngày b t u c a tu n. Dư i ây là ví d hi n th s ngày trong tháng 3 dư i d ng s ngày trong năm 2001. # cal -j 3 2001 March 2001 Su Mo Tu We Th Fr Sa 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 2.5. Xem thông tin h th ng L nh uname cho phép xem thông tin h th ng v i cú pháp là: uname [tùy-ch n] N u không có tuỳ ch n thì hi n tên h i u hành. L nh có các tùy ch n là: -a, --all : hi n t t c các thông tin. -m, --machine : ki u ki n trúc c a b x lý (i386, i486, i586, i686...). -n, --nodename : hi n tên c a máy. -r, --release : hi n nhân c a h i u hành. -s, --sysname : hi n tên h i u hành. -p, --processor : hi n ki u b x lý c a máy ch . Ví d , n u gõ l nh # uname -a
  35. 35. 3 5 thì màn hình s hi n ra như sau: Linux linuxsrv.linuxvn.net 2.2.14-5.0 #1 Tue Mar 7 21:07:39 EST 2000 i686 unknown # Thông tin hi n ra có t t c 6 trư ng là: Tên h i u hành: Linux Tên máy: linuxsrv.linuxvn.net Tên nhân c a h i u hành: 2.2.14-5.0 Ngày s n xu t: #1 Tue Mar 7 21:07:39 EST 2000 Ki u ki n trúc b x lý: i686 Ki u b x lý c a máy ch : unknown Ví d n u gõ l nh: # uname -spr thì màn hình s hi n ra như sau: Linux 2.2.14-5.0 unknown là tên h i u hành, tên nhân và ki u b x lý c a máy ch . Lưu ý: Chúng ta làm rõ thêm n i dung lưu ý trong m c 1.3.1 v tham s khóa k t h p: Trong ví d trên ây khi vi t tham s -spr là yêu c u th c hi n l nh usame v i nghĩa k t h p tình hu ng theo c ba tham s khóa -s, -p, -r. Chú ý r ng, không th vi t -s -p -r thay cho -spr ư c. Như ã lưu ý m c 1.3.1 trong nhi u l nh c a Linux cho phép vi t k t h p các tham s khóa theo cách th c như trên mi n là các tham s ó không xung kh c v i nhau. 2.6. Thay i n i dung d u nh c shell Trong Linux có hai lo i d u nh c: d u nh c c p m t (d u nh c shell) xu t hi n khi nh p l nh và d u nh c c p hai (d u nh c nh p li u) xu t hi n khi l nh c n có d li u ư c nh p t bàn phím và tương ng v i hai bi n nh c tên là PS1 và PS2. PS1 là bi n h th ng tương ng v i d u nh c c p 1: Giá tr c a PS1 chính là n i dung hi n th c a d u nh c shell. nh n bi t thông tin h th ng hi n t i, m t nhu c u t ra là c n thay i giá tr c a các bi n h th ng PS1 và PS2. Linux cho phép thay i giá tr c a bi n h th ng PS1 b ng l nh gán tr m i cho nó. L nh này có d ng: # PS1='<dãy kí t >' Năm (5) kí t u tiên c a l nh gán trên ây (PS1=') ph i ư c vi t liên ti p nhau. Dãy kí t n m gi a c p hai d u nháy ơn (có th s d ng c p hai d u kép ") và không ư c phép ch a d u nháy. Dãy kí t này bao g m các c p kí t i u khi n và các kí t khác, cho phép có th có d u cách. C p kí t i u khi n g m hai kí t , kí t u tiên là d u s xuôi "" còn kí t th hai nh n m t trong các trư ng h p li t kê trong b ng dư i ây. B ng dư i ây gi i thi u m t s c p ký t i u khi n có th ư c s d ng khi mu n thay i d u nh c l nh: C p ký t i u khi n Ý nghĩa
  36. 36. 3 6 ! Hi n th th t c a l nh trong l ch s # Hi n th th t c a l nh $ Hi n th d u ô-la ($). i v i siêu ngư i dùng (super user), thì hi n th d u s hi u (#) Hi n th d u s () d Hi n th ngày hi n t i h Hi n th tên máy (hostname) n Ký hi u xu ng dòng s Hi n th tên h shell t Hi n th gi hi n t i u Hi n th tên ngư i dùng W Hi n th tên th c s c a thư m c hi n th i (ví d thư m c hi n th i là /mnt/hda1 thì tên th c s c a nó là /hda1) w Hi n th tên y c a thư m c hi n th i (ví d /mnt/hda1) Ví d , hi n th i d u nh c shell có d ng: root[may1 /hda1]# Sau khi gõ l nh root@may1 /hda1]# PS1='[h@u w : d]$' thì d u nh c shell ư c thay i là: [may1@root /mnt/hda1 : Fri Oct 27 ]# ngoài vi c i th t gi a tên ngư i dùng và máy còn cho chúng ta bi t thêm v ngày h th ng qu n lý và tên y c a thư m c hi n th i. Linux cung c p cách th c hoàn toàn tương t như i v i bi n PS1 thay i giá tr bi n h th ng PS2 tương ng v i d u nh c c p hai. 2.7. L nh g i ngôn ng tính toán s h c Linux cung c p m t ngôn ng tính toán v i chính xác tùy ý thông qua l nh bc. Khi yêu c u l nh này, ngư i dùng ư c cung c p m t ngôn ng tính toán (và cho phép l p trình tính toán có d ng ngôn ng l p trình C) ho t ng theo thông d ch. Trong ngôn ng l p trình ư c cung c p (t m th i g i là ngôn ng bc), t n t i r t nhi u công c h tr tính toán và l p trình tính toán: ki u phép toán s h c phong phú, phép toán so sánh, m t s hàm chu n, bi n chu n, c u trúc i u khi n, cách th c nh nghĩa hàm, cách th c thay i chính xác, t l i chú thích ... Ch c n s d ng m t ph n nh tác ng c a l nh bc, chúng ta ã có m t "máy tính s b m tay" hi u qu . Cú pháp l nh bc: bc [tùy-ch n] [file...] v i các tuỳ ch n sau ây: -l, --mathlib : th c hi n phép tính theo chu n thư vi n toán h c (ví d : 5/5=1.00000000000000000000). -w, --warn : khi th c hi n phép tính không tuân theo chu n POSIX (POSIX là m t chu n trong Linux) thì m t c nh báo xu t hi n.
  37. 37. 3 7 -s, --standard : th c hi n phép tính chính xác theo chu n c a ngôn ng POSIX bc. -q, --quiet : không hi n ra l i gi i thi u v ph n m m GNU khi dùng bc. Tham s file là tên file ch a chương trình vi t trên ngôn ng bc, khi l nh bc th c hi n s t ng ch y các file chương trình này (N u có nhi u tham s thì có nghĩa s ch y nhi u chương trình liên ti p nhau). Dư i ây là m t ví d s d ng l nh bc d ng ơn gi n nh t. Khi gõ l nh t i d u nh c: # bc -l màn hình xu t hi n l i gi i thi u v GNU khi dùng bc và ngôn ng bc ư c kích ho t ph c v ngư i dùng. bc 1.05 Copyright 1991, 1992, 1993, 1994, 1997, 1998 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. 5^3 125 12+12+78*7-62/4 554.50000000000000000000 a=4 a^a 256 a*78 312 b=45 a*b 180 a/b .08888888888888888888 a%b .00000000000000000040 ây * là phép nhân, ^ là phép tính lu th a, / là phép chia l y thương, % là chia l y ph n dư. Lưu ý: Ngôn ng l p trình tính toán bc là m t ngôn ng r t m nh có n i dung h t s c phong phú cho nên trong khuôn kh c a tài li u này không th mô t h t các n i dung c a ngôn ng ó ư c. Chúng ta c n s d ng l nh man bc nh n ư c thông tin y v l nh bc và ngôn ng tính toán bc. ây trình bày sơ b m t s y u t cơ b n nh t c a ngôn ng ó (bt là vi t t t c a bi u th c, b là vi t t t c a bi n): Các phép tính: - bt: l y i; ++ b, --b, b ++, b --: phép toán tăng, gi m b; các phép toán hai ngôi c ng +, tr -, nhân *, chia /, l y ph n dư %, lũy th a nguyên
  38. 38. 3 8 b c ^; gán =; gán sau khi thao tác <thao tác>=; các phép toán so sánh <, <=, >, >=, b ng ==, khác != ... Phép so sánh cho 1 n u úng, cho 0 n u sai. B n bi n chu n là scale s lư ng ch s ph n th p phân; last giá tr tính toán cu i cùng; ibase cơ s h m i v i input và obase là cơ s h m v i output (ng m nh hai bi n này có giá tr 10). Các hàm chu n sin s (bt); cosin c (bt); arctg a (bt); lôgarit t nhiên l (bt); mũ cơ s t nhiên e (bt); hàm Bessel b c nguyên n c a bt là j (n, bt).
  39. 39. 3 9 CHƯƠNG 3. H TH NG FILE 3.1 T ng quan v h th ng file 3.1.1. M t s khái ni m Ngư i dùng ã t ng làm vi c v i h i u hành DOS/Windows thì r t quen bi t v i các khái ni m: file (t p tin), thư m c, thư m c hi n th i ... m b o tính h th ng và thu n ti n cho ngư i dùng chưa t ng làm vi c thành th o v i m t h i u hành nào khác, chương này v n gi i thi u v các khái ni m này m t cách sơ b . M t i tư ng i n hình trong các h i u hành ó là file. File là m t t p h p d li u có t ch c ư c h i u hành qu n lý theo yêu c u c a ngư i dùng. Cách t ch c d li u trong file thu c v ch c a nó là ngư i ã t o ra file. File có th là m t văn b n (trư ng h p c bi t là chương trình ngu n trên C, PASCAL, shell script ...), m t chương trình ngôn ng máy, m t t p h p d li u ... H i u hành t ch c vi c lưu tr n i dung file trên các thi t b nh lâu dài (ch ng h n ĩa t ) và m b o các thao tác lên file. Chính vì có h i u hành m b o các ch c năng liên quan n file nên ngư i dùng không c n bi t file c a mình lưu vùng nào trên ĩa t , b ng cách nào c/ghi lên các vùng c a ĩa t mà v n th c hi n ư c yêu c u tìm ki m, x lý lên các file. H i u hành qu n lý file theo tên g i c a file (tên file) và m t s thu c tính liên quan n file. Trư c khi gi i thi u m t s n i dung liên quan n tên file và tên thư m c, chúng ta gi i thi u sơ b v khái ni m thư m c. làm vi c ư c v i các file, h i u hành không ch qu n lý n i dung file mà còn ph i qu n lý các thông tin liên quan n các file. Thư m c (directory) là i tư ng ư c dùng ch a thông tin v các file, hay nói theo m t cách khác, thư m c ch a các file. Các thư m c cũng ư c h i u hành qu n lý trên v t d n ngoài và vì v y, theo nghĩa này, thư m c cũng ư c coi là file song trong m t s trư ng h p phân bi t v i "file" thư m c, chúng ta dùng thu t ng file thông thư ng. Khác v i file thông thư ng, h i u hành l i quan tâm n n i dung c a thư m c. M t s n i dung sau ây liên quan n tên file (bao g m c tên thư m c): Tên file trong Linux có th dài t i 256 ký t , bao g m các ch cái, ch s , d u g ch n i, g ch chân, d u ch m. Tên thư m c/file trong Linux có th có nhi u hơn m t d u ch m, ví d : This_is.a.VERY_long.filename. N u trong tên file có d u ch m "." thì xâu con c a tên file t d u ch m cu i cùng ư c g i là ph n m r ng c a tên file (ho c file). Ví d , tên file trên ây có ph n m r ng là .filename. Chú ý r ng khái ni m ph n m r ng ây không mang ý nghĩa như m t s h i u hành khác (ch ng h n như MS-DOS). Lưu ý: Chúng ta nên lưu ý r ng, không ph i ký t nào cũng có nghĩa. N u có hai file ch khác nhau ký t cu i cùng, thì i v i Linux, ó là hai file có th trùng tên. B i l , Linux ch l y 32 hay 64 ký t u tiên trong tên file mà thôi (tùy theo phiên b n Linux), ph n tên file còn l i dành cho ch c a file, Linux theo dõi thông tin, nhưng thư ng không xem các ký t ng sau ký t th 33 hay 65 là quan tr ng i v i nó. Xin nh c l i lưu ý v phân bi t ch hoa và ch thư ng i v i tên thư m c/file, ví d hai file FILENAME.tar.gz và filename.tar.gz là hai file khác nhau.
  40. 40. 4 0 N u trong tên thư m c/file có ch a kho ng tr ng, s ph i t tên thư m c/file vào trong c p d u nháy kép s d ng thư m c/file ó. Ví d , t o thư m c có tên là “My document” ch ng h n, hãy ánh dòng l nh sau: # mkdir "My document" M t s ký t sau không ư c s d ng trong tên thư m c/file: !, *, $, &, # ... Khi s d ng chương trình mc (Midnight Commander), vi c hi n th tên file s b sung m t kí t theo nghĩa: d u "*" cho file kh thi trong Linux, d u "~" cho file sao lưu, d u "." cho file n, d u "@" cho file liên k t... T p h p t t c các file có trong h i u hành ư c g i là h th ng file là m t h th ng th ng nh t. B i chính t cách th c s d ng thư m c, h th ng file ư c t ch c lôgic theo d ng hình cây: H th ng file ư c xu t phát t m t thư m c g c ( ư c kí hi u là "/") và cho phép t o ra thư m c con trong m t thư m c b t kỳ. Thông thư ng, khi kh i t o Linux ã có ngay h th ng file c a nó. Hình 3.1. cho minh h a m t ph n trong cây lôgic c a h th ng file. ch m t file hay m t thư m c, chúng ta c n ưa ra m t ư ng d n, ví d ư ng d n xác nh file Xclients trong hình 3.1. chúng ta vi t như sau: /etc/X11/xinit/Xclients ư ng d n này cho bi t Xclients n m trong xinit, xinit n m trong X11, X11 n m trong etc và etc n m trong g c /. / root bin etc usr home dev peng office52 sh date who X11 src bin user1 user2 tty00 tty01 xinit Xclients Xmodmap Hình 3.1. M t ph n c u trúc lôgic d ng cây c a h th ng File
  41. 41. 4 1 Tên file thư ng là tham s th c s khi gõ l nh và công vi c gõ l nh tr nên r t n ng n i v i ngư i dùng n u như trong l nh ph i gõ m t ư ng d n dài theo d ng trên ( ư c bi t v i tên g i là ư ng d n tuy t i). Vì v y, Linux (cũng như nhi u h i u hành khác) s d ng khái ni m thư m c hi n th i c a m i ngư i dùng làm vi c trong h th ng. Thư m c hi n th i là m t thư m c trong h th ng file mà hi n th i "ngư i dùng ang ó". Qua thư m c hi n th i, Linux cho phép ngư i dùng ch m t file trong l nh ng n g n hơn nhi u. Ví d , n u thư m c hi n th i là thư m c xinit thì ch file ã nói, ngư i dùng ch c n vi t Xclients ho c ./Xclients trong ó kí hi u "." ch thư m c hi n th i. ư ng d n ư c xác nh qua thư m c hi n th i ư c g i là ư ng d n tương i. Khi m t ngư i dùng ăng nh p vào h th ng, Linux luôn chuy n ngư i dùng vào thư m c riêng, và t i th i i m ó thư m c riêng là thư m c hi n th i c a ngư i dùng. Thư m c riêng c a siêu ngư i dùng là /root, thư m c riêng c a ngư i dùng có tên là user1 là /home/user1 ... Linux cho phép dùng l nh cd chuy n sang thư m c khác (l y thư m c khác làm thư m c hi n th i). Hai d u ch m ".." ư c dùng ch thư m c ngay trên thư m c hi n th i (cha c a thư m c hi n th i). Linux còn cho phép ghép m t h th ng file trên m t thi t b nh ( ĩa m m, vùng ĩa c ng chưa ư c ưa vào h th ng file) thành m t thư m c con trong h th ng file c a h th ng b ng l nh mount. Các h th ng file ư c ghép thu c vào các ki u khác nhau. Hai m c ti p theo (3.1.2 và 3.1.3.) gi i thi u nh ng n i dung sâu hơn v h th ng file Linux. 3.1.2. Sơ b ki n trúc n i t i c a h th ng file Trên ĩa t , h th ng file ư c coi là dãy tu n t các kh i lôgic m i kh i ch a ho c 512B ho c 1024B ho c b i c a 512B là c nh trong m t h th ng file. Trong h th ng file, các kh i d li u ư c a ch hóa b ng cách ánh ch s liên ti p, m i a ch ư c ch a trong 4 byte (32 bit). C u trúc n i t i c a h th ng file bao g m 4 thành ph n k ti p nhau: Boot block (dùng kh i ng h th ng), Siêu kh i (Super block), Danh sách inode và Vùng d li u. Dư i ây, chúng ta xem xét sơ lư c n i dung các thành ph n c u trúc n i t i m t h th ng file. Siêu kh i Siêu kh i ch a nhi u thông tin liên quan n tr ng thái c a h th ng file. Trong siêu kh i có các trư ng sau ây: Kích thư c c a danh sách inode (khái ni m inode s ư c gi i thích trong m c sau): nh kích c vùng không gian trên H th ng file qu n lý các inode. Kích thư c c a h th ng file. Hai kích thư c trên ây tính theo ơn v dung lư ng b nh ngoài, M t danh sách ch s các kh i r i (thư ng tr c trên siêu kh i) trong h th ng file.
  42. 42. 4 2 Ch s các kh i r i thư ng tr c trên siêu kh i ư c dùng áp ng nhu c u phân ph i m i. Chú ý r ng, danh sách ch s các kh i r i có trên siêu kh i ch là m t b ph n c a t p t t c các kh i r i có trên h th ng file. Ch s c a kh i r i ti p theo trong danh sách các kh i r i. Ch s kh i r i ti p theo dùng h tr vi c tìm ki m ti p các kh i r i: b t u tìm t kh i có ch s này tr i. i u ó có nghĩa là m i kh i có ch s không l n hơn ch s này ho c có trong danh sách các kh i r i thư ng tr c ho c ã ư c c p phát cho m t file nào ó. Nhi u thao tác t o file m i, xoá file, thay i n i dung file v.v. c p nh t các thông tin này. M t danh sách các inode r i (thư ng tr c trên siêu kh i) trong h th ng file. Danh sách này ch a ch s các inode r i ư c dùng phân ph i ngay ư c cho m t file m i ư c kh i t o. Thông thư ng, danh sách này ch ch a m t b ph n các inode r i trên h th ng file. Ch s inode r i ti p theo trong danh sách các inode r i. Ch s inode r i ti p theo nh v vi c tìm ki m ti p thêm inode r i: b t u tìm t inode có ch s này tr i. i u ó có nghĩa là m i inode có ch s không l n hơn ch s này ho c có trong danh sách các inode r i thư ng tr c ho c ã ư c tương ng v i m t file nào ó. Hai tham s trên ây t o thành c p xác nh ư c danh sách các inode r i trên h th ng file các thao tác t o file m i, xoá file c p nh t thông tin này. Các trư ng khóa (lock) danh sách các kh i r i và danh sách inode r i: Trong m t s trư ng h p, ch ng h n khi h th ng ang làm vi c th c s v i ĩa t c p nh t các danh sách này, h th ng không cho phép c p nh t t i hai danh sách nói trên. C ch d n v vi c siêu kh i ã ư c bi n i: nh kỳ th i gian siêu kh i b nh trong ư c c p nh t l i vào siêu kh i ĩa t và vì v y c n có thông tin v vi c siêu kh i b nh trong khác v i n i dung b nh ngoài: n u hai b n không gi ng nhau thì c n ph i bi n i chúng ư c ng nh t. C ch d n r ng h th ng file ch có th c (c m ghi): Trong m t s trư ng h p, h th ng ang c p nh t thông tin t b nh ngoài thì ch cho phép c i v i h th ng file, S lư ng t ng c ng các kh i r i trong h th ng file, S lư ng t ng c ng các inode r i trong h th ng file, Thông tin v thi t b , Kích thư c kh i ( ơn v phân ph i d li u) c a h th ng file. Hi n t i kích thư c ph bi n c a kh i là 1KB. Trong th i gian máy ho t ng, theo t ng giai o n, nhân s ưa siêu kh i lên ĩa n u nó ã ư c bi n i phù h p v i d li u trên h th ng file. M t trong khái ni m c t lõi xu t hi n trong h th ng file ó là inode. Các i tư ng liên quan n khái ni m này s ư c trình bày trong các m c ti p theo.

×