Cuốn sách Linux những điều cơ bản

Ch o mứng ­án vợi "Linux nhỳng ­iãu cỡ bÊn," cuốn thự nhĐt trong bốn

cuốn sĂch hữợng dăn giúp bÔn chuân bà cho b i thi 101 cừa LPI (Linux

Professional Institute). T rong cuốn sĂch hữợng dăn n y , chúng tổi s³ giợi

thiằu vợi bÔn bash (vọ, shell, tiảu chuân cừa Linux), ch¿ cho bÔn cĂch sỷ

dửng th nh thÔo cĂc cƠu lằnh cỡ bÊn cừa Linux nhữ ls, cp v mv, giÊi thẵch

vã ino de, liản kát "cựng" v liản kát "tữủng trững" (hard link v symbolic

links) v nhiãu thự khĂc. Khi kát thúc cuốn sĂch hữợng dăn n y bÔn s³ cõ

kián thực vỳng v ng vã nhỳng ­iãu cỡ bÊn khi sỷ dửng Linux, v thêm chẵ

cỏn sđn s ng bưt ­Ưu hồc cỡ bÊn vã nhiằm vử quÊn trà mÔng Linux. Khi kát

thúc chuội sĂch hữợng dăn n y (tĂm cuốn tĐt cÊ), bÔn s³ cõ kián thực cƯn

thiát ­º trð th nh QuÊn trà viản hằ thống Linux v sđn s ng ­Ôt tợi chựng

ch¿ LPIC bêc I cừa Linux Professional Institute náu bÔn ­Â dỹ ­ành nhữ v êy .

Cuốn sĂch hữợng dăn n y (PhƯn I) nõi riảng l lỵ tữðng vợi nhỳng "ngữới

mợi" vợi Linux, ho°c vợi nhỳng ngữới muốn xem lÔi ho°c cÊi tián sỹ hiºu

biát cừa mẳnh vã nhỳng khĂi niằm cỡ bÊn cừa Linux nhữ sao ch²p (copying)

v di chuyºn (moving) têp tin, tÔo ­ữớng dăn "cựng" v "tữủng trững", v

sỷ dửng cĂc cƠu lằnh "chá bián" v ôn bÊn cỡ bÊn song song vợi "bông chuyãn"

(pipeline) v "chuyºn hữợng" (redirection). Dồc theo cuốn hữợng dăn n y ,

chúng tổi s³ chia s´ vợi cĂc bÔn nhỳng lới gủi ỵ , lới mĂch nữợc v mĂnh lợi ­º

giỳ cho cuốn hữợng dăn thảm phong phú ("ngon ôn") v cõ tẵnh thỹc dửng,

thêm chẵ cho cÊ nhỳng ai cõ kinh nghiằm sỷ dửng Linux ­Ăng kº. V ợi nhỳng

"ngữới bưt ­Ưu", nhiãu t i liằu cừa cuốn hữợng dăn n y s³ mợi, những vợi

5

6 CHìèNG 1. TRìẻC KHI B T ?U

nhỳng ngữới sỷ dửng Linux kinh nghiằm cõ thº tẳm thĐy cuốn hữợng dăn

n y nhữ mởt cĂch tuyằt với ­º "l m b²o thảm" kÿ nông Linux cỡ bÊn.

V ợi nhỳng ai ­Â qua phĂt h nh (release) 1 cừa cuốn hữợng dăn n

pdf35 trang | Chia sẻ: oanh_nt | Lượt xem: 1222 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Cuốn sách Linux những điều cơ bản, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Luyằn thi chựng ch¿ LPI 101 (phỏt hành 2). PhƯn I Giợi thiằu bði cỏc nhà phỏt triºn developerWorks IBM, nguỗn cừa cỏc cuốn sỏch hượng dăn tuyằt với ibm.com/developerWorks Dàch bði: Phan Vĩnh Thành Mửc lửc 1 Trược khi bưt đƯu 5 1.1 Vã cuốn sỏch hượng dăn này . . . . . . . . . . . . . . . . . . . 5 1.2 Vã tỏc giÊ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2 Giợi thiằu vã bash 7 2.1 Vọ (shell) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2 Cú phÊi bÔn đang chÔy bash khụng? . . . . . . . . . . . . . . 7 2.3 Vã bash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.4 Sỷ dửng cd . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.5 Đướng dăn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.6 Đướng dăn tuyằt đối . . . . . . . . . . . . . . . . . . . . . . . 9 2.7 Đướng dăn tương đối . . . . . . . . . . . . . . . . . . . . . . . 9 2.8 Sỷ dửng .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.9 Sỷ dửng .., tiáp theo . . . . . . . . . . . . . . . . . . . . . . . 10 2.10 Vớ dử đướng dăn tương đối . . . . . . . . . . . . . . . . . . . . 10 2.11 Hóy hiºu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.12 cd và thư mửc nhà . . . . . . . . . . . . . . . . . . . . . . . . 11 2.13 Thư mửc nhà cừa nhỳng ngưới sỷ dửng khỏc . . . . . . . . . . 12 3 Sỷ dửng cỏc cõu lằnh cừa Linux 13 3.1 Giợi thiằu ls . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.2 Danh sỏch thư mửc loÔi dài . . . . . . . . . . . . . . . . . . . 13 3.3 Danh sỏch thư mửc loÔi dài, tiáp theo . . . . . . . . . . . . . . 14 3.4 Xem thư mửc . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.5 Danh sỏch inode và danh sỏch đằ qui (recursive) . . . . . . . . 15 3.6 Hóy hiºu inode, PhƯn 1 . . . . . . . . . . . . . . . . . . . . . . 15 3.7 Hóy hiºu inode, phƯn 2 . . . . . . . . . . . . . . . . . . . . . . 16 3.8 Hóy hiºu inode, PhƯn 3 . . . . . . . . . . . . . . . . . . . . . . 16 2 MệC LệC 3 3.9 mkdir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.10 mkdir -p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.11 touch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.12 echo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.13 echo và sỹ chuyºn hượng . . . . . . . . . . . . . . . . . . . . . 18 3.14 cat và cp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.15 mv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4 TÔo liờn kát và xúa tằp tin 21 4.1 Liờn kát cựng . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4.2 Liờn kát cựng, tiáp theo . . . . . . . . . . . . . . . . . . . . . 21 4.3 Liờn kát tưủng trưng . . . . . . . . . . . . . . . . . . . . . . . 22 4.4 Liờn kát tưủng trưng, tiáp theo . . . . . . . . . . . . . . . . . 22 4.5 Sõu hơn vã liờn kát tưủng trưng, phƯn 1 . . . . . . . . . . . . 22 4.6 Sõu hơn vã liờn kát tưủng trưng, phƯn 2 . . . . . . . . . . . . 23 4.7 Sõu hơn vã liờn kát tưủng trưng, phƯn 3 . . . . . . . . . . . . 23 4.8 Sõu hơn vã liờn kát tưủng trưng, phƯn 4 . . . . . . . . . . . . 23 4.9 Sõu hơn vã liờn kát tưủng trưng, phƯn 5 . . . . . . . . . . . . 24 4.10 Sõu hơn vã liờn kát tưủng trưng, phƯn 6 . . . . . . . . . . . . 24 4.11 rm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.12 rmdir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.13 rm và thư mửc . . . . . . . . . . . . . . . . . . . . . . . . . . 26 5 Sỷ dửng cỏc ký tỹ đÔi diằn (wildcard) 28 5.1 Giợi thiằu vã ký tỹ đÔi diằn . . . . . . . . . . . . . . . . . . . 28 5.2 Giợi thiằu vã ký tỹ đÔi diằn, tiáp theo . . . . . . . . . . . . . . 28 5.3 Hiºu vã khụng tương ựng . . . . . . . . . . . . . . . . . . . . . 29 5.4 Hiºu vã khụng tương ựng, tiáp theo . . . . . . . . . . . . . . . 29 5.5 Cỳ phỏp đÔi diằn: * . . . . . . . . . . . . . . . . . . . . . . . . 30 5.6 Cỳ phỏp đÔi diằn: ? . . . . . . . . . . . . . . . . . . . . . . . . 30 5.7 Cỳ phỏp đÔi diằn: [] . . . . . . . . . . . . . . . . . . . . . . . . 30 5.8 Cỳ phỏp đÔi diằn: [!] . . . . . . . . . . . . . . . . . . . . . . . 31 5.9 Đào sõu vã đÔi diằn . . . . . . . . . . . . . . . . . . . . . . . . 31 5.10 Đào sõu vã đÔi diằn, tiáp theo . . . . . . . . . . . . . . . . . . 32 5.11 Ngo°c đơn "g°p" ngo°c kộp . . . . . . . . . . . . . . . . . . . 32 4 MệC LệC 6 Tờng kát và cỏc nguỗn bờ trủ 33 6.1 Tờng kát . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 6.2 Cỏc nguỗn bờ trủ . . . . . . . . . . . . . . . . . . . . . . . . . 33 6.3 í kián tứ phớa bÔn . . . . . . . . . . . . . . . . . . . . . . . . 34 6.4 Lới ghi cuối sỏch . . . . . . . . . . . . . . . . . . . . . . . . . 34 Chương 1 Trược khi bưt đƯu 1.1 Vã cuốn sỏch hượng dăn này Chào mứng đán vợi "Linux nhỳng điãu cơ bÊn," cuốn thự nhĐt trong bốn cuốn sỏch hượng dăn giỳp bÔn chuân bà cho bài thi 101 cừa LPI (Linux Professional Institute). Trong cuốn sỏch hượng dăn này, chỳng tụi s³ giợi thiằu vợi bÔn bash (vọ, shell, tiờu chuân cừa Linux), ch¿ cho bÔn cỏch sỷ dửng thành thÔo cỏc cõu lằnh cơ bÊn cừa Linux như ls, cp và mv, giÊi thớch vã inode, liờn kát "cựng" và liờn kát "tưủng trưng" (hard link và symbolic links) và nhiãu thự khỏc. Khi kát thỳc cuốn sỏch hượng dăn này bÔn s³ cú kián thực vỳng vàng vã nhỳng điãu cơ bÊn khi sỷ dửng Linux, và thêm chớ cũn sđn sàng bưt đƯu hồc cơ bÊn vã nhiằm vử quÊn trà mÔng Linux. Khi kát thỳc chuội sỏch hượng dăn này (tỏm cuốn tĐt cÊ), bÔn s³ cú kián thực cƯn thiát đº trð thành QuÊn trà viờn hằ thống Linux và sđn sàng đÔt tợi chựng ch¿ LPIC bêc I cừa Linux Professional Institute náu bÔn đó dỹ đành như vêy. Cuốn sỏch hượng dăn này (PhƯn I) núi riờng là lý tưðng vợi nhỳng "ngưới mợi" vợi Linux, ho°c vợi nhỳng ngưới muốn xem lÔi ho°c cÊi tián sỹ hiºu biát cừa mỡnh vã nhỳng khỏi niằm cơ bÊn cừa Linux như sao chộp (copying) và di chuyºn (moving) têp tin, tÔo đướng dăn "cựng" và "tưủng trưng", và sỷ dửng cỏc cõu lằnh "chá bián" văn bÊn cơ bÊn song song vợi "băng chuyãn" (pipeline) và "chuyºn hượng" (redirection). Dồc theo cuốn hượng dăn này, chỳng tụi s³ chia s´ vợi cỏc bÔn nhỳng lới gủi ý, lới mỏch nược và mỏnh lợi đº giỳ cho cuốn hượng dăn thờm phong phỳ ("ngon ăn") và cú tớnh thỹc dửng, thêm chớ cho cÊ nhỳng ai cú kinh nghiằm sỷ dửng Linux đỏng kº. Vợi nhỳng "ngưới bưt đƯu", nhiãu tài liằu cừa cuốn hượng dăn này s³ mợi, nhưng vợi 5 6 CHƯƠNG 1. TRƯẻC KHI BT ІU nhỳng ngưới sỷ dửng Linux kinh nghiằm cú thº tỡm thĐy cuốn hượng dăn này như mởt cỏch tuyằt với đº "làm bộo thờm" kÿ năng Linux cơ bÊn. Vợi nhỳng ai đó qua phỏt hành (release) 1 cừa cuốn hượng dăn này vợi mửc đớch khỏc hơn là chuân bà thi LPI, bÔn cú khÊ năng khụng cƯn phỏt hành 2. Tuy nhiờn, náu bÔn cú dỹ tớnh vưủt qua kỳ thi LPI, bÔn nờn lưu ý đồc bÊn đó ch¿nh sỷa này. 1.2 Vã tỏc giÊ Cư trỳ tÔi Albuquerque, New Mexico, Daniel Robbins là kián trỳc trưðng cừa Gentoo Linux, mởt bÊn phõn phối Linux cao cĐp. Tỏc giÊ cũn viát cỏc bài bỏo, sỏch hượng dăn, nhỳng lới mỏch nược cho IBM developerWorks và Intel Developer Services và là tỏc giÊ đúng gúp cừa vài cuốn sỏch, gỗm cú Samba Unleashed và SuSE Linux Unleashed. Daniel thớch thỳ sỷ dửng thới gian vợi vủ, Mary, và con gỏi, Hadassah. BÔn cú thº liờn hằ vợi Daniel qua tÔi drobbins@gentoo.org. Vợi nhỳng cõu họi kÿ thuêt vã nởi dung cừa cuốn hượng dăn này, liờn hằ vợi tỏc giÊ, Daniel Robbins, tÔi drobbins@gentoo.org. Chương 2 Giợi thiằu vã bash 2.1 Vọ (shell) Náu bÔn đó tứng sỷ dửng hằ điãu hành Linux, bÔn biát khi đó đăng nhêp, bÔn đưủc đún chào bði dĐu nhưc trụng như sau: $ DĐu nhưc bÔn thĐy núi riờng cú thº trụng khỏc mởt chỳt. Nú cú thº chựa tờn mỏy, tờn cừa thư mửc hiằn thới, ho°c cÊ hai. Tuy nhiờn, bĐt kº là giĐu nhưc cừa bÔn trụng như thá nào, cú ký hiằu đú là chưc chưn. Chương trỡnh in dĐu nhưc gồi là "vọ" (shell), và rĐt cú thº vọ shell cừa riờng bÔn là chương trỡnh đưủc gồi bash. 2.2 Cú phÊi bÔn đang chÔy bash khụng? BÔn cú thº kiºm tra xem náu bÔn đang chÔy bash hay khụng bơng cỏch gừ: $ echo $SHELL /bin/bash Náu dũng trờn cho ra lội ho°c đỏp lÔi khụng giống vợi vớ dử, thỡ bÔn cú thº đang chÔy vọ shell khỏc bash. Trong trướng hủp đú, phƯn lợn cừa cuốn hượng dăn này văn đưủc ỏp dửng, nhưng chuyºn qua bash rĐt cú lủi cho bÔn vợi mửc đớch chuân bà cho kỳ thi 101. (Cuốn hượng dăn tiáp theo trong chuội này, vã quÊn trà cơ bÊn, bao hàm viằc thay đời vọ shell cho ngưới dựng bơng cõu lằnh chsh.) 7 8 CHƯƠNG 2. GIẻI THI›U V— BASH 2.3 Vã bash Bash, viát tưt cừa "Bourne-again shell"1, là vọ shell theo m°c đành trờn hƯu hát cỏc hằ điãu hành Linux. Cụng viằc cừa vọ shell là tuõn theo cỏc cõu lằnh cừa ngưới dựng, vỡ thá bÔn cú thº tỏc đởng qua lÔi vợi hằ điãu hành Linux cừa bÔn. Khi bÔn nhêp xong cõu lằnh, bÔn cú thº ch¿ thà cho vọ shell exit, thoỏt ra, hay logout, đăng xuĐt, tÔi thới điºm này bÔn s³ đưủc đưa trð lÔi dĐu nhưc đăng nhêp. Nhõn tiằn, bÔn cú thº đăng xuĐt bơng cỏch gừ control-D tÔi dĐu nhưc bash. 2.4 Sỷ dửng cd Như bÔn đó thĐy, nhỡn chơm chơm vào dĐu nhưc bash khụng phÊi là điãu thớch thỳ nhĐt trờn thá gian :). Vỡ vêy, hóy bưt đƯu sỷ dửng bash đº "đi dÔo" vũng quanh hằ thống tằp tin. TÔi dĐu nhưc, gừ cõu lằnh sau (khụng gừ dĐu $ ): $ cd / Chỳng ta vứa núi vợi bash rơng bÔn muốn làm viằc tÔi /, đưủc biát đán như thư mửc root ; tĐt cÊ thư mửc trờn hằ thống tÔo thành mởt cõy thư mửc, và / đưủc xem như thư mửc cao nhĐt cừa cõy này, hay là gốc rạ (root). cd thiát lêp thư mửc mà ð đú bÔn đang làm viằc, đưủc biát đán như "thư mửc hiằn thới". 2.5 Đướng dăn Đº thĐy thư mửc hiằn thới cừa bash, bÔn cú thº gừ: $ pwd / Trong vớ dử phớa trờn, đối số / cho cd gồi là đướng dăn (path). Đối số thụng bỏo cho cd biát nơi chỳng ta muốn đi đán. Trong trướng hủp này núi 1Chỳ thớch cừa ngưới dàch: Bourne-again shell là mởt cỏch chơi chỳ tiáng Anh. "Bourne" đồc giống như borne (sinh ra, đ´ ra). 2.6. ĐƯÍNG DˆN TUY›T ĐẩI 9 riờng, đối số / là đướng dăn tuyằt đối, cú nghĩa là nú ch¿ rừ mởt và trớ đối vợi gốc (root) cừa cõy hằ thống tằp tin. 2.6 Đướng dăn tuyằt đối Dượi đõy là mởt số đướng dăn tuyằt đối khỏc: /dev /usr /usr/bin /usr/local/bin Như bÔn cú thº thĐy, tĐt cÊ đướng dăn tuyằt đối cú mởt điºm chung là bưt đƯu vợi /. Vợi đướng dăn /usr/local/bin, chỳng ta thụng bỏo cho cd chuyºn vào thư mửc /, sau đú thư mửc usr dượi nú, và sau đú local và bin. Đướng dăn tuyằt đối luụn luụn nhên ra bði sỹ bưt đƯu bơng /. 2.7 Đướng dăn tương đối Mởt loÔi đướng dăn khỏc là đướng dăn tương đối. Bash, cd, và cỏc cõu lằnh khỏc luụn luụn biờn dàch nhỳng đướng dăn này tương đối vợi thư mửc hiằn thới. Đướng dăn tương đối khụng bao giớ bưt đƯu vợi mởt /. Vỡ thá, náu chỳng ta đang trong thư mửc /usr. $ cd /usr Sau đú, chỳng ta cú thº dựng đướng dăn tương đối đº thay đời tợi thư mửc /usr/local/bin: $ cd local/bin $ pwd /usr/local/bin 2.8 Sỷ dửng .. Đướng dăn tương đối cú thº chựa đỹng mởt hay nhiãu thư mửc "..". Thư mửc .. là thư mửc đ°c biằt ch¿ tợi thư mửc "bố". Vỡ thá, tiáp tửc vớ dử ð trờn: 10 CHƯƠNG 2. GIẻI THI›U V— BASH $ pwd /usr/local/bin $ cd .. $ pwd /usr/local Như bÔn cú thº thĐy, thư mửc hiằn thới cừa chỳng ta bõy giớ là /usr/local. Chỳng ta đó "quay trð lÔi" mởt thư mửc, tương đối vợi thư mửc hiằn thới lỳc đƯu. 2.9 Sỷ dửng .., tiáp theo Thờm vào đú, chỳng ta cú thº thờm .. vào đướng dăn tương đối đó cú, cho phộp đi tợi mởt thư mửc nơm "ká bờn" thư mửc đang ð, vớ dử: $ pwd /usr/local $ cd ../share $ pwd /usr/share 2.10 Vớ dử đướng dăn tương đối Đướng dăn tương đối cú thº khỏ phực tÔp. Sau đõy là mởt số vớ dử, cỏc thư mửc kát quÊ khụng đưủc hiºn thà. Hóy thỷ hỡnh dung xem bÔn s³ đi tợi đõu sau khi gừ nhỳng cõu lằnh sau: $ cd /bin $ cd ../usr/share/zoneinfo $ cd /usr/X11R6/bin $ cd ../lib/X11 $ cd /usr/bin $ cd ../bin/../bin Bõy giớ, hóy thỷ gừ chỳng và xem bÔn đó hỡnh dung đỳng khụng :) 2.11. HÃY HIšU . 11 2.11 Hóy hiºu . Trược khi kát thỳc bài giÊng cừa chỳng ta vã cd, cú mởt vài điãu tụi muốn đã cêp đán. ĐƯu tiờn, cú mởt thư mửc đ°c biằt khỏc gồi là ., cú ý nghĩa "thư mửc hiằn thới". Trong khi thư mửc này khụng đưủc sỷ dửng vợi cõu lằnh cd, nú thướng đưủc sỷ dửng đº thỹc thi mởt số chương trỡnh trong thư mửc hiằn thới, giống như sau: $ ./myprog é vớ dử trờn tằp tin cú thº thỹc thi myprog nơm tÔi thư mửc hiằn thới s³ đưủc thỹc thi. 2.12 cd và thư mửc nhà Náu chỳng ta muốn thay đời tợi thư mửc nhà (home directory), cú thº gừ: $ cd Khụng cú đối số , cd s³ thay đời tợi thư mửc nhà cừa bÔn, s³ là /root cho ngưới dựng cao cĐp (superuser) và điºn hỡnh là /home/username cho ngưới dựng bỡnh thướng. Nhưng náu chỳng ta muốn ch¿ rừ mởt tằp tin trong thư mửc nhà thỡ sao? Cú thº là chỳng ta muốn đưa tằp tin như là đối số cho cõu lằnh myprog. Náu tằp tin trỳ ngử trong thư mửc nhà, cú thº gừ: $ ./myprog /home/teppi82/myfile.txt2 Tuy nhiờn, sỷ dửng đướng dăn tuyằt đối như vêy khụng phÊi lỳc nào cũng tiằn lủi. RĐt may, chỳng ta cú thº sỷ dửng ký tỹ ∼ (dĐu ngó) đº làm viằc tương tỹ: $ ./myprog ∼/myfile.txt 2chỳ thớch cừa ngưới dàch: trong vớ dử này ngưới dựng cú tờn, username, là teppi82 ;) 12 CHƯƠNG 2. GIẻI THI›U V— BASH 2.13 Thư mửc nhà cừa nhỳng ngưới sỷ dửng khỏc Bash s³ khai triºn ký tỹ ∼ đựng mởt mỡnh đº ch¿ thư mửc nhà cừa bÔn, nhưng bÔn cũng cú thº sỷ dửng nú đº ch¿ thư mửc nhà cừa nhỳng ngưới sỷ dửng khỏc. Vớ dử, náu chỳng ta muốn ch¿ đán tằp tin girls.txt trong thư mửc nhà cừa James, cú thº gừ: $ ./myprog ∼james/girls.txt Chương 3 Sỷ dửng cỏc cõu lằnh cừa Linux 3.1 Giợi thiằu ls Bõy giớ, chỳng ta s³ xem qua cõu lằnh ls. RĐt cú thº là bÔn đó làm quen vợi ls và biát rơng ch¿ gừ cõu lằnh này (khụng cú tham số) liằt kờ nởi dung cừa thư mửc hiằn thới: $ cd /usr $ ls bin doc games include info lib local sbin share src X11R61 Bơng viằc ch¿ rừ tựy chồn -a, bÔn cú thº thĐy tĐt cÊ tằp tin cừa mởt thư mửc, bao gỗm cỏc tằp tin đưủc che giĐu (hiđen files): nhỳng cỏi mà bưt đƯu vợi .. Như bÔn cú thº thĐy trong vớ dử sau, ls -a đưa ra cÊ cỏc thư mửc liờn kát đ°c biằt . và .. : $ ls -a . .. bin doc games include info lib local sbin share src X11R6 3.2 Danh sỏch thư mửc loÔi dài BÔn cũng cú thº ch¿ rừ mởt hay nhiãu tằp tin hay thư mửc trờn dũng lằnh ls. Náu bÔn ch¿ rừ mởt tằp tin, ls s³ ch¿ hiºn thà ra cú tằp tin đú mà thụi. Náu bÔn 1chỳ thớch cừa ngưới dàch: trong vớ dử này và mởt số phớa dượi, kát quÊ thu đưủc là trờn Debian Linux, kát quÊ trong nguyờn bÊn cú khỏc 13 14 CHƯƠNG 3. SÛ DệNG CÁC CÂU L›NH CếA LINUX ch¿ rừ mởt thư mửc, ls s³ hiºn thà ra nởi dung cừa thư mửc. Tựy chồn -l rĐt thuên tiằn khi bÔn cƯn xem cỏc thụng tin như quyãn hÔn (permissions), sð hỳu (ownership), thới gian sỷa đời (modification time), và kớch thược (size) trong danh sỏch thư mửc. 3.3 Danh sỏch thư mửc loÔi dài, tiáp theo Trong vớ dử dượi đõy, chỳng ta sỷ dửng tựy chồn -l đº hiºn thà danh dỏch đƯy đừ cừa thư mửc /usr. $ ls -l /usr total 122 drwxr-xr-x 2 root root 53104 2004-08-29 02:17 bin drwxr-xr-x 2 root root 2336 2004-06-22 19:51 doc drwxr-xr-x 2 root root 3088 2004-06-01 15:44 games drwxr-xr-x 46 root root 5528 2004-06-13 16:33 include lrwxrwxrwx 1 root root 10 2004-05-31 22:29 info -> share/info drwxr-xr-x 138 root root 43384 2004-08-29 00:28 lib drwxrwsr-x 11 root staff 272 2004-06-05 04:06 local drwxr-xr-x 2 root root 6760 2004-08-29 00:28 sbin drwxr-xr-x 236 root root 6360 2004-06-22 19:31 share drwxrwsr-x 5 teppi82 src 136 2004-08-28 21:58 src drwxr-xr-x 6 root root 144 2004-05-31 22:53 X11R6 Cởt thự nhĐt hiºn thà thụng tin quyãn hÔn cho tứng mửc trong danh sỏch. Mởt chỳt nỳa tụi s³ giÊi thớch cỏch dàch thụng tin này. Cởt tiáp theo hiºn thà số liờn kát (links) cho mội mửc cừa hằ thống tằp tin, chỳng ta s³ tÔm thới cĐt lÔi nhưng s³ trð lÔi sau. Cởt thự ba và cởt thự tư, tương ựng, ngưới sð hỳu (owner) và nhúm (group). Cởt thự năm liằt kờ kớch thược. Cởt thự sỏu là "thới gian sỷa đời gƯn nhĐt" ("last modified" time) hay "mtime" cừa cỏc mửc. Cởt cuối cựng là tờn gồi. Náu tằp tin là liờn kát tưủng trưng (symbolic link), bÔn s³ thĐy dĐu -> và đướng dăn tợi nơi mà liờn kát ch¿ đán.2. 2chỳ thớch cừa ngưới dàch: trong vớ dử trờn info là mởt trướng hủp như vêy 3.4. XEM THƯ MệC 15 3.4 Xem thư mửc Đụi khi bÔn ch¿ muốn xem thư mửc, khụng quan tõm nởi dung ð trong. Cho nhỳng trướng hủp này, bÔn cú thº ch¿ rừ tựy chồn -d, đº núi vợi ls xem bĐt kỳ thư mửc nào: $ ls -dl /usr /usr/bin /usr/X11R6/bin ../share drwxr-xr-x 241 root root 6488 2004-09-02 18:21 ../share drwxr-xr-x 12 root root 312 2004-05-31 22:29 /usr drwxr-xr-x 2 root root 53208 2004-09-02 18:21 /usr/bin drwxr-xr-x 2 root root 3984 2004-06-22 19:30 /usr/X11R6/bin 3.5 Danh sỏch inode và danh sỏch đằ qui (recursive) Như vêy bÔn cú thº sỷ dửng -d đº xem thư mửc, nhưng đỗng thới bÔn cũng cú thº dựng -R đº làm điãu ngưủc lÔi: khụng ch¿ xem nởi dung thư mửc, mà cũn xem tĐt cÊ cỏc tằp và thư mửc bờn trong cừa thư mửc đú (Xem toàn bở)! Chỳng tụi khụng đưa ra vớ dử nào cho tựy chồn này (vỡ nú thướng to), nhưng bÔn cú thº muốn thỷ mởt vài lƯn cõu lằnh ls -R và ls -Rl đº biát chỳng làm viằc như thá nào. Cuối cựng, tựy chồn -i cừa ls cú thº sỷ dửng đº hiºn thà trong danh sỏch số inode cừa cỏc vêt thº hằ thống têp tin: $ ls -i /usr 685 bin 917 include 9352 local 920 src 915 doc 918 info 706 sbin 12522 X11R6 916 games 919 lib 708 share 3.6 Hóy hiºu inode, PhƯn 1 Mồi vêt thº trờn mởt hằ thống têp tin đưủc xỏc đành mởt ch¿ số (index) duy nhĐt, gồi là ch¿ số inode. Cỏi này cú v´ tƯm thướng, nhưng am hiºu inode là cƯn thiát đº hiºu nhiãu thao tỏc vợi hằ thống têp tin. Vớ dử, xem xột cỏc liờn kát . và .. mà xuĐt hiằn trong mồi thư mửc. Đº hiºu đƯy đừ thư mửc .. thỹc sỹ là gỡ, đƯu tiờn chỳng ta xem ch¿ số inode cừa /usr/local: 16 CHƯƠNG 3. SÛ DệNG CÁC CÂU L›NH CếA LINUX $ ls -id /usr/local 9352 /usr/local Thư mửc /usr/local cú ch¿ số inode là 9352. Cũn bõy giớ, hóy xem ch¿ số inode cừa mbox/usr/local/bin/..: $ ls -id /usr/local/bin/.. 9352 /usr/local/bin/.. 3.7 Hóy hiºu inode, phƯn 2 Như bÔn cú thº thĐy, /usr/local/bin/.. cú cựng ch¿ số inode vợi /usr/local! é đõy là cỏch chỳng ta tián tợi sỹ hiºu thĐu vợi khỏm phỏ gõy "sốc" này. Trược đõy, chỳng ta xem xột /usr/local tỹ nú là thư mửc. Bõy giớ, chỳng ta khỏm phỏ ra inode 9352 trờn thỹc tá là thư mửc, và tỡm thĐy hai mửc (gồi là "liờn kát") ch¿ tợi inode này. CÊ /usr/local và /usr/local/bin/.. đãu liờn kát tợi inode 9352. M°c dự inode 9352 ch¿ tỗn tÔi ð mởt nơi trờn đĩa, nhiãu cỏi cú thº liờn kát tợi nú. Inode 9352 là mửc thêt sỹ trờn đĩa. 3.8 Hóy hiºu inode, PhƯn 3 Trờn thỹc tá, chỳng ta cú thº thĐy tờng số lƯn mà inode 9352 đưủc liờn kát đán, dựng cõu lằnh ls -dl : $ ls -dl /usr/local drwxrwsr-x 11 root staff 272 2004-06-05 04:06 /usr/local Náu nhỡn vào cởt thự hai tứ bờn trỏi, chỳng ta s³ thĐy rơng thư mửc /usr/local (inode 9352) đưủc liờn kát đán mưới mởt lƯn. Đõy là cỏc đướng dăn khỏc nhau, liờn kát đán inode này trờn hằ điãu hành cừa tụi: /usr/local /usr/local/. /usr/local/bin/.. /usr/local/games/.. /usr/local/lib/.. /usr/local/sbin/.. 3.9. MKDIR 17 /usr/local/share/.. /usr/local/src/.. /usr/local/j2sdk1.4.2/.. /usr/local/man/.. /usr/local/include/.. 3.9 mkdir Hóy xem xột nhanh cõu lằnh mkdir, lằnh cú thº sỷ dửng đº tÔo thư mửc mợi. Vớ dử dượi đõy tÔo 3 thư mửc mợi, co, ca, ro, tĐt cÊ dượi /tmp: $ cd /tmp $ mkdir co ca ro Theo m°c đành, cõu lằnh mkdir khụng tÔo thư mửc mà cho bÔn; toàn bở đướng dăn tứ phƯn tỷ tiáp theo đán phƯn tỷ cuối cựng phÊi tỗn tÔi. Vỡ vêy, náu bÔn muốn tÔo cỏc thư mửc co/gai/dep, bÔn cƯn đưa ra ba cõu lằnh mkdir riờng biằt: $ mkdir co/gai/dep mkdir: cannot create directory ‘co/gai/dep’: Not a directory $ mkdir co $ mkdir co/gai $ mkdir co/gai/dep 3.10 mkdir -p Tuy nhiờn, mkdir cú tựy chồn -p rĐt thuên tiằn, thụng bỏo cho mkdir tÔo bĐt kỳ thư mửc mà nào náu chưa cú, như bÔn cú thº thĐy ð đõy: $ mkdir -p de/nhu/an/chao/ga Núi chung, khụng phực tÔp đàp mưt. Đº hồc thờm vã cõu lằnh mkdir, gừ man mkdir và đồc trang hượng dăn sỷ dửng (manual page). Cỏch này cũng làm viằc vợi gƯn như tĐt cÊ cỏc cõu lằnh bao hàm ð đõy (vớ dử, man ls), trứ cd, vỡ cd gưn liãn (built-in) vào bash. 18 CHƯƠNG 3. SÛ DệNG CÁC CÂU L›NH CếA LINUX 3.11 touch Bõy giớ, chỳng ta s³ xem xột nhanh cỏc cõu lằnh cp và mv, sỷ dửng đº sao chộp, đời tờn, và di chuyºn tằp tin, thư mửc. Đº bưt đƯu cỏi tờng quan này, thự nhĐt chỳng ta s³ sỷ dửng cõu lằnh touch đº tÔo mởt tằp tin trong /tmp: $ cd /tmp $ touch saochepem Cõu lằnh touch cêp nhêt "mtime" cừa mởt tằp tin náu tằp tin đú đó cú (nhưc lÔi cởt thự sỏu trong kát quÊ cừa ls -l). Nát tằp tin khụng tỗn tÔi, thỡ mởt tằp tin mợi, rộng s³ đưủc tÔo ra. Bõy giớ bÔn đó cú tằp tin /tmp/saochepem vợi kớch thược bơng khụng. 3.12 echo Bõy giớ khi đó cú tằp tin, hóy thờm vào đú mởt số dỳ liằu. Chỳng ta cú thº làm điãu này, sỷ dửng cõu lằnh echo, lằnh lĐy đối số và in chỳng ð thiát bà ra tiờu chuân3(standard output). ĐƯu tiờn, ch¿ mởt mỡnh lằnh echo: $ echo "tepdautien" tepdautien 3.13 echo và sỹ chuyºn hượng Bõy giớ, văn cõu lằnh echo vợi sỹ chuyºn hượng kát quÊ (output redirection): $ echo "tepdautien" > saochepem DĐu lợn hơn núi vợi vọ shell viát kát quÊ cừa echo vào tằp tin saochepem. Tằp tin này s³ đưủc tÔo ra náu chưa cú, và s³ bà viát đố lờn náu đó cú. Bơng cỏch gừ ls -l, chỳng ta cú thº thĐy tằp tin saochepem "dài" 11 byte, vỡ nú chựa tứ tepdautien và ký tỹ dũng mợi: $ ls -l saochepem -rw-r–r– 1 teppi82 thang 11 2004-09-02 18:56 saochepem 3chỳ thớch cừa ngưới dàch: thụng thướng là màn hỡnh 3.14. CAT VÀ CP 19 3.14 cat và cp Đº hiºn thà nởi dung tằp tin trờn thiát bà đƯu cuối (terminal), sỷ dửng cõu lằnh cat : $ cat saochepem tepdautien Bõy giớ, chỳng ta cú thº sỷ dửng "cõu thƯn chỳ" cơ bÊn cừa lằnh cp đº tÔo tằp tin embansao tứ tằp tin gốc saochepem: $ cp saochepem embansao Dỹa trờn sỹ nghiờn cựu, chỳng ta thĐy đõy là nhỳng tằp tin thêt sỹ riờng r³; ch¿ số inode cừa chỳng khỏc nhau: $ ls -i saochepem embansao 471627 embansao 471620 saochepem 3.15 mv Bõy giớ, hóy sỷ dửng cõu lằnh mv đº đời tờn "embansao" thành "em- bichuyen". Số inode cừa chỳng s³ văn khụng thay đời; tuy nhiờn, tờn tằp tin ch¿ đán inode đú s³ khỏc. $ mv embansao embichuyen $ ls -i embichuyen 471627 embichuyen Số inode cừa tằp tin bà chuyºn s³ văn khụng thay đời đỗng thới tằp tin thu đưủc nơm trờn cựng hằ thống têp tin như tằp tin nguỗn. Chỳng ta s³ cú cỏi nhỡn gƯn hơn vã hằ thống têp tin tÔi PhƯn 3 cừa chuội sỏch hượng dăn này. Trong khi đang núi vã mv, hóy xem cỏch sỷ dửng khỏc cừa cõu lằnh này. mv, ngoài sỹ cho phộp chỳng ta thay đời tờn tằp tin, cũn cho phộp di chuyºn mởt hay nhiãu tằp tin tợi và trớ khỏc trong hằ đ¯ng cĐp cỏc thư mửc. Vớ dử, đº chuyºn /var/tmp/teptin.txt tợi /home/teppi82 (tằp tin nhà cừa tụi ;) tụi gừ: 20 CHƯƠNG 3. SÛ DệNG CÁC CÂU L›NH CếA LINUX $ mv /var/tmp/teptin.txt /home/teppi82 Sau khi gừ cõu lằnh này, teptin.txt s³ bà chuyºn đán /home/teppi82/teptin.txt. Và náu /home/teppi82 nơm trờn hằ thống têp tin khỏc vợi /var/tmp, thỡ cõu lằnh mv s³ sao chộp teptin.txt tợi hằ thống têp tin mợi và xúa cỏi trờn hằ thống cũ. Như bÔn cú thº đoỏn đưủc, khi teptin.txt bà di chuyºn giỳa cỏc hằ thống têp tin, teptin.txt tÔi và trớ mợi s³ cú số inode mợi. Đú là vỡ mội hằ thống têp tin cú bở cỏc số inode đởc lêp cừa riờng mỡnh. Chỳng ta cũng cú thº sỷ dửng cõu lằnh mv đº di chuyºn nhiãu tằp tin tợi mởt thư mửc đớch. Vớ dử, đº di chuyºn teptin1.txt và baibao3.txt tợi /home/teppi82, tụi cƯn gừ: $ mv /var/tmp/teptin1.txt /var/tmp/baibao3.txt /home/teppi82 Chương 4 TÔo liờn kát và xúa tằp tin 4.1 Liờn kát cựng Chỳng ta đó đã cêp thuêt ngỳ "liờn kát" khi núi đán quan hằ giỳa hai thư mửc (tờn chỳng ta gừ) và inode (ch¿ số trờn hằ thống têp tin mà ta thướng hay bọ qua). Thỹc tá, cú hai kiºu liờn kát trờn Linux. Kiºu mà chỳng ta đó thÊo luên gồi là liờn kát cựng. Mội inode cú thº cú số liờn kát cựng bĐt kỳ, và inode s³ văn cũn trờn hằ thống têp tin cho đán khi tĐt cÊ liờn kát cựng bián mĐt. Khi liờn kát cựng cuối cựng bián mĐt và khụng cú chương trỡnh nào mð tằp đú, Linux s³ tỹ đởng xúa tằp tin. Liờn kát cựng mợi cú thº tÔo bơng cõu lằnh ln: $ cd /tmp $ touch lienketdau $ ln lienketdau lienkethai $ ls -i lienketdau lienkethai 10662 lienketdau 10662 lienkethai 4.2 Liờn kát cựng, tiáp theo Như bÔn cú thº thĐy, liờn kát cựng làm viằc trờn cĐp đở inode đº ch¿ tợi mởt tằp tin núi riờng. Trờn hằ điãu hành Linux, liờn kát cựng cú mởt vài hÔn chá. Thự nhĐt, bÔn ch¿ cú thº tÔo liờn kát cựng tợi tằp tin, tợi thư mửc thỡ khụng. Điãu này đỳng; thêm chớ . và .. là cỏc liờn kát cựng hằ thống tÔo ra, bÔn (dự là ngưới dựng "root") khụng cú quyãn tÔo mởt cỏi cho riờng mỡnh. Giợi hÔn 21 22 CHƯƠNG 4. T„O LIấN K˜T VÀ XểA T›P TIN thự hai cừa liờn kát cựng là chỳng khụng thº nối hằ thống têp tin. Cú nghĩa là bÔn khụng thº tÔo mởt liờn kát tứ /usr/bin/bash tợi /bin/bash náu cỏc thư mửc / và /usr cừa bÔn nơm trờn cỏc hằ thống

Các file đính kèm theo tài liệu này:

  • pdfnhap_mon_linux.pdf
Tài liệu liên quan