intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

tài liệu tham khảo Linux phần 1

Chia sẻ: Thái Duy Ái Ngọc | Ngày: | Loại File: PDF | Số trang:20

58
lượt xem
7
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tham khảo tài liệu 'tài liệu tham khảo linux phần 1', công nghệ thông tin, hệ điều hành phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:
Lưu

Nội dung Text: tài liệu tham khảo Linux phần 1

  1. Ban chØ ®¹o c«ng nghÖ th«ng tin cña c¬ quan ®¶ng *** TµI liÖu tham kh¶o HÖ ®iÒu hµnh Linux Hµ néi, 2003 1
  2. Ch−¬ng 1. Giíi thiÖu chung vÒ lÖnh trong linux 1.1. Giíi thiÖu vÒ UNIX vµ Linux 10 1.1.1. S¬ bé vÒ hÖ ®iÒu hµnh ®a ng−êi dïng 10 1.1.2. XuÊt xø, sù ph¸t triÓn vµ mét sè ®Æc tr−ng cña hÖ ®iÒu hµnh UNIX 10 1.1.3. Giíi thiÖu s¬ bé vÒ Linux 13 1.2. S¬ bé vÒ c¸c thµnh phÇn cña Linux 14 1.2.1. S¬ bé vÒ nh©n 14 1.2.2. S¬ bé vÒ shell 15 1.3. Giíi thiÖu vÒ viÖc sö dông lÖnh trong Linux 16 1.3.1. C¸c quy −íc khi viÕt lÖnh 18 1.3.2. TiÕp nèi dßng lÖnh 22 1.4. Trang Man (Man Page) 23 Ch−¬ng 2. LÖnh thao t¸c víi hÖ thèng 2.1. Qu¸ tr×nh khëi ®éng Linux 26 2.2. Thñ tôc ®¨ng nhËp vµ c¸c lÖnh tho¸t khái hÖ thèng 27 2.2.1. §¨ng nhËp 27 2.2.2. Ra khái hÖ thèng 28 2.2.3. Khëi ®éng l¹i hÖ thèng 30 2.3. LÖnh thay ®æi mËt khÈu 30 2.4. LÖnh xem, thiÕt ®Æt ngµy, giê hiÖn t¹i vµ xem lÞch trªn hÖ thèng 32 2.4.1 LÖnh xem, thiÕt ®Æt ngµy, giê 32 2.4.2. LÖnh xem lÞch 34 2.5. LÖnh gäi ng«n ng÷ tÝnh to¸n sè häc 35 2.6. Xem th«ng tin hÖ thèng 37 2.7. HiÖn dßng v¨n b¶n 38 2.8. Thay ®æi néi dung dÊu nh¾c shell 39 Ch−¬ng 3. HÖ thèng tËp tin 3.1 Tæng quan vÒ hÖ thèng tËp tin 41 3.1.1. Mét sè kh¸i niÖm 41 3.1.2. S¬ bé kiÕn tróc néi t¹i cña hÖ thèng tËp tin 43 3.1.3. Liªn kÕt t−îng tr−ng (lÖnh ln) 46 3.2 QuyÒn truy nhËp th− môc vµ tËp tin 48 3.2.1 QuyÒn truy nhËp 48 3.2.2. C¸c lÖnh c¬ b¶n 50 2
  3. a. Thay ®æi quyÒn së h÷u tËp tin víi lÖnh chown 50 b. Thay ®æi quyÒn së h÷u nhãm víi lÖnh chgrp 51 c. Thay ®æi quyÒn truy cËp tËp tin víi lÖnh chmod 52 d. ®¨ng nhËp vµo mét nhãm ng−êi dïng míi víi lÖnh newgrp 53 3.3 Thao t¸c víi th− môc 54 3.3.1 Mét sè th− môc ®Æc biÖt 54 * Th− môc gèc / 54 * Th− môc /root 54 * Th− môc /bin 54 * Th− môc /dev 55 * Th− môc /etc 55 * Th− môc /lib 55 * Th− môc /lost+found 55 * Th− môc /mnt 55 * Th− môc /tmp 55 * Th− môc /usr 55 * Th− môc /home 56 * Th− môc /var 56 * Th− môc /boot 56 * Th− môc /proc 56 * Th− môc /misc vµ th− môc /opt 56 * Th− môc /sbin 56 3.3.2 C¸c lÖnh c¬ b¶n vÒ th− môc 56 * X¸c ®Þnh th− môc hiÖn thêi víi lÖnh pwd 56 * Xem th«ng tin vÒ th− môc víi lÖnh ls 56 * LÖnh t¹o th− môc mkdir 58 * LÖnh xãa bá th− môc rmdir 59 * LÖnh ®æi tªn th− môc mv 60 3.4. C¸c lÖnh lµm viÖc víi tËp tin 60 3.4.1 C¸c kiÓu tËp tin cã trong Linux 60 3.4.2. C¸c lÖnh t¹o tËp tin 61 * T¹o tËp tin víi lÖnh touch 61 * T¹o tËp tin b»ng c¸ch ®æi h−íng ®Çu ra cña lÖnh (>) 61 * T¹o tËp tin víi lÖnh cat 62 3.4.3 C¸c lÖnh thao t¸c trªn tËp tin 62 3
  4. * Sao chÐp tËp tin víi lÖnh cp 62 * §æi tªn tËp tin víi lÖnh mv 64 * Xãa tËp tin víi lÖnh rm 65 * LÖnh ®Õm tõ vµ dßng trong tËp tin wc 66 * LÖnh lo¹i bá nh÷ng dßng kh«ng quan träng uniq 67 * S¾p xÕp néi dung tËp tin víi lÖnh sort 69 3.4.4 C¸c lÖnh thao t¸c theo néi dung tËp tin 71 * Sö dông lÖnh file ®Ó x¸c ®Þnh kiÓu tËp tin 71 * Xem néi dung tËp tin víi lÖnh cat 72 * Xem néi dung c¸c tËp tin lín víi lÖnh more 73 * Thªm sè thø tù cña c¸c dßng trong tËp tin víi lÖnh nl 75 * Xem qua néi dung tËp tin víi lÖnh head 77 * Xem qua néi dung tËp tin víi lÖnh tail 78 * T×m sù kh¸c nhau gi÷a hai tËp tin (lÖnh diff) 79 3.4.5 C¸c lÖnh t×m tËp tin 80 * T×m theo néi dung tËp tin b»ng lÖnh grep 80 * T×m theo c¸c ®Æc tÝnh cña tËp tin víi lÖnh find 85 3.5 NÐn vµ sao l−u c¸c tËp tin 88 3.5.1 Sao l−u c¸c tËp tin (lÖnh tar) 88 3.5.2 NÐn d÷ liÖu 91 * NÐn, gi¶i nÐn vµ xem néi dung c¸c tËp tin víi lÖnh gzip, gunzip vµ zcat 91 * NÐn, gi¶i nÐn vµ xem tËp tin víi c¸c lÖnh compress, uncompress, zcat 93 3.6 Sö dông rpm 94 3.6.1.Giíi thiÖu chung vÒ rpm 94 3.6.2 RPM víi ng−êi dïng 95 * Cµi ®Æt gãi: 95 * Xãa mét gãi ra khái hÖ thèng 95 * N©ng cÊp mét gãi 95 * LÊy th«ng tin vÒ c¸c gãi phÇn mÒm (package) 95 * Dïng RPM ®Ó kiÓm tra c¸c gãi ®· cµi ®Æt 96 Ch−¬ng 4. LÖnh qu¶n lý tµi kho¶n Ng−êi dïng 4.1 Tµi kho¶n ng−êi dïng 97 4.2 C¸c lÖnh c¬ b¶n qu¶n lý ng−êi dïng 97 4.2.1 TËp tin /etc/passwd 97 4
  5. 4.2.2 Thªm ng−êi dïng víi lÖnh useradd 98 T¹o th− môc c¸ nh©n cña ng−êi dïng míi víi lÖnh mkdir 100 ThiÕt lËp mËt khÈu cña ng−êi dïng víi lÖnh passwd 100 4.2.3 Thay ®æi thuéc tÝnh ng−êi dïng 100 4.2.4 Xãa bá mét ng−êi dïng (lÖnh userdel) 102 4.3 C¸c lÖnh c¬ b¶n liªn quan ®Õn nhãm ng−êi dïng 102 4.3.1 Nhãm ng−êi dïng vµ tËp tin /etc/group 102 4.3.2 Thªm nhãm ng−êi dïng 103 4.3.3 Söa ®æi c¸c thuéc tÝnh cña mét nhãm ng−êi dïng (lÖnh groupmod) 104 4.3.4 Xãa mét nhãm ng−êi dïng (lÖnh groupdel) 104 4.4 C¸c lÖnh c¬ b¶n kh¸c cã liªn quan ®Õn ng−êi dïng 104 4.4.1 §¨ng nhËp víi t− c¸ch mét ng−êi dïng kh¸c khi dïng lÖnh su 104 4.4.2 X¸c ®Þnh ng−êi dïng ®ang ®¨ng nhËp (lÖnh who) 105 * Cã mét c¸ch kh¸c ®Ó x¸c ®Þnh th«ng tin ng−êi dïng víi lÖnh id 106 4.4.3 X¸c ®Þnh c¸c tiÕn tr×nh ®ang ®−îc tiÕn hµnh (lÖnh w) 107 Ch−¬ng 5. C¸c lÖnh qu¶n lý thiÕt bÞ ngo¹i vi 5.1 Giíi thiÖu vÒ c¸ch thøc Linux qu¶n lý thiÕt bÞ ngo¹i vi 108 5.2 C¸c c¸ch qu¶n lý thiÕt bÞ l−u tr÷ trong Linux 109 5.2.1 LÖnh mount vµ lÖnh umount 110 * LÖnh mount 110 * LÖnh umount 111 5.2.2 C¸c lÖnh ®Þnh d¹ng ®Üa vµ t¹o hÖ thèng tËp tin trong Linux 112 * æ ®Üa cøng 112 * X©y dùng mét hÖ thèng tËp tin trªn Linux víi lÖnh mkfs 114 * §Þnh d¹ng møc thÊp mét ®Üa mÒm (lÖnh fdformat) 114 * Thªm hÖ thèng tËp tin vµo ®Üa mÒm ®· ®−îc ®Þnh d¹ng víi lÖnh mformat 115 5.2.3 LÖnh qu¶n lý ®Üa 117 * Xem dung l−îng ®Üa ®· sö dông víi lÖnh du: 117 * KiÓm tra dung l−îng ®Üa trèng víi lÖnh df: 118 5.3 C¸c cæng nèi tiÕp vµ modem 120 5.4 C¸c cæng song song vµ m¸y in 120 5.4.1 Khëi t¹o vµ thiÕt lËp m¸y in trong lpd 120 5.4.2 C¸c lÖnh in Ên c¬ b¶n 122 5
  6. * In mét tËp tin víi lÖnh lpr 122 * §Þnh d¹ng tËp tin tr−íc khi in víi lÖnh pr 124 * Lµm viÖc víi hµng ®îi in th«ng qua lÖnh lpq 126 * Xãa bá hµng ®îi in víi lÖnh lprm 127 * LÖnh lpc 128 5.5 Sound card 129 Ch−¬ng 6. Tr×nh so¹n th¶o vim 6.1 Khëi ®éng vim 132 6.1.1 Më ch−¬ng tr×nh so¹n th¶o vim 132 6.1.2. TÝnh n¨ng më nhiÒu cöa sæ 133 6.1.3. Ghi vµ tho¸t trong vim 134 6.2. Di chuyÓn trá so¹n th¶o trong Vim 134 6.2.1. Di chuyÓn trong v¨n b¶n 134 6.2.2. Di chuyÓn theo c¸c ®èi t−îng v¨n b¶n 135 6.2.3. Cuén mµn h×nh 135 6.3. C¸c thao t¸c trong v¨n b¶n 136 6.3.1. C¸c lÖnh chÌn v¨n b¶n trong vim 136 6.3.2. C¸c lÖnh xo¸ v¨n b¶n trong vim 136 6.3.3. C¸c lÖnh kh«i phôc v¨n b¶n trong vim 137 6.3.4. C¸c lÖnh thay thÕ v¨n b¶n trong vim 137 6.3.5. Sao chÐp vµ di chuyÓn v¨n b¶n trong vim 138 * Sao chÐp v¨n b¶n vµo bé nhí ®Öm 138 * D¸n v¨n b¶n: 138 6.3.6. T×m kiÕm vµ thay thÕ v¨n b¶n trong vim 139 6.3.7. §¸nh dÊu trong vim 140 6.3.8. C¸c phÝm sö dông trong chÕ ®é chÌn 140 6.3.9. Mét sè lÖnh trong chÕ ®é ¶o 141 6.3.10. C¸c lÖnh lÆp 142 6.4. C¸c lÖnh kh¸c 142 6.4.1. C¸ch thùc hiÖn c¸c lÖnh bªn trong Vim 142 6.4.2. C¸c lÖnh liªn quan ®Õn tËp tin 142 Ch−¬ng 7. LÖnh ®èi víi tiÕn tr×nh 7.1. Kh¸i niÖm 144 6
  7. 7.2. C¸c lÖnh c¬ b¶n 144 7.2.1. LÖnh fg vµ lÖnh bg 144 7.2.2. T×m ra c¸c tiÕn tr×nh ®ang ch¹y víi lÖnh ps 147 7.2.3. Hñy tiÕn tr×nh víi lÖnh kill 149 7.2.4. Cho m¸y ngõng ho¹t ®éng mét thêi gian víi lÖnh sleep 150 7.2.5. Xem c©y tiÕn tr×nh víi lÖnh pstree 150 7.2.6. LÖnh thiÕt ®Æt l¹i ®é −u tiªn cña tiÕn tr×nh nice vµ lÖnh renice 152 Ch−¬ng 8. Midnight Commander 8.1. Giíi thiÖu vÒ Midnight Commander (MC) 154 8.2. Khëi ®éng MC 154 8.3. Giao diÖn cña MC 154 8.4. Dïng chuét trong MC 155 8.5. C¸c thao t¸c bµn phÝm 155 8.6. Thùc ®¬n thanh ngang (menu bar) 157 8.7. C¸c phÝm chøc n¨ng 160 8.8. Bé so¹n th¶o cña Midnight Commander 160 * Thanh thùc ®¬n 160 Thùc ®¬n File: 160 Thùc ®¬n Edit: 161 Thùc ®¬n Sear/Repl: 161 Thùc ®¬n Command: 161 Thùc ®¬n Options: 161 * C¸c phÝm chøc n¨ng 162 Ch−¬ng 9. Mtools - tiÖn Ých truy cËp æ ®Üa DOS trong Linux 9.1 PhÇn giíi thiÖu 163 9.2 C¸c thuéc tÝnh chung cña c¸c lÖnh mtools 163 9.2.1 C¸c tuú chän vµ tªn c¸c tËp tin 163 Tªn æ ®Üa 163 Th− môc lµm viÖc hiÖn thêi 163 Tªn tËp tin dµi kiÓu VFAT 163 Xung ®ét tªn tËp tin 164 §Þnh d¹ng dung l−îng lín 166 NhiÒu sector h¬n 166 7
  8. Sectors lín h¬n 166 §Þnh d¹ng 2m 167 §Þnh d¹ng XDF 167 M· tho¸t ra 167 V−íng m¾c 167 C¸c lÖnh hay sö dông 168 * LÖnh floppyd_installtest 168 * LÖnh mattrib 168 * LÖnh mbadblocks 169 * LÖnh mcat 169 LÖnh mcd 169 *LÖnh mcopy 170 V−íng m¾c 171 LÖnh mdel 171 LÖnh mdeltree 171 LÖnh mdir 171 LÖnh mdu 172 LÖnh mformat 172 LÖnh mkmanifest 174 V−íng m¾c 176 LÖnh minfo 176 LÖnh mlabel 176 LÖnh mmd 176 LÖnh mmount 176 LÖnh mmove 177 LÖnh mpartition 177 LÖnh mrd 179 LÖnh mren 179 LÖnh mshowfat 179 LÖnh mtoolstest 179 LÖnh mtype 180 LÖnh mzip 180 LÖnh xcopy 181 V−íng m¾c 182 A.1. Giíi thiÖu s¬ bé vÒ Linux 183 A.2. ChuÈn bÞ cho viÖc cµi ®Æt 183 8
  9. A.3. T¹o ®Üa mÒm khëi ®éng 184 A.4. Ph©n vïng l¹i æ ®Üa DOS/Windows hiÖn thêi 184 A.5. C¸c b−íc cµi ®Æt (b¶n RedHat 6.2 vµ khëi ®éng tõ CD-ROM) 184 A.5.1. Lùa chän chÕ ®é cµi ®Æt 184 A.5.2. Lùa chän ng«n ng÷ hiÓn thÞ. 185 A.5.3. Lùa chän cÊu h×nh bµn phÝm 185 A.5.4. Chän cÊu h×nh chuét. 185 A.5.5. HÖ thèng ®−a ra lêi giíi thiÖu vÒ b¶n Red Hat ®ang cµi ®Æt. 185 A.5.6. Lùa chän kiÓu cµi ®Æt. 185 A.5.7. X¸c ®Þnh c¸c Partition 187 A.5.8. Chän Partition ®Ó Format. 188 A.5.9. Chän cÊu h×nh LILO (Linux Loader) 188 A.5.10. Chän mói giê 189 A.5.11. ThiÕt ®Æt cÊu h×nh Account (ng−êi sö dông) 189 A.5.12. ThiÕt ®Æt cÊu h×nh quyÒn h¹n (Authentication Configuration) 190 A.5.13. Lùa chän c¸c gãi phÇn mÒm cµi ®Æt (Pakage Selection) 190 A.5.14. ThiÕt ®Æt cÊu h×nh X (X Configuration) 191 A.5.15. B¾t ®Çu qu¸ tr×nh copy tõ ®Üa CD vµo æ cøng 192 A.6. C¸c h¹n chÕ vÒ phÇn cøng ®èi víi Linux 192 A.6.1. C¸c bé vi xö lý mµ Linux hç trî 192 A.6.2. C¸c yªu cÇu vÒ kh«ng gian æ cøng 193 A.6.3. C¸c yªu cÇu vÒ bé nhí 193 A.6.4. Sù t−¬ng thÝch víi c¸c hÖ ®iÒu hµnh kh¸c: DOS, OS/2, 386BSD, Win95 193 9
  10. Ch−¬ng 1. Giíi thiÖu chung vÒ lÖnh trong linux 1.1. Giíi thiÖu vÒ UNIX vµ Linux 1.1.1. S¬ bé vÒ hÖ ®iÒu hµnh ®a ng−êi dïng UNIX (vµ Linux) lµ hÖ ®iÒu hµnh ®a ng−êi dïng (multi-users). HÖ ®iÒu hµnh ®a ng−êi dïng thuéc vµo lo¹i hÖ ®iÒu hµnh ®a ch−¬ng tr×nh ®Þnh h−íng "th©n thiÖn víi ng−êi dïng". T¹i cïng mét thêi ®iÓm, cã nhiÒu ng−êi dïng cïng sö dông m¸y tÝnh vµ ®èi víi mçi ng−êi dïng nh− vËy ®Òu cã c¶m gi¸c nh− ®−îc sö dông m¸y tÝnh mét c¸ch "®éc quyÒn" v× hä ®−îc trùc tiÕp liªn kÕt víi ch−¬ng tr×nh cña m×nh ®ang thùc hiÖn trong m¸y tÝnh. §iÒu nµy t−¬ng øng víi mét chøc n¨ng cña hÖ ®iÒu hµnh lµ "hÖ ®iÒu hµnh nh− mét m¸y tÝnh ¶o" theo gãc ®é cña ng−êi sö dông. Nh− vËy, trong m¸y tÝnh ®ång thêi xuÊt hiÖn nhiÒu ch−¬ng tr×nh ng−êi dïng, c¸c ch−¬ng tr×nh nµy chia nhau sö dông c¸c tµi nguyªn cña hÖ thèng, trong ®ã cã c¸c tµi nguyªn quan träng nhÊt lµ CPU, bé nhí trong vµ hÖ thèng tËp tin (hÖ thèng File). Mçi ng−êi dïng h−íng ®Õn tµi nguyªn chung qua tr¹m cuèi (terminal) cña m×nh (c¸c tr¹m cuèi nµy ®−îc ®Æt tªn vµ ®−îc hÖ thèng qu¶n lý). Trong tr−êng hîp ®¬n gi¶n, tr¹m cuèi chØ bao gåm hai thiÕt bÞ lµ mµn h×nh (®Ó hiÖn th«ng tin cho ng−êi dïng) vµ bµn phÝm (®Ó ng−êi dïng ®−a yªu cÇu ®èi víi hÖ ®iÒu hµnh). Trong nhiÒu tr−êng hîp kh¸c, cã thÓ sö dông mét m¸y tÝnh c¸ nh©n ®ãng vai trß cña mét tr¹m cuèi vµ nh− vËy mçi ng−êi dïng võa ®−îc phÐp sö dông tµi nguyªn riªng võa ®−îc phÐp sö dông tµi nguyªn chung. §iÓn h×nh nhÊt trong c«ng viÖc ph©n chia tµi nguyªn cña hÖ thèng m¸y tÝnh trong hÖ ®iÒu hµnh ®a ng−êi dïng lµ viÖc ph©n chia CPU theo mét chu kú thêi gian mµ mçi ng−êi dïng ®−îc sö dông CPU trong mét kho¶ng thêi gian nhÊt ®Þnh (®−îc gäi lµ l−îng tö thêi gian) vµ sau khi mçi ng−êi ®· ®−îc ph©n chia CPU th× l¹i chuyÓn ®Õn l−ît ph©n chia tiÕp theo. Nh− vËy, ph©n chia thêi gian (Time shared system) lµ c¸ch thøc cña hÖ ®a ng−êi dïng khi ®iÒu phèi CPU. Lµ mét hÖ ®iÒu hµnh ®a ng−êi dïng, UNIX ®· kh¸ phæ biÕn trong c¸c lÜnh vùc ho¹t ®éng CNTT, cã thÓ ®−îc sö dông tõ m¸y vi tÝnh cho tíi m¸y tÝnh mainframe. Nã ®Æc biÖt thÝch hîp ®èi víi c¸c hÖ Client-Server vµ m¹ng m¸y tÝnh diÖn réng. 1.1.2. XuÊt xø, sù ph¸t triÓn 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 tËp tin ®· ®−î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. 10
  11. 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 Trong thêi gian gÇn ®©y (kho¶ng n¨m 1997) mét sè phiªn b¶n míi cña UNIX ®−îc giíi thiÖu vµ phæ biÕn trªn Internet. Cã thÓ t×m thÊy c¸c néi dung liªn quan t¹i ®Þa chØ website http://problem.rice.edu/. C¸c nhãm nhµ cung cÊp kh¸c nhau vÒ UNIX ®ang ho¹t ®éng trong thêi gian hiÖn nay ®−îc kÓ ®Õn nh− sau: Unix International (viÕt t¾t lµ UI). UI lµ mét tæ chøc gåm c¸c nhµ cung cÊp thùc hiÖn viÖc chuyÓn nh−îng hÖ thèng UNIX-5 vµ cung cÊp b¶n AT&T theo c¸c 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: mét tæ chøc chñ tr−¬ng ph¸t hµnh mét dßng cña UNIX m· nguån më, miÔn phÝ: ®ã lµ hÖ ®iÒu hµnh Linux. 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 11
  12. 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¶, 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 tiÕn tr×nh, trong ®ã mçi ng−êi dïng cã thÓ thùc hiÖn c¸c tiÕn 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. 12
  13. 1.1.3. Giíi thiÖu s¬ bé vÒ Linux Linus Tovalds (mét sinh viªn PhÇn lan) ®· ®−a ra phiªn b¶n ®Çu tiªn cña hÖ ®iÒu hµnh Linux vµo th¸ng 8 n¨m 1991. Linus Tovalds ®· x©y dùng hÖ ®iÒu hµnh Linux dùa trªn mét phiªn b¶n nhá cña UNIX cã tªn Minix (Minix do mét chuyªn gia hµng ®Çu vÒ hÖ ®iÒu hµnh lµ Gi¸o s− Andrew S. Tanenbaum x©y dùng) theo h−íng ho¹t ®éng trªn m¸y tÝnh c¸ nh©n. Tõ thêi ®iÓm ®ã, theo t− t−ëng GNU, hµng ngh×n chuyªn gia trªn toµn thÕ giíi ®· 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. Cã thÓ kÓ ra mét sè ®Æc ®iÓm sau ®©y 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 ...: Cã thÓ cµi 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: ®a ng−êi dïng, ®a ch−¬ng tr×nh vµ ®a xö lý. Linux cã giao diÖn ®å ho¹ (GUI) qua X-Window. Linux hç trî nhiÒu giao thøc m¹ng. Linux cßn hç trî tÝnh 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: PC, mini vµ viÖc cµi ®Æt kh¸ thuËn lîi song ch−a xuÊt hiÖn 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: so¹n th¶o, qu¶n lý m¹ng, qu¶n trÞ c¬ së d÷ liÖu, b¶ng tÝnh v.v. 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 Free SoftWare Foundation nªn Linux ph¸t triÓn nhanh vµ lµ mét 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· Unicode, ISO10646) 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 cßn 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, trong ®ã cã thÓ kÓ ®Õn mét sè khã kh¨n nh− sau: Khã kh¨n khi cµi ®Æt Linux vµ 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Þ, PhÇn mÒm øng dông ch¹y trªn nÒn Linux tuy ®· phong phó song so víi c¸c hÖ ®iÒu hµnh kh¸c nh− 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 (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, 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 13
  14. 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 vµ Red Flag Linux. 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Ö ®iÒu hµnh Linux ®−îc chia thµnh 4 thµnh phÇn nh− sau: Nh©n (system kernel), Shell, HÖ thèng tËp tin (File system), C¸c tiÖn Ých (utilities) hay lµ hÖ thèng lÖnh cña Linux. TiÖn Ých chÝnh lµ 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 cuèn s¸ch 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 tËp tin sÏ ®−îc giíi thiÖu trong ch−¬ng 3. Trong c¸c ch−¬ng sau cña cuèn s¸ch ®Ò cËp tíi nhiÒu néi dung liªn quan ®Õn nh©n vµ shell, song ngay sau ®©y th× mét sè nÐt s¬ bé vÒ chóng sÏ ®−îc giíi thiÖu. 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 tiÕn 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 tiÕn tr×nh hiÖn thêi cïng tån t¹i. §èi víi Linux, sè l−îng tiÕn tr×nh cã thÓ lªn tíi con sè hµng ngh×n. Víi sè l−îng tiÕn 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 tËp tin. Linux cã hai c¸ch thøc 14
  15. lµm viÖc víi c¸c tËp tin: lµm viÖc theo byte (kÝ tù) vµ lµm viÖc theo khèi. Mét ®Æc ®iÓm ®¸ng chó ý lµ viÖc tËp tin 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 tËp tin cÇn ®¶m b¶o viÖc tËp tin ®−î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 cho chóng ta 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 t−¬ng øng 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 tiÕn tr×nh míi (khëi t¹o tiÕn tr×nh) vµ sau ®ã, shell chê ®îi tiÕn 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 cuèn s¸ch 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: 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 cuèn s¸ch 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. TËp tin 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. TËp tin 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. 15
  16. 1.3. Giíi thiÖu vÒ viÖc 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 (n¨m 2000) 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. Cuèn s¸ch 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 vµ tham sè vÞ trÝ. Tham sè vÞ trÝ th−êng lµ tªn tËp tin, 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 c¸c m« t¶ lÖnh, phæ biÕn xuÊt hiÖn c¸c tïy chän lÖnh mµ ®−îc viÕt t¾t lµ tïy-chän. C¸c tïy chän lÖnh (hÇu hÕt lµ c¸c 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. C¸c 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. 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 tËp tin: # ls -l g*↵ trong lÖnh nµy: 16
  17. ls lµ tªn lÖnh thùc hiÖn viÖc ®−a danh s¸ch c¸c tªn tËp tin/ 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 tËp tin cã tªn gäi b¾t ®Çu lµ ch÷ c¸i "g". Trong cuèn s¸ch nµy, chóng ta 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 cuèn s¸ch nµy, t¹i nh÷ng dßng v¨n b¶n diÔn gi¶i, chóng t«i 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 ng−êi dïng cao cÊp) 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 Ch−¬ng vÒ lËp tr×nh shell sÏ giíi thiÖu chi tiÕt h¬n vÒ c¸c c¸ch thøc nãi trªn. 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× lÖnh ®−îc thùc hiÖn; ng−îc l¹i, trong tr−êng hîp cã sai sãt khi gâ lÖnh th× shell sÏ th«ng b¸o vÒ sai sãt vµ 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. 17
  18. 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 cuèn s¸ch nµy. 1.3.1. C¸c quy −íc khi viÕt lÖnh Trong cuèn s¸ch 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 tËp tin, 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 tËp tin lµ # more Th× tõ more lµ tªn lÖnh, cßn lµ tham sè trong ®ã tËp-tin 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 tËp tin víi tªn ®· chØ trong lÖnh. §Ó xem néi dung tËp tin 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 "tËp-tin" ®· ®−îc thay thÕ b»ng tõ "temp" lµ tªn tËp tin 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ô, m« t¶ có ph¸p cña lÖnh halt lµ # halt [tïy-chän] Víi c¸c tïy chän lµ -w, -n, -d, -f, -i m· mçi tïy chän cho mét c¸ch thøc ho¹t ®éng kh¸c nhau cña lÖnh halt. LÖnh halt cã t¸c ®éng chÝnh lµ lµm ngõng ho¹t ®éng cña hÖ ®iÒu hµnh, tuy nhiªn khi ng−êi dïng muèn cã mét c¸ch ho¹t ®éng nµo ®ã cña lÖnh nµy th× sÏ chän mét (hoÆc mét sè) tuú chän lÖnh t−¬ng øng. Mét sè c¸ch gâ lÖnh halt cña ng−êi dïng nh− sau ®©y lµ ®óng có ph¸p: # halt # halt -w # halt -n # halt -f C¸c gi¸ trÞ cã trong cÆp { vµ } trong ®ã c¸c bé phËn c¸ch nhau b»ng dÊu sæ ®øng "|" cho biÕt cÇn chän mét vµ chØ mét trong c¸c gi¸ trÞ n»m gi÷a hai dÊu ngoÆc ®ã. 18
  19. 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 tËp tin, 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 tËp tin. 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 tËp tin. 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 tËp tin 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è tËp-tin. 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). Trong mét sè lÖnh, cã hai tham sè khãa cïng t−¬ng øng víi mét t×nh huèng thùc hiÖn lÖnh, trong ®ã mét tham sè gåm mét kÝ tù cßn tham sè kia l¹i lµ mét tõ. Tham sè dµi mét tõ lµ tham sè chuÈn cña lÖnh, cßn tham sè mét kÝ tù lµ c¸ch viÕt ng¾n gän. Tham sè chuÈn dïng ®−îc trong mäi Linux vµ khi gâ ph¶i cã ®ñ kÝ tù trong tõ. 19
  20. 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. 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 thay thÕ alias vµ ch−¬ng tr×nh lÖnh (shell script) sÏ ®−îc giíi thiÖu chi tiÕt trong c¸c ch−¬ng liªn quan. 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Õ. ViÖc kh«i phôc dßng lÖnh: Linux cung cÊp mét c¸ch thøc ®Æc biÖt lµ kh¶ n¨ng kh«i phôc lÖnh. T¹i dÊu nh¾c shell: Ng−êi dïng sö dông c¸c phÝm mòi tªn lªn/xuèng (↑/↓) trªn bµn phÝm ®Ó nhËn l¹i c¸c dßng lÖnh ®· ®−îc ®−a vµo tr−íc ®©y t¹i dÊu nh¾c shell, chän mét trong c¸c dßng lÖnh ®ã vµ biªn tËp l¹i néi dung dßng lÖnh theo ®óng yªu cÇu míi cña m×nh. VÝ dô, ng−êi dïng võa gâ xong dßng lÖnh: # ls -l tenfile* sau ®ã muèn gâ lÖnh ls -l tentaptin th× t¹i dÊu nh¾c cña shell, ng−êi dïng sö dông c¸c phÝm di chuyÓn lªn (↑) hoÆc xuèng (↓) ®Ó nhËn ®−îc: # ls -l tenfile* dïng c¸c phÝm t¾t ®Ó di chuyÓn, xo¸ kÝ tù (xem phÇn sau) ®Ó cã ®−îc: # ls -l ten vµ gâ tiÕp c¸c kÝ tù "taptin" ®Ó nhËn ®−îc: # ls -l tentaptin chÝnh lµ kÕt qu¶ mong muèn. Trong tr−êng hîp sè l−îng kÝ tù thay thÕ lµ rÊt Ýt so víi sè l−îng kÝ tù cña toµn dßng lÖnh th× hiÖu qu¶ cña c¸ch thøc nµy rÊt cao. L−u ý: ViÖc nhÊn liªn tiÕp c¸c phÝm di chuyÓn lªn (↑) hoÆc xuèng (↓) cho phÐp ng−êi dïng nhËn ®−îc c¸c dßng lÖnh ®· gâ tõ tr−íc mµ kh«ng chØ dßng lÖnh míi ®−îc gâ. C¸ch thøc nµy t−¬ng tù víi c¸ch thøc sö dông tiÖn Ých DOSKEY trong hÖ ®iÒu hµnh MS-DOS. 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2