Xem mẫu
- 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
- M CL 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
2
- 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
3
- 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
4
- 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
5
- 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
6
- L I GI I THI U
Trong hơn mư i năm tr l i ây h i u hành Linux ã
7
- 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
ư ck 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
8
- 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 ,
9
- 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.
1
0
- 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 iv iv 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 tv .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.
1
1
- 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 ts 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 ,
1
2
- 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.
1
3
- 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:
1
4
- 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:
# [] ¿
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.
1
5
- Ký hi u "↵" bi u th vi c gõ phím h t dòng . 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à
1
6
- 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
thì t more là tên l nh, còn 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
ó.
1
7
- 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] [,[nhóm]]...
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
có nghĩa là thay 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 []
thì 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 -
, 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 .
1
8
- 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 ,
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.
1
9
nguon tai.lieu . vn