nhập môn Linux cho newbie phần 3
lượt xem 6
download
4.11. RM 25 b n. Thư ng thì c đư ng d n tương đ i và đư ng d n tuy t đ i s làm vi c t t. Ví d sau s làm vi c th m chí sau khi c hai t p tin b di chuy n: # cd /usr/bin # ln -s unicode_start u_s # ls -l u_s lrwxrwxrwx 1 root root 13 2004-09-02 23:27 u_s - unicode_start # mv unicode_start u_s /usr/local/bin # ls -l /usr/local/bin/unicode_start -rwxr-xr-x 1 root staff 1061 2004-09-02 23:29 /usr/local/bin/unicode_start # ls -l /usr/local/u_s lrwxrwxrwx 1 root root 13 2004-09-02 23:27...
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: nhập môn Linux cho newbie phần 3
- 4.11. RM 25 b n. Thư ng thì c đư ng d n tương đ i và đư ng d n tuy t đ i s làm vi c t t. Ví d sau s làm vi c th m chí sau khi c hai t p tin b di chuy n: # cd /usr/bin # ln -s unicode_start u_s # ls -l u_s lrwxrwxrwx 1 root root 13 2004-09-02 23:27 u_s -> unicode_start # mv unicode_start u_s /usr/local/bin # ls -l /usr/local/bin/unicode_start -rwxr-xr-x 1 root staff 1061 2004-09-02 23:29 /usr/local/bin/unicode_start # ls -l /usr/local/u_s lrwxrwxrwx 1 root root 13 2004-09-02 23:27 /usr/local/bin/u_s -> unicode_start Bây gi , chúng ta có th ch y chương trình unicode_start b ng cách gõ /usr/local/bin/u_s. /usr/local/bin/u_s ch t i chương trình unicode_start trong cùng thư m c v i u_s. 4.11 rm Bây gi , khi đã bi t cách s d ng cp, mv, và ln, là th i gian h c cách xóa v t th kh i h th ng t p tin. Thông thư ng, đi u này đư c th c hi n v i câu l nh rm. Đ xóa t p tin đơn gi n là ch rõ chúng trên dòng l nh: $ cd /tmp $ touch tep1 tep2 $ ls -l tep1 tep2 -rw-r–r– 1 teppi82 thang 0 2004-09-04 17:53 tep1 -rw-r–r– 1 teppi82 thang 0 2004-09-04 17:53 tep2 $ rm tep1 tep2 $ ls -l tep1 tep2 ls: tep1: No such file or directory ls: tep2: No such file or directory Chú ý r ng dư i Linux, m t khi t p tin đã b xoá (is rm ’d), nó "ra đi" mãi mãi. Vì lý do này, nhi u nhà qu n tr m i vào ngh s s d ng tùy ch n -i khi xóa t p tin. Tùy ch n -i nói rm xóa t t c t p tin trong ch đ "h i tho i" (interactive) – đó là, h i nh c trư c khi xóa b t kỳ t p tin nào. Ví d :
- CHƯƠNG 4. T O LIÊN K T VÀ XÓA T P TIN 26 $ rm -i tep1 tep2 rm: remove regular empty file ‘tep1’? y rm: remove regular empty file ‘tep2’? y Trong ví d trên, câu l nh rm nh c có "th c s " xóa t p tin đã ch rõ hay không. Đ xóa chúng, tôi c n gõ "y" và Enter l n hai. N u tôi gõ "n", t p tin s không b xóa. Ho c, n u tôi đã thao tác sai, tôi có th gõ Control-C đ h y b toàn b l nh rm -i – nh ng gì đã làm có th gây thi t h i l n cho h đi u hành c a tôi. N u b n v n s d ng câu l nh rm, r t có ích n u b n s d ng trình so n th o ưa thích thêm dòng sau vào t p tin ∼/.bashrc c a b n, và sau đó đăng xu t và đăng nh p l i. Sau đó, m i khi b n gõ rm, v bash s t đ ng bi n đ i nó thành câu l nh rm -i. Theo đó, rm s luôn luôn làm vi c trong ch đ h i nh c: alias rm="rm -i" 4.12 rmdir Đ xóa thư m c, b n có hai l a ch n. B n có th xóa t t c các v t th bên trong thư m c và s d ng rmdir đ xóa b n thân thư m c đó: mkdir thumuccuatoi $ touch thumuccuatoi/tep1 $ rm thumuccuatoi/tep1 $ rmdir thumuccuatoi $ Phương pháp này thư ng ám ch là cách "xóa thư m c cho tr còn bú s a". T t c nh ng ngư i dùng và qu n tr có năng l c dùng câu l nh thu n ti n hơn nhi u là rm -rf, nói đ n ngay sau. 4.13 rm và thư m c Cách t t nh t đ xóa m t thư m c là s d ng tùy ch n b t bu c xóa toàn b (recursive force) c a câu l nh rm đ nói rm xóa thư m c b n đã ch rõ, cũng như t t c v t th ch a trong thư m c đó:
- 4.13. RM VÀ THƯ M C 27 $ rm -rf thumuccuatoi Nói chung, rm -rf là phương pháp, đ xóa m t cây thư m c, đư c ưa chu ng hơn. C n r t c n th n khi s d ng rm -rf, vì s c m nh c a nó có th đem đ n c đi u có l i và tai h a :)
- Chương 5 S d ng các ký t đ i di n (wildcard) 5.1 Gi i thi u v ký t đ i di n Khi s d ng Linux t ngày này qua ngày khác, có nhi u l n b n mu n th c hi n m t thao tác đơn (ví d rm ) trên nhi u v t th h th ng t p tin cùng m t lúc. Trong nh ng trư ng h p này, gõ nhi u t p tin trên m t dòng l nh thông thư ng gây vư ng: $ rm tep1 tep2 tep3 tep4 tep5 tep6 tep7 tep8 5.2 Gi i thi u v ký t đ i di n, ti p theo Đ gi i quy t v n đ này, b n có th l i d ng s h tr ký t đ i di n g n li n v i Linux. S h tr này, còn g i là "globbing" (vì lý do l ch s ), cho phép b n ch rõ nhi u t p tin m t lúc, s d ng m t m u đ i di n (wildcard pattern). Bash và các câu l nh Linux khác s biên d ch m u này, xem và tìm trên đĩa t t c các t p tin tương ng nó. Vì th , n u b n có các t p tin t tep1 t i tep8 trong thư m c hi n th i, b n có th xóa nh ng t p này, gõ: $ rm tep[1-8] Ho c n u b n ch mu n đơn gi n là xóa t t c các t p tin mà b t đ u b ng tep cũng như t p tin nào có tên tep, b n có th gõ: $ rm tep* 28
- 5.3. HI U V KHÔNG TƯƠNG NG 29 Ký t đ i di n * tương ng b t kỳ ký t hay chu i ký t nào, ho c th m thí "không có ký t ". T t nhiên, có th s d ng đ i di n "toàn c u" (glob wildcards) đ xóa t p tin m t cách đơn gi n hơn, như chúng ta s th y trong b ng ti p theo. 5.3 Hi u v không tương ng N u b n mu n li t kê t t c v t th h th ng t p tin trong /etc b t đ u b ng g cũng như m i t p tin có tên là g, b n c n gõ: $ ls -d /etc/g* /etc/gaim /etc/gnome /etc/group- /etc/gtk /etc/gateways /etc/gnome-vfs-2.0 /etc/group.org /etc/gtk-2.0 /etc/gconf /etc/gnome-vfs-mime-magic /etc/gs-gpl /etc/gdm /etc/groff /etc/gshadow /etc/gimp /etc/group /etc/gshadow- Bây gi , cái gì s x y ra n u b n ch rõ m t m u mà không tương ng b t kỳ v t th nào? Trong ví d sau, chúng ta th li t kê t t c các t p tin trong /usr/bin b t đ u b ng asdf và k t thúc b ng jkl,, g m c t p tin có th có là asdfjkl : $ ls -d /usr/bin/asdf*jkl ls: /usr/bin/asdf*jkl: No such file or directory 5.4 Hi u v không tương ng, ti p theo Đó là cái đã x y ra. Thư ng thì, khi chúng ta ch rõ m t m u, m u đó tương ng m t hay nhi u t p trên h th ng t p tin, và bash thay th m u v i m t danh sách các v t th tương ng, cách nhau b i kho ng tr ng. Tuy nhiên, khi m u không đưa ra m t cái nào phù h p bash đ y nguyên đ i s , đ i di n, và t t c . Vì th , khi ls không th tìm th y t p tin /usr/bin/asdf*jkl thì nó đưa ra thông báo l i. Lu t l thao tác đây là m u toàn c u ch khai tri n ra n u chúng tương ng v t th trong h th ng t p tin. N u không thì chúng đ l i y như th và đư c đưa nguyên văn1 t i chương trình chúng ta đang g i. 1 chú thích c a ngư i d ch: trong trư ng h p này là /usr/bin/asdf*jkl
- CHƯƠNG 5. S D NG CÁC KÝ T Đ I DI N (WILDCARD) 30 5.5 Cú pháp đ i di n: * Bây gi , khi đã th y s toàn c u (globbing) làm vi c như th nào, chúng ta c n xem cú pháp đ i di n. B n có th s d ng các ký t đ c bi t cho s m r ng: * s tương ng không ho c nhi u ký t . Nó có nghĩa "b t kỳ th gì có th vào đây, g m c không có gì". Ví d : • /etc/g* tương ng t t c t p tin trong /etc mà b t đ u b ng g, ho c m t t p tin có tên g. • /tmp/my*l tương ng t t c t p tin trong /tmp mà b t đ u b ng my và k t thúc b ng l, bao g m c t p tin myl 5.6 Cú pháp đ i di n: ? ? phù h p b t kỳ ký t đơn nào. Ví d : • myfile? tương ng b t kỳ t p tin nào mà tên c a nó ch a myfile theo sau là m t ký t đơn2 . • /tmp/note?txt tương ng c /tmp/notes.txt và emph/tmp/notes_txt, n u chúng t n t i. 5.7 Cú pháp đ i di n: [] Đ i di n này gi ng m t ?, nhưng nó đ c trưng hơn. Đ s d ng đ i di n này, đ t b t kỳ ký t nào b n mu n tìm tương ng vào trong []. Bi u th c thu đư c s tìm s tương ng v i m i ký t . B n có th s d ng - đ ch rõ m t dãy, và th m chí liên h p các dãy. Ví d : • myfile[12] s tương ng myfile1 và myfile2. Đ i di n s đư c khai tri n n u ít nh t m t trong nh ng t p tin này t n t i trong thư m c hi n th i. 2 chú thích c a ngư i d ch: ví d myfile1 myfile2 myfilea myfilex ...
- 5.8. CÚ PHÁP Đ I DI N: [!] 31 • [Cc]hange[Ll]og s tương ng Changelog, ChangeLog, changeLog, và changelog. Như b n có th th y, s d ng đ i di n d u ngo c vuông h u ích cho vi c t o nh ng s tương ng khác nhau: • ls /etc/[0-9]* s li t kê t t c các t p tin trong /etc b t đ u b ng m t ch s . • ls /tmp/[A-Za-z]* s li t kê t t c các t p tin trong /tmp b t đ u b ng m t ch cái hoa hay ch cái thư ng. 5.8 Cú pháp đ i di n: [!] C u trúc [!] gi ng v i c u trúc [!], không k r ng nó s tương ng b t kỳ ký t nào, mà không đư c li t kê gi a [! và ]. Ví d : • rm myfile[!9] s xóa t t c các t p tin có tên myfile c ng v i m t ký t đơn, ngo i tr myfile9. 5.9 Đào sâu v đ i di n Đây là m t s s đào sâu c n đ ý khi s d ng đ i di n. Vì bash "đ i x " các ký t đ i di n (?, [, ], và * ) m t cách đ c bi t, b n c n đ c bi t c n th n khi gõ trong đ i s t i m t câu l nh nh ng ký t này. Ví d , n u b n mu n t o m t t p tin ch a dòng [fo]*, câu l nh sau có th không làm cái b n mu n: $ echo [fo]* > /tmp/teptinmoi.txt Vì m u [fo]* tương ng v i t p tin nào đó trong thư m c hi n th i, nên b n s tìm th y tên c a chúng trong /tmp/teptinmoi.txt hơn là dòng [fo]* như b n mong đ i. Gi i pháp? M t cách b t đ u gi i quy t là đưa các ký t đó vào d u ngo c đơn, chúng (d u ngo c) nói bash không th c hi n s khai tri n đ i di n: $ echo ’[fo]*’ > /tmp/teptinmoi.txt
- CHƯƠNG 5. S D NG CÁC KÝ T Đ I DI N (WILDCARD) 32 5.10 Đào sâu v đ i di n, ti p theo S d ng cách này, t p tin m i c a b n s ch a dòng ch [fo]* như mong đ i. M t cách tương t , b n có th s d ng ký t thoát (escape) g ch ngư c nói bash coi [, ], và * là ch ch không ph i ký t đ i di n: $ echo \[fo\]\* > /tmp/teptinmoi.txt C hai cách gi i quy t (ngo c đơn và ký t thoát g ch ngư c) có cùng tác d ng. Nguyên chúng ta đang nói v g ch ngư c, gi là th i đi m t t nói r ng, đ ch rõ m t \ bình thư ng, b n có th ho c đưa nó vào ngo c đơn, ho c gõ \\ (nó s khai tri n thành \). 5.11 Ngo c đơn "g p" ngo c kép Chú ý r ng ngo c kép s làm vi c tương t như ngo c đơn, nhưng s v n cho phép bash th c hi n m t s khai tri n gi i h n. B i v y, ngo c đơn là t t nh t khi b n th c s mu n đưa nguyên văn d ng ch t i m t câu l nh. Đ thêm thông tin v s khai tri n đ i di n gõ man 7 glob. Xem thêm thông tin v trích d n (quote), b ng ngo c, gõ man 8 glob và đ c ph n QUOTING. N u b n có d đ nh tr kỳ thi LPI, coi như đây là bài t p v nhà :)
- Chương 6 T ng k t và các ngu n b tr 6.1 T ng k t Xin chúc m ng: b n t i đi m cu i cu n ôn t p l i cơ s Linux c a chúng tôi! Tôi hy v ng nó giúp b n n m ch c ki n th c Linux cơ b n. Nh ng ch đ b n đã h c đây, bao g m cơ s v bash, nh ng câu l nh Linux cơ b n, liên k t, và đ i di n, đ t n n móng cho cu n hư ng d n ti p theo, qu n tr cơ s , trong đó chúng tôi s đưa các ch đ như bi u th c chính quy (regular expression), quy n s h u, và quy n h n, qu n lý tài kho n ngư i dùng, và nhi u n a. Ti p t c theo hư ng d n nhi u t p này, b n s s m chu n b đ t t i ch ng ch LPIC b c 1 t Linux Professional Institute. Đ c p đ n ch ng ch LPIC, n u đây là cái b n quan tâm, thì chúng tôi khuyên b n h c các ngu n b tr trong b ng ngay sau, đã đư c l a ch n c n th n đ b sung thêm cho nguyên li u trong cu n hư ng d n này. 6.2 Các ngu n b tr Trong bài báo nhi u kỳ "Bash qua ví d " ("Bash by example") trên develop- erWorks, Daniel ch b n cách s d ng c u trúc l p trình bash đ vi t script c a mình. Chu i này (Ph n 1 và 2 nói riêng) là s chu n b t t cho kỳ thi LPIC b c 1: • Bash qua ví d , Ph n 1: L p trình cơ s trong v Bourne-again shell 33
- CHƯƠNG 6. T NG K T VÀ CÁC NGU N B TR 34 • Bash qua ví d , Ph n 2: L p trình bash cơ s nâng cao • Bash qua ví d , Ph n 3: Khám phá h th ng ebuild N u b n là ngư i dùng Linux m i hay trung bình, b n th t s không th không xem Nh ng câu h i chuyên môn thư ng đ t cho ngư i dùng Linux (Tech- nical FAQ for Linux users), danh sách 50 trang đi sâu v nh ng câu h i Linux thư ng đ t, v i các câu tr l i chi ti t. B n thân FAQ này d ng PDF (Ac- robat). N u b n không quen thu c l m v i trình so n th o vi, hãy xem cu n hư ng d n vi v lòng (Intro to vi). Cu n hư ng d n này khóa m đ u c p t c v trình so n th o m nh này. Coi như đây là tài li u ph i đ c thêm n u b n không bi t cách s d ng vi. 6.3 Ý ki n t phía b n Xin hãy cho chúng tôi bi t cu n hư ng d n này có giúp ích cho b n không và chúng tôi có th làm nó t t hơn như th nào. Đ ng th i, chúng tôi cũng mu n nghe v nh ng ch đ khác mà b n có th mu n xem trong hư ng d n c a developerWorks Đ h i v n i dung c a cu n hư ng d n này, liên h tác gi , Daniel Robbins, t i drobbins@gentoo.org. 6.4 L i ghi cu i sách Cu n hư ng d n này đư c vi t hoàn toàn trên XML, s d ng chương trình t o sách hư ng d n Toot-O-Matic c a developerWorks1 . Công c mã ngu n m Toot-O-Matic m t XSLT stylesheet và vài ch c năng XSLT m r ng bi n đ i t p XML thành các trang HTML, m t t p zip, nh tiêu đ JPEG và hai t p PDF. Kh năng xu t ra c d ng văn b n và d ng nh nguyên t m t t p ngu n đơn cho th y kh năng và s linh ho t c a XML. (XML đ ng th i ti t ki m r t nhi u th i gian và s c l c c a nhóm chúng tôi). 1 chú thích c a ngư i d ch: b n d ch đư c vi t trên mã TEX s d ng trình so n th o gedit
- 6.4. L I GHI CU I SÁCH 35 B n có th l y mã ngu n c a công c Toot-O-Matic t i http://www6.software.ibm.com/dl/devworks/dw-tootomatic-p/ . Cu n hư ng d n Xây d ng hư ng d n v i Toot-O-Matic (Bulding tutorials with the Toot- O-Matic) cho th y cách s d ng Toot-O-Matic đ t o hư ng d n c a chính b n. developerWorks còn làm ch m t di n đàn dành cho Toot-O-Matic, t i đ a ch : http://www-105.ibm.com/developerworks/xml_df.nsf/AllViewTemp late?OpenForm&RestrictToCategory=11. Chúng tôi r t mu n bi t b n nghĩ gì v công c này.
CÓ THỂ BẠN MUỐN DOWNLOAD
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn