Giáo trình hệ điều hành Linux và Unix

Chia sẻ: Danh Ngoc | Ngày: | Loại File: PDF | Số trang:0

0
1.032
lượt xem
496
download

Giáo trình hệ điều hành Linux và Unix

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Linux là phần nhân, phần lõi (kernel) của hệ điều hành - Hệ điều hành là gì ? thì các bạn có thể lấy Windows 98, 2000 của Microsoft làm 1 ví dụ. Hệ điều hành về bản chất cũng là 1 phần mềm trên máy tính, nhưng ở cấp độ hệ thống, quản lý bộ nhớ và việc thực hiện các chương trình, quản lý các thiết bị của máy tính và cung cấp 1 số dịch vụ và phần mềm cơ bản cho máy tính, các bạn có thể hình dung rằng là nếu không có 1 hệ...

Chủ đề:
Lưu

Nội dung Text: Giáo trình hệ điều hành Linux và Unix

  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
Đồng bộ tài khoản