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 2

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

66
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 2', 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 2

  1. Mét sè phÝm ®Æc biÖt khi gâ lÖnh: Khi ng−êi dïng gâ lÖnh cã thÓ xÈy ra mét sè t×nh huèng nh− sau: Dßng lÖnh ®ang gâ cã chç sai sãt, kh«ng ®óng theo yªu cÇu cña ng−êi dïng v× vËy cÇn ph¶i söa l¹i ®«i chót néi dung trªn dßng lÖnh ®ã. Trong tr−êng hîp ®ã cÇn sö dông c¸c phÝm ®Æc biÖt (cßn gäi lµ phÝm viÕt t¾t hay phÝm t¾t) ®Ó di chuyÓn, xo¸ bá, bæ sung vµo néi dung dßng lÖnh. Sau khi sö dông c¸ch thøc kh«i phôc dßng lÖnh, chóng ta nhËn ®−îc dßng lÖnh t−¬ng tù víi lÖnh cÇn gâ vµ sau ®ã sö dông c¸c phÝm t¾t ®Ó hoµn thiÖn lÖnh. D−íi ®©y giíi thiÖu c¸c phÝm t¾t vµ ý nghÜa cña viÖc sö dông chóng: • NhÊn phÝm → ®Ó di chuyÓn con trá sang bªn ph¶i mét vÞ trÝ • NhÊn phÝm ← ®Ó di chuyÓn con trá sang bªn tr¸i mét vÞ trÝ • NhÊn phÝm ®Ó xo¸ mét tõ bªn tr¸i con trá • NhÊn phÝm ®Ó xo¸ mét tõ bªn ph¶i con trá • NhÊn phÝm ®Ó di chuyÓn con trá sang bªn ph¶i mét tõ • NhÊn phÝm ®Ó di chuyÓn con trá sang bªn tr¸i mét tõ • NhÊn phÝm ®Ó di chuyÓn con trá vÒ ®Çu dßng lÖnh • NhÊn phÝm ®Ó di chuyÓn con trá vÒ cuèi dßng • NhÊn phÝm ®Ó xãa dßng lÖnh Cã thÓ dïng phÝm thay cho phÝm . C¸c kÝ hiÖu m« t¶ nhãm tËp tin vµ phÝm : Khi gâ lÖnh thùc sù nhiÒu tr−êng hîp ng−êi dïng mong muèn mét tham sè trong lÖnh kh«ng chØ x¸c ®Þnh mét tËp tin mµ l¹i liªn quan ®Õn mét nhãm c¸c tËp tin mµ tªn gäi cña c¸c tËp tin trong nhãm cã chung mét tÝnh chÊt nµo ®ã. Trong nh÷ng tr−êng hîp nh− vËy, ng−êi dïng cÇn sö dông c¸c kÝ hiÖu m« t¶ nhãm tËp tin (wildcards), chóng ta gäi lµ kÝ hiÖu m« t¶ nhãm (cßn ®−îc gäi lµ kÝ hiÖu thay thÕ). Ng−êi ta sö dông c¸c kÝ tù *, ? vµ cÆp hai dÊu [ vµ ] ®Ó m« t¶ nhãm tËp tin. C¸c kÝ tù nµy mang ý nghÜa nh− sau khi viÕt vµo tham sè tªn tËp tin thùc sù: • "*" : lµ ký tù m« t¶ nhãm gåm mäi x©u kÝ tù (thay thÕ mäi x©u). M« t¶ nµy cho mét nhãm lín nhÊt trong ba m« t¶. • "?" : m« t¶ nhãm gåm mäi x©u víi ®é dµi kh«ng qu¸ 1 (thay thÕ mét kÝ tù). Nhãm nµy lµ tËp con cña nhãm ®Çu tiªn (theo kÝ tù "*"). • [x©u-kÝ-tù] : m« t¶ nhãm gåm mäi x©u cã ®é dµi 1 lµ mçi kÝ tù thuéc x©u nãi trªn. M« t¶ nµy cho mét nhãm cã lùc l−îng bÐ nhÊt trong ba m« t¶. Nhãm nµy lµ tËp con cña nhãm thø hai (theo kÝ tù "?"). Khi gâ lÖnh ph¶i gâ c¶ hai dÊu [ vµ ]. Mét d¹ng kh¸c cña m« t¶ nhãm nµy lµ [-] nghÜa lµ gi÷a cÆp dÊu ngoÆc cã ba kÝ tù trong ®ã kÝ tù ë gi÷a lµ dÊu nèi (dÊu -) th× c¸ch viÕt nµy t−¬ng ®−¬ng víi viÖc liÖt kª mäi kÝ tù tõ ®Õn . Ch¼ng h¹n, c¸ch viÕt [a-d] t−¬ng ®−¬ng víi c¸ch viÕt [abcd]. 21
  2. VÝ dô, gi¶ sö khi muèn lµm viÖc víi tÊt c¶ c¸c tËp tin trong mét th− môc nµo ®ã, ng−êi dïng gâ * thay thÕ tham sè tËp-tin th× x¸c ®Þnh ®−îc c¸c tªn tËp tin sau (chóng ta viÕt bèn tªn tËp tin trªn mét dßng): info-dir initlog.conf inittab lynx.cfg mail.rc mailcap minicom.users motd mtab mtools.conf services shadow shadow- shells smb.conf sysctl.conf syslog.conf temp termcap up2date.conf temp termcap NÕu ng−êi dïng gâ s* (®Ó chØ c¸c tªn cã ch÷ c¸i ®Çu lµ s) thay thÕ tham sè tËp-tin th× x¸c ®Þnh ®−îc c¸c tªn tËp tin sau: shadow shadow- shells sysctl.conf syslog.conf NÕu ng−êi dïng gâ [si]* (®Ó chØ c¸c tªn cã ch÷ c¸i ®Çu lµ s hoÆc i, chó ý dïng c¶ hai kÝ tù [ vµ ]) thay thÕ tham sè tËp-tin th× x¸c ®Þnh c¸c tªn tËp tin sau: info-dir initlog.conf inittab services shadow shadow- shells smb.conf sysctl.conf syslog.conf L−u ý: Nh− vËy, Linux (vµ UNIX nãi chung) kh«ng chØ sö dông hai kÝ tù m« t¶ nhãm * vµ ? mµ cßn cã c¸ch thøc sö dông cÆp kÝ tù [ vµ ]. CÇn ph©n biÖt cÆp dÊu [ vµ ] ®−îc sö dông khi ng−êi dïng gâ lÖnh cã ý nghÜa hoµn toµn kh¸c víi ý nghÜa cña chóng khi ®−îc sö dông trong m« t¶ lÖnh. H¬n thÕ n÷a, Linux cßn cung cÊp cho ng−êi dïng c¸ch thøc sö dông phÝm ®Ó hoµn thµnh nèt tªn tËp tin (tªn th− môc) trong lÖnh. VÝ dô, khi chóng ta gâ dßng lÖnh # ls /ulocalb th× nã còng t−¬ng ®−¬ng nh− gâ dßng lÖnh (vµ ®©y chÝnh lµ néi dung xuÊt hiÖn t¹i dÊu nh¾c shell): # ls /usr/local/bin víi ®iÒu kiÖn trong th− môc /usr chØ cã th− môc local ®−îc b¾t ®Çu bëi ch÷ "l" vµ trong th− môc local còng chØ cã th− môc bin ®−îc b¾t ®Çu bëi ch÷ "b". Trong tr−êng hîp nÕu nh− mét kÝ tù ch−a ®ñ x¸c ®Þnh, ng−êi dïng cÇn gâ thªm kÝ tù tiÕp theo trong tªn tËp tin (tªn th− môc) vµ nhÊn phÝm ®Ó hoµn thµnh dßng lÖnh. 1.3.2. TiÕp nèi dßng lÖnh Nh− ®· l−u ý trªn ®©y, mét dßng lÖnh cã thÓ gåm mét hoÆc mét sè lÖnh, mÆt kh¸c tham sè cña lÖnh cã thÓ lµ rÊt dµi kh«ng thÓ trong khu«n khæ cña mét dßng v¨n b¶n ®−îc. Khi gâ lÖnh, nÕu dßng lÖnh qu¸ dµi, Linux cho phÐp ng¾t dßng lÖnh xuèng dßng d−íi b»ng c¸ch thªm kÝ tù b¸o hiÖu chuyÓn dßng " \ " t¹i cuèi dßng; trong tr−êng hîp ®ã, kÝ tù " \ " ph¶i lµ ký tù cuèi cïng thuéc dßng lÖnh tr−íc. 22
  3. VÝ dô, # cd vsd\ thumuc th× dßng thø hai lµ phÇn tiÕp theo cña dßng thø nhÊt vµ kÕt hîp c¶ hai dßng nµy thùc chÊt lµ mét dßng lÖnh Linux. 1.4. Trang Man (Man Page) Chóng ta cã thÓ nãi r»ng Linux lµ mét hÖ ®iÒu hµnh rÊt phøc t¹p víi hµng ngh×n lÖnh vµ mçi lÖnh l¹i cã thÓ cã tíi vµi hoÆc vµi chôc t×nh huèng sö dông do chóng cho phÐp cã nhiÒu tïy chän lÖnh. §Ó thuéc hÕt ®−îc néi dung tÊt c¶ c¸c lÖnh cña Linux lµ mét ®iÒu hÕt søc khã kh¨n, cã thÓ nãi lµ kh«ng thÓ. Linux cho phÐp ng−êi dïng sö dông c¸ch thøc gäi c¸c trang Man ®Ó cã ®−îc c¸c th«ng tin ®Çy ®ñ giíi thiÖu néi dung c¸c lÖnh. D−íi ®©y lµ mét sè néi dung vÒ c¸ch thøc sö dông trang Man. "Man" trong "trang Man" lµ tõ viÕt t¾t cña "manual", ®−îc coi lµ tµi liÖu trùc tuyÕn trong Linux ®· l−u tr÷ toµn bé c¸c lÖnh cã s½n víi c¸c th«ng tin tham kh¶o kh¸ ®Çy ®ñ cho phÐp ng−êi dïng cã thÓ më ra ®Ó nhËn ®−îc trî gióp. §Ó më trang Man cña mét lÖnh, chóng ta sö dông lÖnh man cña Linux vµ gâ: # man Néi dung cña trang Man nãi chung lµ kh«ng qu¸ khã hiÓu, song ®Ó hiÓu hÕt ®−îc nã còng ®ßi hái kh«ng Ýt thêi gian. Tuy nhiªn, khi quªn néi dung mét lÖnh nµo ®ã th× c¸ch tèt nhÊt lµ h·y sö dông trang Man. CÊu tróc chung cña mét trang Man nh− sau: COMMAND(1) Linux Programmer's Manual COMMAND(1) NAME tªn lÖnh - kh¸i qu¸t t¸c dông cña lÖnh SYNOPSIS có ph¸p cña lÖnh DESCRIPTION m« t¶ cô thÓ h¬n vÒ t¸c dông cña lÖnh OPTIONS liÖt kª c¸c tïy chän lÖnh vµ t¸c dông cña chóng FILES liÖt kª c¸c tËp tin mµ lÖnh sö dông hoÆc tham chiÕu ®Õn SEE ALSO liÖt kª c¸c lÖnh, c¸c tµi liÖu, ..., cã liªn quan ®Õn lÖnh REPORTING BUGS ®Þa chØ liªn hÖ nÕu gÆp lçi khi sö dông lÖnh AUTHOR tªn t¸c gi¶ cña lÖnh 23
  4. Ng−êi dïng thËm chÝ kh«ng nhí chÝnh x¸c tªn lÖnh. Linux cßn cã mét c¸ch thøc hç trî ng−êi dïng cã thÓ nhanh chãng t×m ®−îc lÖnh cÇn sö dông trong tr−êng hîp chØ nhí nh÷ng ch÷ c¸i ®Çu cña tªn lÖnh, ®ã lµ c¸ch thøc sö dông phÝm TAB. Trong c¸ch thøc nµy, ng−êi dïng cÇn nhí mét sè ch÷ c¸i ®Çu tiªn cña tªn lÖnh. Cã thÓ tr×nh bµy c¸ch thøc ®ã theo có ph¸p sau ®©y: # Trong ®ã d·y-ch÷-c¸i cã tõ mét ®Õn mét vµi ch÷ c¸i thuéc phÇn ®Çu cña tªn lÖnh. Chó ý r»ng, c¸c ch÷ c¸i vµ hai phÝm ph¶i ®−îc gâ liªn tiÕp nhau. KÕt hîp c¸ch thøc nµy víi c¸ch thøc sö dông lÖnh man (víi sù phong phó vÒ tïy chän cña lÖnh man) nhËn ®−îc mét c¸ch thøc kh¸ tuyÖt vêi trî gióp ng−êi dïng. VÝ dô, muèn sö dông lÖnh history nh−ng l¹i kh«ng nhí chÝnh x¸c tªn lÖnh ®−îc viÕt ra nh− thÕ nµo mµ chØ nhí nã ®−îc b¾t ®Çu bëi ch÷ h, h·y gâ ch÷ h ®ã t¹i dÊu nh¾c shell vµ nhÊn phÝm TAB hai lÇn, sÏ thÊy mét danh s¸ch c¸c lÖnh cã ch÷ c¸i ®Çu tiªn lµ h ®−îc hiÖn ra trªn mµn h×nh: # h h2ph hboot help hexdump history hostname htdigest h2xs hcc helpme hf77 hltest hoststat htpasswd halt hcp helptool hinotes host hpcdtoppm hash head hexbin hipstopgm hostid hpftodit Nh− vËy, tÊt c¶ c¸c lÖnh cã tªn b¾t ®Çu víi ch÷ h ®−îc hiÓn thÞ trªn mµn h×nh vµ cho phÐp ng−êi dïng cã thÓ x¸c ®Þnh ®−îc lÖnh cÇn quan t©m. Tr−êng hîp tån t¹i mét sè l−îng lín c¸c lÖnh cã cïng ch÷ c¸i ®Çu tiªn mµ ng−êi dïng ®· gâ, thay v× hiÖn hÕt mäi tªn lÖnh, hÖ ®iÒu hµnh cho ra mét th«ng b¸o hái ng−êi dïng cã muèn xem toµn bé c¸c lÖnh ®ã hay kh«ng. Ng−êi dïng ®¸p øng th«ng b¸o ®ã tuú theo ý muèn cña m×nh. VÝ dô, khi ng−êi dïng gâ néi dung nh− sau: # p th× hÖ thèng ®¸p l¹i lµ: There are 289 possibilities. Do you really wish to see them all? (y or n) Ng−êi dïng gâ phÝm "y" nÕu muèn xem, hoÆc gâ "n" nÕu bá qua. Ng−êi dïng cã thÓ gâ nhiÒu h¬n mét ch÷ c¸i ë ®Çu tªn lÖnh vµ ®iÒu ®ã cho phÐp gi¶m bít sè tªn lÖnh mµ hÖ thèng t×m ®−îc vµ hiÓn thÞ. Ch¼ng h¹n, khi biÕt hai ch÷ c¸i ®Çu lµ "pw" vµ ng−êi dïng gâ: # pw th× hÖ thèng sÏ hiÖn ra danh s¸ch c¸c tªn lÖnh b¾t ®Çu bëi "pw": pwck pwconv pwd pwdb_ chkpwd pwunconv 24
  5. Trong tr−êng hîp nµy, ng−êi dïng sÏ nhËn biÕt ®−îc tªn lÖnh ®ang cÇn t×m thuËn tiÖn h¬n. 25
  6. Ch−¬ng 2. lÖnh thao t¸c víi hÖ thèng 2.1. Qu¸ tr×nh khëi ®éng Linux Qu¸ tr×nh cµi ®Æt Linux ®−îc tr×nh bµy trong phô lôc A cña cuèn s¸ch nµy. Trong phÇn nµy, chóng ta xem xÐt s¬ bé qu¸ tr×nh khëi ®éng hÖ ®iÒu hµnh Linux. Mét trong nh÷ng c¸ch thøc khëi ®éng Linux phæ biÕn nhÊt lµ c¸ch thøc do ch−¬ng tr×nh LILO (LInux LOader) thùc hiÖn. Ch−¬ng tr×nh LILO ®−îc n¹p lªn ®Üa cña m¸y tÝnh khi cµi ®Æt hÖ ®iÒu hµnh Linux. LILO ®−îc n¹p vµo Master Boot Record cña ®Üa cøng hoÆc vµo Boot Sector t¹i ph©n vïng khëi ®éng (trªn ®Üa cøng hoÆc ®Üa mÒm). Gi¶ sö m¸y tÝnh cña chóng ta ®· cµi ®Æt Linux vµ sö dông LILO ®Ó khëi ®éng hÖ ®iÒu hµnh. LILO thÝch hîp víi viÖc trªn m¸y tÝnh ®−îc cµi ®Æt mét sè hÖ ®iÒu hµnh kh¸c nhau vµ theo ®ã, LILO cßn cho phÐp ng−êi dïng chän lùa hÖ ®iÒu hµnh ®Ó khëi ®éng. Giai ®o¹n khëi ®éng Linux tïy thuéc vµo cÊu h×nh LILO ®· ®−îc lùa chän trong tiÕn tr×nh cµi ®Æt Linux. Trong t×nh huèng ®¬n gi¶n nhÊt, Linux ®−îc khëi ®éng tõ ®Üa cøng hay ®Üa mÒm khëi ®éng. Qu¸ tr×nh khëi ®éng Linux cã thÓ ®−îc m« t¶ theo s¬ ®å sau: LILO Nh©n init Theo s¬ ®å nµy, LILO ®−îc t¶i vµo m¸y ®Ó thùc hiÖn mµ viÖc ®Çu tiªn lµ ®−a nh©n vµo bé nhí trong vµ sau ®ã t¶i ch−¬ng tr×nh init ®Ó thùc hiÖn viÖc khëi ®éng Linux. NÕu cµi ®Æt nhiÒu phiªn b¶n Linux hay cµi Linux cïng c¸c hÖ ®iÒu hµnh kh¸c (trong c¸c tr−êng hîp nh− thÕ, mçi phiªn b¶n Linux hoÆc hÖ ®iÒu hµnh kh¸c ®−îc g¸n nh·n - label ®Ó ph©n biÖt), th× th«ng b¸o sau ®©y ®−îc LILO ®−a ra: LILO boot: cho phÐp nhËp x©u lµ nh·n cña mét trong nh÷ng hÖ ®iÒu hµnh hiÖn cã trªn m¸y ®Ó khëi ®éng nã. T¹i thêi ®iÓm ®ã, ng−êi dïng cÇn gâ nh·n cña hÖ ®iÒu hµnh cÇn khëi ®éng vµo, vÝ dô, gâ LILO boot: linux nÕu chän khëi ®éng ®Ó lµm viÖc trong Linux, hoÆc gâ LILO boot: dos nÕu chän khëi ®éng ®Ó lµm viÖc trong MS-DOS, Windows. L−u ý: NÕu chóng ta kh«ng nhí ®−îc nh·n cña hÖ ®iÒu hµnh cã trong m¸y ®Ó chän, h·y gâ phÝm ®Ó ®−îc LILO cho biÕt nh·n cña c¸c hÖ ®iÒu hµnh. LILO boot: sÏ hiÖn ra danh s¸ch c¸c nh·n (vÝ dô nh−): dos ... linux vµ hiÖn l¹i th«ng b¸o nãi trªn ®Ó ta gâ nh·n cña hÖ ®iÒu hµnh. LILO còng cho phÐp ®Æt chÕ ®é chän ngÇm ®Þnh hÖ ®iÒu hµnh ®Ó khëi ®éng mµ theo ®ã nÕu chóng ta kh«ng cã t¸c ®éng g× sau th«ng b¸o chän hÖ ®iÒu hµnh th× LILO sÏ tù ®éng chän hÖ ®iÒu hµnh ngÇm ®Þnh ra ®Ó khëi ®éng. NÕu chóng ta kh«ng can thiÖp vµo c¸c tËp tin t−¬ng øng cña tr×nh LILO th× hÖ ®iÒu hµnh Linux lµ hÖ ®iÒu hµnh ngÇm ®Þnh. 26
  7. Gi¶ sö Linux ®· ®−îc chän ®Ó khëi ®éng. Khi init thùc hiÖn, chóng ta sÏ thÊy mét chuçi (kho¶ng vµi chôc) dßng th«ng b¸o cho biÕt hÖ thèng phÇn cøng ®−îc Linux nhËn diÖn vµ thiÕt lËp cÊu h×nh cïng víi tÊt c¶ tr×nh ®iÒu khiÓn phÇn mÒm ®−îc n¹p khi khëi ®éng. Qu¸ tr×nh init lµ qu¸ tr×nh khëi thñy, lµ cha cña mäi qu¸ tr×nh. T¹i thêi ®iÓm khëi ®éng hÖ thèng init thùc hiÖn vai trß ®Çu tiªn cña m×nh lµ ch¹y ch−¬ng tr×nh shell trong tËp tin /etc/inittab vµ c¸c dßng th«ng b¸o trªn ®©y chÝnh lµ kÕt qu¶ cña viÖc ch¹y ch−¬ng tr×nh shell ®ã. Sau khi ch−¬ng tr×nh shell nãi trªn ®−îc thùc hiÖn xong, qu¸ tr×nh ng−êi dïng ®¨ng nhËp (login) vµo hÖ thèng ®−îc tiÕn hµnh. 2.2. Thñ tôc ®¨ng nhËp vµ c¸c lÖnh tho¸t khái hÖ thèng 2.2.1. §¨ng nhËp Sau khi hÖ thèng Linux (lÊy Red Hat 6.2 lµm vÝ dô) khëi ®éng xong, trªn mµn h×nh xuÊt hiÖn nh÷ng dßng sau: Ret Hat Linux release 6.2 (Zoot) Kernel 2.2.14-5.0 on an i686 May1 login: Dßng thø nhÊt vµ dßng thø hai cho biÕt lo¹i phiªn b¶n Linux, phiªn b¶n cña nh©n vµ kiÕn tróc phÇn cøng cã trªn m¸y, dßng thø ba lµ dÊu nh¾c ®¨ng nhËp ®Ó ng−êi dïng thùc hiÖn viÖc ®¨ng nhËp. Chó ý lµ c¸c dßng trªn ®©y cã thÓ thay ®æi chót Ýt tïy thuéc vµo phiªn b¶n Linux. Chóng ta cã thÓ thay ®æi c¸c dßng hiÓn thÞ nh− tr×nh bµy trªn ®©y b»ng c¸ch söa ®æi tËp tin /etc/rc.d/rc.local nh− sau: Thay ®o¹n ch−¬ng tr×nh echo "" > /etc/issue echo "$R" >> /etc/issue echo "Kernel $(uname -r) on $a $SMP$(uname -m)" >> /etc/issue cp -f /etc/issue /etc/issue.net echo >> /etc/issue thµnh echo "" > /etc/issue echo "Th«ng b¸o muèn hiÓn thÞ" >> /etc/issue vÝ dô söa thµnh: echo "" > /etc/issue echo "This is my computer" >> /etc/issue th× trªn mµn h×nh ®¨ng nhËp sÏ cã d¹ng sau: This is my computer hostname login: T¹i dÊu nh¾c ®¨ng nhËp, h·y nhËp tªn ng−êi dïng (cßn gäi lµ tªn ®¨ng nhËp): ®©y lµ tªn kÝ hiÖu ®· cung cÊp cho Linux nh»m nhËn diÖn mét ng−êi dïng cô thÓ. Tªn 27
  8. ®¨ng nhËp øng víi mçi ng−êi dïng trªn hÖ thèng lµ duy nhÊt, kÌm theo mét mËt khÈu ®¨ng nhËp. May1 login: root Password: Khi nhËp xong tªn ®¨ng nhËp, hÖ thèng sÏ hiÖn ra th«ng b¸o hái mËt khÈu vµ di chuyÓn con trá xuèng dßng tiÕp theo ®Ó ng−êi dïng nhËp mËt khÈu. MËt khÈu khi ®−îc nhËp sÏ kh«ng hiÓn thÞ trªn mµn h×nh vµ chÝnh ®iÒu ®ã gióp tr¸nh khái sù "nhßm ngã" cña ng−êi kh¸c. NÕu nhËp sai tªn ®¨ng nhËp hoÆc mËt khÈu, hÖ thèng sÏ ®−a ra mét th«ng b¸o lçi: May1 login: root Password: Login incorrect May1 login: NÕu ®¨ng nhËp thµnh c«ng, ng−êi dïng sÏ nh×n thÊy mét sè th«ng tin vÒ hÖ thèng, mét vµi tin tøc cho ng−êi dïng... Lóc ®ã, dÊu nh¾c shell xuÊt hiÖn ®Ó ng−êi dïng b¾t ®Çu phiªn lµm viÖc cña m×nh. May1 login: root Password: Last login: Fri Oct 27 14:16:09 on tty2 root@may1 /root]# D·y kÝ tù trong dßng cuèi cïng chÝnh lµ dÊu nh¾c shell. Trong dÊu nh¾c nµy, root lµ tªn ng−êi dïng ®¨ng nhËp, may1 lµ tªn m¸y vµ /root tªn th− môc hiÖn thêi (v× ®©y lµ ng−êi dïng root). Khi dÊu nh¾c shell xuÊt hiÖn trªn mµn h×nh th× ®iÒu ®ã cã nghÜa lµ hÖ ®iÒu hµnh ®· s½n sµng tiÕp nhËn mét yªu cÇu míi cña ng−êi dïng. DÊu nh¾c shell cã thÓ kh¸c víi tr×nh bµy trªn ®©y (Môc 2.8 sÏ cung cÊp c¸ch thøc thay ®æi dÊu nh¾c shell), nh−ng cã thÓ hiÓu nã lµ chuçi kÝ tù b¾t ®Çu mét dßng cã chøa trá chuét vµ lu«n xuÊt hiÖn mçi khi hÖ ®iÒu hµnh hoµn thµnh mét c«ng viÖc nµo ®ã. 2.2.2. Ra khái hÖ thèng §Ó kÕt thóc phiªn lµm viÖc ng−êi dïng cÇn thùc hiÖn thñ tôc ra khái hÖ thèng. Cã rÊt nhiÒu c¸ch cho phÐp tho¸t khái hÖ thèng, ë ®©y chóng ta xem xÐt mét sè c¸ch th«ng dông nhÊt. C¸ch ®¬n gi¶n nhÊt ®Ó ®¶m b¶o tho¸t khái hÖ thèng ®óng ®¾n lµ nhÊn tæ hîp phÝm CTRL+ALT+DEL. Khi ®ã, trªn mµn h×nh sÏ hiÓn thÞ mét sè th«ng b¸o cña hÖ thèng vµ cuèi cïng lµ th«ng b¸o tho¸t tr−íc khi t¾t m¸y. CÇn chó ý lµ: NÕu ®ang lµm viÖc trong m«i tr−êng X Window System, h·y nhÊn tæ hîp phÝm CTRL+ALT+BACKSPACE tr−íc råi sau ®ã h·y nhÊn CTRL+ALT+DEL. C¸ch thø hai lµ sö dông lÖnh shutdown víi có ph¸p nh− sau: shutdown [tïy-chän] [c¶nh-b¸o] LÖnh nµy cho phÐp dõng tÊt c¶ c¸c dÞch vô ®ang ch¹y trªn hÖ thèng. 28
  9. C¸c tïy-chän cña lÖnh nµy nh− sau: -k kh«ng thùc sù shutdown mµ chØ c¶nh b¸o. -r khëi ®éng l¹i ngay sau khi shutdown. -h t¾t m¸y thùc sù sau khi shutdown. -f khëi ®éng l¹i nhanh vµ bá qua viÖc kiÓm tra ®Üa. -F khëi ®éng l¹i vµ thùc hiÖn viÖc kiÓm tra ®Üa. -c bá qua kh«ng ch¹y lÖnh shutdown. Trong tïy chän nµy kh«ng thÓ ®−a ra tham sè thêi gian nh−ng cã thÓ ®−a ra th«ng b¸o gi¶i thÝch trªn dßng lÖnh göi cho tÊt c¶ c¸c ng−êi dïng. -t sè-gi©y qui ®Þnh init(8) chê kho¶ng thêi gian sè-gi©y t¹m dõng gi÷a qu¸ tr×nh göi c¶nh b¸o vµ tÝn hiÖu kill, tr−íc khi chuyÓn sang mét møc ch¹y kh¸c. vµ hai tham sè vÞ trÝ cßn l¹i: time ®Æt thêi ®iÓm shutdown. Tham sè time cã hai d¹ng. D¹ng tuyÖt ®èi lµ gg:pp (gg: giê trong ngµy, pp: phót) th× hÖ thèng sÏ shutdown khi ®ång hå m¸y trïng víi gi¸ trÞ tham sè. D¹ng t−¬ng ®èi lµ + lµ hÑn sau thêi kho¶ng phót sÏ shutdown; coi shutdown lËp tøc t−¬ng ®−¬ng víi +0. c¶nh-b¸o th«ng b¸o göi ®Õn tÊt c¶ ng−êi dïng trªn hÖ thèng. Khi lÖnh thùc hiÖn tÊt c¶ c¸c m¸y ng−êi dïng ®Òu nhËn ®−îc c¶nh b¸o. VÝ dô, khi ng−êi dïng gâ lÖnh: shutdown +1 Sau mot phut nua he thong se shutdown! trªn mµn h×nh cña tÊt c¶ ng−êi dïng xuÊt hiÖn th«ng b¸o "Sau mot phut nua he thong se shutdown! " vµ sau mét phót th× hÖ thèng shutdown thùc sù. C¸ch thø ba lµ sö dông lÖnh halt víi có ph¸p nh− sau: halt [tïy-chän] LÖnh nµy thùc hiÖn viÖc t¾t h¼n m¸y. C¸c tuú chän cña lÖnh halt: -w 29
  10. kh«ng thùc sù t¾t m¸y nh−ng vÉn ghi c¸c th«ng tin lªn tËp tin /var/log/wtmp (®©y lµ tËp tin l−u tr÷ danh s¸ch c¸c ng−êi dïng ®¨ng nhËp thµnh c«ng vµo hÖ thèng). -d kh«ng ghi th«ng tin lªn tËp tin /var/log/wtmp. Tïy chän -n cã ý nghÜa t−¬ng tù song kh«ng tiÕn hµnh viÖc ®ång bé hãa. -f thùc hiÖn t¾t m¸y ngay mµ kh«ng thùc hiÖn lÇn l−ît viÖc dõng c¸c dÞch vô cã trªn hÖ thèng. -i chØ thùc hiÖn dõng tÊt c¶ c¸c dÞch vô m¹ng tr−íc khi t¾t m¸y. Chóng ta cÇn nhí r»ng, nÕu tho¸t khái hÖ thèng kh«ng ®óng c¸ch th× dÉn ®Õn hËu qu¶ lµ mét sè tËp tin hay toµn bé hÖ thèng tËp tin cã thÓ bÞ h− háng. L−u ý: Cã thÓ sö dông lÖnh exit ®Ó trë vÒ dÊu nh¾c ®¨ng nhËp hoÆc kÕt thóc phiªn lµm viÖc b»ng lÖnh logout. 2.2.3. Khëi ®éng l¹i hÖ thèng Ngoµi viÖc tho¸t khái hÖ thèng nhê c¸c c¸ch thøc trªn ®©y (Ên tæ hîp ba phÝm Ctrl+Alt+Del, dïng lÖnh shutdown hoÆc lÖnh halt), khi cÇn thiÕt (ch¼ng h¹n, gÆp ph¶i t×nh huèng mét tr×nh øng dông ch¹y quÈn) cã thÓ khëi ®éng l¹i hÖ thèng nhê lÖnh reboot. Có ph¸p lÖnh reboot: reboot [tïy-chän] LÖnh nµy cho phÐp khëi ®éng l¹i hÖ thèng. Nãi chung th× chØ siªu ng−êi dïng míi ®−îc phÐp sö dông lÖnh reboot, tuy nhiªn, nÕu hÖ thèng chØ cã duy nhÊt mét ng−êi dïng ®ang lµm viÖc th× lÖnh reboot vÉn ®−îc thùc hiÖn song hÖ thèng ®ßi hái viÖc x¸c nhËn mËt khÈu. C¸c tïy chän cña lÖnh reboot nh− sau lµ -w, -d, -n, -f, -i cã ý nghÜa t−¬ng tù nh− trong lÖnh halt. 2.3. LÖnh thay ®æi mËt khÈu MËt khÈu lµ vÊn ®Ò rÊt quan träng trong c¸c hÖ thèng ®a ng−êi dïng vµ ®Ó ®¶m b¶o tÝnh b¶o mËt tèi ®a, cÇn thiÕt ph¶i chó ý tíi viÖc thay ®æi mËt khÈu. ThËm chÝ trong tr−êng hîp hÖ thèng chØ cã mét ng−êi sö dông th× viÖc thay ®æi mËt khÈu vÉn lµ rÊt cÇn thiÕt. MËt khÈu lµ mét x©u kÝ tù ®i kÌm víi tªn ng−êi dïng ®Ó ®¶m b¶o cho phÐp mét ng−êi vµo lµm viÖc trong hÖ thèng víi quyÒn h¹n ®· ®−îc quy ®Þnh. Trong qu¸ tr×nh ®¨ng nhËp, ng−êi dïng ph¶i gâ ®óng tªn vµ mËt khÈu, trong ®ã gâ mËt khÈu lµ c«ng viÖc b¾t buéc ph¶i thùc hiÖn. Tªn ng−êi dïng cã thÓ ®−îc c«ng khai song mËt khÈu th× tuyÖt ®èi ph¶i ®−îc ®¶m b¶o bÝ mËt. • ViÖc ®¨ng ký tªn vµ mËt khÈu cña siªu ng−êi dïng ®−îc tiÕn hµnh trong qu¸ tr×nh khëi t¹o hÖ ®iÒu hµnh Linux. 30
  11. • ViÖc ®¨ng ký tªn vµ mËt khÈu cña mét ng−êi dïng th«ng th−êng ®−îc tiÕn hµnh khi mét ng−êi dïng míi ®¨ng ký tham gia sö dông hÖ thèng. Th«ng th−êng siªu ng−êi dïng cung cÊp tªn vµ mËt khÈu cho ng−êi dïng míi (cã thÓ do ng−êi dïng ®Ò nghÞ) vµ dïng lÖnh adduser (hoÆc lÖnh useradd) ®Ó ®¨ng ký tªn vµ mËt khÈu ®ã víi hÖ thèng. Sau ®ã, ng−êi dïng míi nhÊt thiÕt cÇn thay ®æi mËt khÈu ®Ó b¶o ®¶m viÖc gi÷ bÝ mËt c¸ nh©n tuyÖt ®èi. LÖnh passwd cho phÐp thay ®æi mËt khÈu øng víi tªn ®¨ng nhËp ng−êi dïng. Có ph¸p lÖnh passwd nh− sau: passwd [tïy-chän] [tªn-ng−êi-dïng] víi c¸c tïy chän nh− sau: -k thay ®æi mËt khÈu ng−êi dïng. LÖnh ®ßi hái ph¶i x¸c nhËn quyÒn b»ng viÖc gâ mËt khÈu ®ang dïng tr−íc khi thay ®æi mËt khÈu. Cho phÐp ng−êi dïng thay ®æi mËt khÈu cña m×nh ®éc lËp víi siªu ng−êi dïng. -f ®Æt mËt khÈu míi cho ng−êi dïng song kh«ng cÇn tiÕn hµnh viÖc kiÓm tra mËt khÈu ®ang dïng. ChØ siªu ng−êi dïng míi cã quyÒn sö dông tham sè nµy. -l khãa mét tµi kho¶n ng−êi dïng. ViÖc khãa tµi kho¶n thùc chÊt lµ viÖc dÞch b¶n m· hãa mËt khÈu thµnh mét x©u ký tù v« nghÜa b¾t ®Çu bëi kÝ hiÖu "!". ChØ siªu ng−êi dïng míi cã quyÒn sö dông tham sè nµy. -stdin viÖc nhËp mËt khÈu ng−êi dïng chØ ®−îc tiÕn hµnh tõ thiÕt bÞ vµo chuÈn kh«ng thÓ tiÕn hµnh tõ ®−êng dÉn (pipe). NÕu kh«ng cã tham sè nµy cho phÐp nhËp mËt khÈu c¶ tõ thiÕt bÞ vµo chuÈn hoÆc tõ ®−êng dÉn. -u më khãa (th¸o bá khãa) mét tµi kho¶n (®èi ngÉu víi tham sè -l). ChØ siªu ng−êi dïng míi cã quyÒn sö dông tham sè nµy. -d xãa bá mËt khÈu cña ng−êi dïng. ChØ siªu ng−êi dïng míi cã quyÒn sö dông tham sè nµy. -S hiÓn thÞ th«ng tin ng¾n gän vÒ tr¹ng th¸i mËt khÈu cña ng−êi dïng ®−îc ®−a ra. ChØ siªu ng−êi dïng míi cã quyÒn sö dông tham sè nµy. NÕu tªn-ng−êi-dïng kh«ng cã trong lÖnh th× ngÇm ®Þnh lµ chÝnh ng−êi dïng ®· gâ lÖnh nµy. VÝ dô khi ng−êi dïng user1 gâ lÖnh: # passwd user1 hÖ thèng th«ng b¸o: Changing password for user user1 31
  12. New UNIX password: ®Ó ng−êi dïng nhËp mËt khÈu míi cña m×nh vµo. Sau khi ng−êi dïng gâ xong mËt khÈu míi, hÖ thèng cho ra th«ng b¸o: BAD PASSWORD: it is derived from your password entry Retype new UNIX password: ®Ó ng−êi dïng kh¼ng ®Þnh mét lÇn n÷a mËt khÈu võa gâ dßng trªn (nhí ph¶i gâ l¹i ®óng hÖt nh− lÇn tr−íc). Chí nªn qu¸ ph©n v©n v× th«ng b¸o ë dßng phÝa trªn v× hÇu hÕt khi gâ mËt khÈu míi lu«n gÆp nh÷ng th«ng b¸o kiÓu ®¹i lo¹i nh− vËy, ch¼ng h¹n nh−: BAD PASSWORD: it is too simplistic/systematic Vµ sau khi chóng ta kh¼ng ®Þnh l¹i mËt khÈu míi, hÖ thèng cho ra th«ng b¸o: Passwd: all authentication tokens updated successfully. cho biÕt viÖc thay ®æi mËt khÈu thµnh c«ng vµ dÊu nh¾c shell l¹i hiÖn ra. Khi siªu ng−êi dïng gâ lÖnh: # passwd -S root sÏ hiÖn ra th«ng b¸o Changing password for user root Password set, MD5 encryption cho biÕt thuËt to¸n m· hãa mËt khÈu mµ Linux sö dông lµ mét thuËt to¸n hµm b¨m cã tªn lµ MD5. L−u ý: Cã mét lêi khuyªn ®èi víi ng−êi dïng lµ nªn chän mËt khÈu kh«ng qu¸ ®¬n gi¶n qu¸ (nh»m tr¸nh ng−êi kh¸c dÔ dß t×m ra) hoÆc kh«ng qu¸ phøc t¹p (tr¸nh khã kh¨n cho chÝnh ng−êi dïng khi ph¶i ghi nhí vµ gâ mËt khÈu). §Æc biÖt kh«ng nªn sö dông hä tªn, ngµy sinh, sè ®iÖn tho¹i ... cña b¶n th©n hoÆc ng−êi th©n lµm mËt khÈu v× ®©y lµ mét trong nh÷ng tr−êng hîp mËt khÈu ®¬n gi¶n nhÊt. NÕu th«ng b¸o mËt khÈu qu¸ ®¬n gi¶n ®−îc lÆp ®i lÆp l¹i mét vµi lÇn vµ kh«ng cã th«ng b¸o mËt khÈu míi thµnh c«ng ®· quay vÒ dÊu nh¾c shell th× nªn gâ l¹i lÖnh vµ chän mét mËt khÈu míi phøc t¹p h¬n ®«i chót. 2.4. LÖnh xem, thiÕt ®Æt ngµy, giê hiÖn t¹i vµ xem lÞch trªn hÖ thèng 2.4.1 LÖnh xem, thiÕt ®Æt ngµy, giê LÖnh date cho phÐp cã thÓ xem hoÆc thiÕt ®Æt l¹i ngµy giê trªn hÖ thèng. Có ph¸p cña lÖnh gåm hai d¹ng, d¹ng xem th«ng tin vÒ ngµy, giê: date [tïy-chän] ... [+®Þnh-d¹ng] vµ d¹ng thiÕt ®Æt l¹i ngµy giê cho hÖ thèng: date [tïy-chän] [MMDDhhmm[ [CC]YY] [.ss]] C¸c tïy-chän nh− sau: -d, --date=x©u-v¨n-b¶n 32
  13. hiÓn thÞ thêi gian d−íi d¹ng x©u-v¨n-b¶n, mµ kh«ng lÊy "thêi gian hiÖn t¹i cña hÖ thèng” nh− theo ngÇm ®Þnh; x©u-v¨n-b¶n ®−îc ®Æt trong hai dÊu nh¸y ®¬n hoÆc hai dÊu nh¸y kÐp. -f, --file=tËp-tin-v¨n-b¶n gièng nh− mét tham sè --date nh−ng øng víi nhiÒu ngµy cÇn xem: mçi dßng cña tËp-tin-v¨n-b¶n cã vai trß nh− mét x©u-v¨n-b¶n trong tr−êng hîp tham sè --date. -I, --iso-8601[=m«-t¶] hiÓn thÞ ngµy giê theo chuÈn ISO-8601 (vÝ dô: 2000-11-8). -I t−¬ng ®−¬ng víi tham sè --iso-8601='date' Víi --iso-8601: nÕu m«-t¶ lµ 'date' (hoÆc kh«ng cã) th× hiÓn thÞ ngµy, nÕu m«-t¶ lµ 'hours' hiÓn thÞ ngµy+giê, nÕu m«-t¶ lµ 'minutes': ngµy+giê+phót; nÕu m«-t¶ lµ 'seconds': ngµy + giê + phót + gi©y. -r, --reference= tËp-tin hiÓn thÞ thêi gian söa ®æi tËp-tin lÇn gÇn ®©y nhÊt. -R, --rfc-822 hiÓn thÞ ngµy theo RFC-822 (vÝ dô: Wed, 8 Nov 2000 09:21:46 -0500). -s, --set=x©u-v¨n-b¶n thiÕt ®Æt l¹i thêi gian theo kiÓu x©u-v¨n-b¶n. -u, --utc, --universal hiÓn thÞ hoÆc thiÕt ®Æt thêi gian theo UTC (vÝ dô: Wed Nov 8 14:29:12 UTC 2000). --help hiÓn thÞ th«ng tin trî gióp vµ tho¸t. Trong d¹ng lÖnh date cho xem th«ng tin ngµy, giê th× tham sè ®Þnh-d¹ng ®iÒu khiÓn c¸ch hiÓn thÞ th«ng tin kÕt qu¶. §Þnh-d¹ng lµ d·y cã tõ mét ®Õn nhiÒu cÆp gåm hai kÝ tù, trong mçi cÆp kÝ tù ®Çu tiªn lµ % cßn kÝ tù thø hai m« t¶ ®Þnh d¹ng. Do sè l−îng ®Þnh d¹ng lµ rÊt nhiÒu v× vËy chóng ta chØ xem xÐt mét sè ®Þnh d¹ng ®iÓn h×nh (®Ó xem ®Çy ®ñ c¸c ®Þnh d¹ng, sö dông lÖnh man date). D−íi ®©y lµ mét sè ®Þnh d¹ng ®iÓn h×nh: %% HiÖn ra chÝnh kÝ tù %. %a HiÖn ra th«ng tin tªn ngµy trong tuÇn viÕt t¾t theo ng«n ng÷ b¶n ®Þa. %A HiÖn ra th«ng tin tªn ngµy trong tuÇn viÕt ®Çy ®ñ theo ng«n ng÷ b¶n ®Þa. %b HiÖn ra th«ng tin tªn th¸ng viÕt t¾t theo ng«n ng÷ b¶n ®Þa. 33
  14. %B HiÖn ra th«ng tin tªn th¸ng viÕt ®Çy ®ñ theo ng«n ng÷ b¶n ®Þa. Trong d¹ng lÖnh date cho phÐp thiÕt ®Æt l¹i ngµy giê cho hÖ thèng th× tham sè [MMDDhhmm[ [CC]YY] [.ss]] m« t¶ ngµy, giê míi cÇn thiÕt ®Æt, trong ®ã: MM: hai sè chØ th¸ng, DD: hai sè chØ ngµy trong th¸ng, hh: hai sè chØ giê trong ngµy, mm: hai sè chØ phót, CC: hai sè chØ thÕ kØ, YY: hai sè chØ n¨m trong thÕ kØ. C¸c dßng ngay d−íi ®©y tr×nh bµy mét sè vÝ dô sö dông lÖnh date, mçi vÝ dô ®−îc cho t−¬ng øng víi mét cÆp hai dßng, trong ®ã dßng trªn m« t¶ lÖnh ®−îc gâ cßn dßng d−íi lµ th«ng b¸o cña Linux. # date Wed Jan 3 23:58:50 ICT 2001 # date -d='01/01/2000' Sat Jan 1 00:00:00 ICT 2000 # date -iso-8601='seconds' 2000-12-01T00:36:41-0500 # date -d='01/01/2001' Mon Jan 1 00:00:00 ICT 2001 # date 010323502001.50 Wed Jan 3 23:50:50 ICT 2001 # date +%a%A Wed Wednesday # date +%a%A%b%B Wed Wednesday Jan January # date +%D%%%j 01/05/01%005 2.4.2. LÖnh xem lÞch LÖnh cal cho phÐp xem lÞch trªn hÖ thèng víi có ph¸p nh− sau: cal [tïy-chän] [ []] nÕu kh«ng cã tham sè, lÞch cña th¸ng hiÖn thêi sÏ ®−îc hiÓn thÞ. C¸c tuú-chän lµ: -m 34
  15. chän ngµy Thø hai lµ ngµy ®Çu tiªn trong tuÇn (mÆc ®Þnh lµ ngµy Chñ nhËt). -j hiÓn thÞ sè ngµy trong th¸ng d−íi d¹ng sè ngµy trong n¨m (vÝ dô: ngµy 1/11/2000 sÏ ®−îc hiÓn thÞ d−íi d¹ng lµ ngµy thø 306 trong n¨m 2000, sè ngµy b¾t ®Çu ®−îc tÝnh tõ ngµy 1/1). -y hiÓn thÞ lÞch cña n¨m hiÖn thêi. VÝ dô: # cal 1 2001 January 2001 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Khi nhËp dßng lÖnh trªn, trªn mµn h×nh sÏ hiÓn thÞ lÞch cña th¸ng 1 n¨m 2001, mÆc ®Þnh chän ngµy chñ nhËt lµ ngµy b¾t ®Çu cña tuÇn. D−íi ®©y lµ vÝ dô hiÓn thÞ sè ngµy trong th¸ng 3 d−íi d¹ng sè ngµy trong n¨m 2001. # cal -j 3 2001 March 2001 Su Mo Tu We Th Fr Sa 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 2.5. LÖnh gäi ng«n ng÷ tÝnh to¸n sè häc Linux cung cÊp mét ng«n ng÷ tÝnh to¸n víi ®é chÝnh x¸c tïy ý th«ng qua lÖnh bc. Khi yªu cÇu lÖnh nµy, ng−êi dïng ®−îc cung cÊp mét ng«n ng÷ tÝnh to¸n (vµ cho phÐp lËp tr×nh tÝnh to¸n cã d¹ng ng«n ng÷ lËp tr×nh C) ho¹t ®éng theo th«ng dÞch. Trong ng«n ng÷ lËp tr×nh ®−îc cung cÊp (t¹m thêi gäi lµ ng«n ng÷ bc), tån t¹i rÊt nhiÒu c«ng cô hç trî tÝnh to¸n vµ lËp tr×nh tÝnh to¸n: kiÓu phÐp to¸n sè häc phong phó, phÐp to¸n so s¸nh, mét sè hµm chuÈn, biÕn chuÈn, cÊu tróc ®iÒu khiÓn, c¸ch thøc ®Þnh nghÜa hµm, c¸ch thøc thay ®æi ®é chÝnh x¸c, ®Æt lêi chó thÝch ... ChØ cÇn sö dông mét phÇn nhá t¸c ®éng cña lÖnh bc, chóng ta ®· cã mét "m¸y tÝnh sè bÊm tay" hiÖu qu¶. Có ph¸p lÖnh bc: bc [tïy-chän] [tËp-tin...] víi c¸c tuú chän sau ®©y: -l, --mathlib 35
  16. thùc hiÖn phÐp tÝnh theo chuÈn th− viÖn to¸n häc (vÝ dô: 5/5=1.00000000000000000000). -w, --warn khi thùc hiÖn phÐp tÝnh kh«ng tu©n theo chuÈn POSIX (POSIX lµ mét chuÈn trong Linux) th× mét c¶nh b¸o xuÊt hiÖn. -s, --standard thùc hiÖn phÐp tÝnh chÝnh x¸c theo chuÈn cña ng«n ng÷ POSIX bc. -q, --quiet kh«ng hiÖn ra lêi giíi thiÖu vÒ phÇn mÒm GNU khi dïng bc. Tham sè tËp-tin lµ tªn tËp tin chøa ch−¬ng tr×nh viÕt trªn ng«n ng÷ bc, khi lÖnh bc thùc hiÖn sÏ tù ®éng ch¹y c¸c tËp tin ch−¬ng tr×nh nµy (NÕu cã nhiÒu tham sè th× cã nghÜa sÏ ch¹y nhiÒu ch−¬ng tr×nh liªn tiÕp nhau). D−íi ®©y lµ mét vÝ dô sö dông lÖnh bc ë d¹ng ®¬n gi¶n nhÊt. Khi gâ lÖnh t¹i dÊu nh¾c: # bc -l mµn h×nh xuÊt hiÖn lêi giíi thiÖu vÒ GNU khi dïng bc vµ ng«n ng÷ bc ®−îc kÝch ho¹t ®Ó phôc vô ng−êi dïng. bc 1.05 Copyright 1991, 1992, 1993, 1994, 1997, 1998 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. 5^3 125 12+12+78*7-62/4 554.50000000000000000000 a=4 a^a 256 a*78 312 b=45 a*b 180 a/b .08888888888888888888 a%b .00000000000000000040 36
  17. ë ®©y * lµ phÐp nh©n, ^ lµ phÐp tÝnh luü thõa, / lµ phÐp chia lÊy th−¬ng, % lµ chia lÊy phÇn d−. L−u ý: Ng«n ng÷ lËp tr×nh tÝnh to¸n bc lµ mét ng«n ng÷ rÊt m¹nh cã néi dung hÕt søc phong phó cho nªn trong khu«n khæ cña cuèn s¸ch nµy kh«ng thÓ m« t¶ hÕt c¸c néi dung cña ng«n ng÷ ®ã ®−îc. Chóng ta cÇn sö dông lÖnh man bc ®Ó nhËn ®−îc th«ng tin ®Çy ®ñ vÒ lÖnh bc vµ ng«n ng÷ tÝnh to¸n bc. ë ®©y tr×nh bµy s¬ bé mét sè yÕu tè c¬ b¶n nhÊt cña ng«n ng÷ ®ã (bt lµ viÕt t¾t cña biÓu thøc, b lµ viÕt t¾t cña biÕn): C¸c phÐp tÝnh: - bt: lÊy ®èi; ++ b, --b, b ++, b --: phÐp to¸n t¨ng, gi¶m b; c¸c phÐp to¸n hai ng«i céng +, trõ -, nh©n *, chia /, lÊy phÇn d− %, lòy thõa nguyªn bËc ^; g¸n =; g¸n sau khi thao t¸c =; c¸c phÐp to¸n so s¸nh =, b»ng ==, kh¸c != ... PhÐp so s¸nh cho 1 nÕu ®óng, cho 0 nÕu sai. Bèn biÕn chuÈn lµ scale sè l−îng ch÷ sè phÇn thËp ph©n; last gi¸ trÞ tÝnh to¸n cuèi cïng; ibase c¬ sè hÖ ®Õm ®èi víi input vµ obase lµ c¬ sè hÖ ®Õm víi output (ngÇm ®Þnh hai biÕn nµy cã gi¸ trÞ 10). C¸c hµm chuÈn sin s (bt); cosin c (bt); arctg a (bt); l«garit tù nhiªn l (bt); mò c¬ sè tù nhiªn e (bt); hµm Bessel bËc nguyªn n cña bt lµ j (n, bt). 2.6. Xem th«ng tin hÖ thèng LÖnh uname cho phÐp xem th«ng tin hÖ thèng víi có ph¸p lµ: uname [tïy-chän] NÕu kh«ng cã tuú chän th× hiÖn tªn hÖ ®iÒu hµnh. LÖnh cã c¸c tïy chän lµ: -a, --all hiÖn tÊt c¶ c¸c th«ng tin. -m, --machine kiÓu kiÕn tróc cña bé xö lý (i386, i486, i586, i686...). -n, --nodename hiÖn tªn cña m¸y. -r, --release hiÖn nh©n cña hÖ ®iÒu hµnh. -s, --sysname hiÖn tªn hÖ ®iÒu hµnh. -p, --processor hiÖn kiÓu bé xö lý cña m¸y chñ. VÝ dô, nÕu gâ lÖnh # uname -a th× mµn h×nh sÏ hiÖn ra nh− sau: 37
  18. Linux linuxsrv.linuxvn.net 2.2.14-5.0 #1 Tue Mar 7 21:07:39 EST 2000 i686 unknown # Th«ng tin hiÖn ra cã tÊt c¶ 6 tr−êng lµ: Tªn hÖ ®iÒu hµnh: Linux Tªn m¸y: linuxsrv.linuxvn.net Tªn nh©n cña hÖ ®iÒu hµnh: 2.2.14-5.0 Ngµy s¶n xuÊt: #1 Tue Mar 7 21:07:39 EST 2000 KiÓu kiÕn tróc bé xö lý: i686 KiÓu bé xö lý cña m¸y chñ: unknown VÝ dô nÕu gâ lÖnh: # uname -spr th× mµn h×nh sÏ hiÖn ra nh− sau: Linux 2.2.14-5.0 unknown lµ tªn hÖ ®iÒu hµnh, tªn nh©n vµ kiÓu bé xö lý cña m¸y chñ. L−u ý: Chóng ta lµm râ thªm néi dung l−u ý trong môc 1.3.1 vÒ tham sè khãa kÕt hîp: Trong vÝ dô trªn ®©y khi viÕt tham sè -spr lµ yªu cÇu thùc hiÖn lÖnh usame víi nghÜa kÕt hîp t×nh huèng theo c¶ ba tham sè khãa -s, -p, -r. Chó ý r»ng, kh«ng thÓ viÕt -s -p -r thay cho -spr ®−îc. Nh− ®· l−u ý ë môc 1.3.1 trong nhiÒu lÖnh cña Linux cho phÐp viÕt kÕt hîp c¸c tham sè khãa theo c¸ch thøc nh− trªn miÔn lµ c¸c tham sè ®ã kh«ng xung kh¾c víi nhau. 2.7. HiÖn dßng v¨n b¶n LÖnh echo hiÖn ra dßng v¨n b¶n ®−îc ghi ngay trong dßng lÖnh cã có ph¸p: echo [tïy-chän]...[x©u ký tù]... víi c¸c tuú chän nh− sau: -n hiÖn x©u ký tù vµ dÊu nh¾c trªn cïng mét dßng. -e bËt kh¶ n¨ng th«ng dÞch ®−îc c¸c ký tù ®iÒu khiÓn. -E t¾t kh¶ n¨ng th«ng dÞch ®−îc c¸c ký tù ®iÒu khiÓn. --help hiÖn hç trî vµ tho¸t. Mét sè b¶n Linux kh«ng hç trî tham sè nµy. VÝ dô, dïng lÖnh echo víi tham sè -e # echo -e ‘thö dïng lÖnh echo \n’ sÏ thÊy hiÖn ra chÝnh dßng v¨n b¶n ë lÖnh: 38
  19. thö dïng lÖnh echo # ë ®©y ký tù ®iÒu khiÓn ‘\n’ lµ ký tù xuèng dßng. 2.8. Thay ®æi néi dung dÊu nh¾c shell Trong Linux cã hai lo¹i dÊu nh¾c: dÊu nh¾c cÊp mét (dÊu nh¾c shell) xuÊt hiÖn khi nhËp lÖnh vµ dÊu nh¾c cÊp hai (dÊu nh¾c nhËp liÖu) xuÊt hiÖn khi lÖnh cÇn cã d÷ liÖu ®−îc nhËp tõ bµn phÝm vµ t−¬ng øng víi hai biÕn nh¾c tªn lµ PS1 vµ PS2. PS1 lµ biÕn hÖ thèng t−¬ng øng víi dÊu nh¾c cÊp 1: Gi¸ trÞ cña PS1 chÝnh lµ néi dung hiÓn thÞ cña dÊu nh¾c shell. §Ó nhËn biÕt th«ng tin hÖ thèng hiÖn t¹i, mét nhu cÇu ®Æt ra lµ cÇn thay ®æi gi¸ trÞ cña c¸c biÕn hÖ thèng PS1 vµ PS2. Linux cho phÐp thay ®æi gi¸ trÞ cña biÕn hÖ thèng PS1 b»ng lÖnh g¸n trÞ míi cho nã. LÖnh nµy cã d¹ng: # PS1='' N¨m (5) kÝ tù ®Çu tiªn cña lÖnh g¸n trªn ®©y (PS1=') ph¶i ®−îc viÕt liªn tiÕp nhau. D·y kÝ tù n»m gi÷a cÆp hai dÊu nh¸y ®¬n (cã thÓ sö dông cÆp hai dÊu kÐp ") vµ kh«ng ®−îc phÐp chøa dÊu nh¸y. D·y kÝ tù nµy bao gåm c¸c cÆp kÝ tù ®iÒu khiÓn vµ c¸c kÝ tù kh¸c, cho phÐp cã thÓ cã dÊu c¸ch. CÆp kÝ tù ®iÒu khiÓn gåm hai kÝ tù, kÝ tù ®Çu tiªn lµ dÊu sæ xu«i "\" cßn kÝ tù thø hai nhËn mét trong c¸c tr−êng hîp liÖt kª trong b¶ng d−íi ®©y. B¶ng d−íi ®©y giíi thiÖu mét sè cÆp ký tù ®iÒu khiÓn cã thÓ ®−îc sö dông khi muèn thay ®æi dÊu nh¾c lÖnh: Ký tù ®iÒu khiÓn ý nghÜa \! HiÓn thÞ thø tù cña lÖnh trong lÞch sö \# HiÓn thÞ thø tù cña lÖnh \$ HiÓn thÞ dÊu ®«-la ($). §èi víi siªu ng−êi dïng (super user), th× hiÓn thÞ dÊu sè hiÖu (#) \\ HiÓn thÞ dÊu sæ (\) \d HiÓn thÞ ngµy hiÖn t¹i \h HiÓn thÞ tªn m¸y (hostname) \n Ký hiÖu xuèng dßng \s HiÓn thÞ tªn hÖ shell \t HiÓn thÞ giê hiÖn t¹i \u HiÓn thÞ tªn ng−êi dïng \W HiÓn thÞ tªn thùc sù cña th− môc hiÖn thêi (vÝ dô th− môc hiÖn thêi lµ /mnt/hda1 th× tªn thùc sù cña nã lµ /hda1) HiÓn thÞ tªn ®Çy ®ñ cña th− môc hiÖn thêi (vÝ dô /mnt/hda1) \w VÝ dô, hiÖn thêi dÊu nh¾c shell cã d¹ng: root@may1 /hda1]# Sau khi chóng ta gâ lÖnh root@may1 /hda1]# PS1='[\h@\u \w : \d]\$' 39
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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