Xem mẫu

  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. 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. 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
  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 4
  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 5
  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 6
  7. L I GI I THI U Trong hơn mư i năm tr l i ây h i u hành Linux ã 7
  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 ư 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
  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 , 9
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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