P. 1
Tu Hoc Su Dung Linux

Tu Hoc Su Dung Linux

|Views: 0|Likes:
Published by Hoang Nguyen

More info:

Published by: Hoang Nguyen on Dec 21, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

11/10/2011

pdf

text

original

Sections

  • L i m đ u
  • HĐH Linux: l ch s và các b n phân ph i
  • 1.1.1 Các h đi u hành d ng UNIX
  • 1.1.2 M t chút v l ch s
  • 1.1.3 Đ c đi m chính c a HĐH Linux
  • 1.2 B n phân ph i Linux
  • 1.3 Yêu c u đ i v i máy tính
  • 1.4 L y Linux đâu?
  • Cài đ t h đi u hành Linux
  • 2.1 Chu n b cài đ t
  • 2.2 Phòng xa và nh ng l i khuyên
  • 2.3 Phân vùng trên đĩa và quá trình kh i đ ng 17
  • 2.3 Phân vùng trên đĩa và quá trình kh i đ ng
  • 2.3.1 Th nào là c u trúc “hình h c c a đĩa”
  • 2.3.2 Phân vùng và b ng phân vùng c a đĩa
  • 2.3.3 Quá trình kh i đ ng các HĐH c a công ty Microsoft
  • B ng 2.1: C u trúc c a sector kh i đ ng chính
  • 2.3.4 V n đ v i các đĩa l n
  • 2.4 L a ch n trình kh i đ ng
  • 2.4.1 Trình kh i đ ng GRUB
  • 2.4.2 Trình kh i đ ng LILO
  • 2.4.3 Các trình kh i đ ng khác
  • 2.5 Chu n b các phân vùng trên đĩa 27
  • 2.4.4 Các phương án kh i đ ng
  • 2.5 Chu n b các phân vùng trên đĩa
  • 2.5.1 L i khuyên khi t o phân vùng
  • B ng 2.2: Nhu c u s d ng không gian đĩa c a HĐH
  • 2.5.2 Chương trình đ phân chia đĩa
  • 2.6 Windows NT và Linux: kh i đ ng qua NT OS Loader 31
  • 2.6 Windows NT và Linux: kh i đ ng qua NT OS Loader
  • 2.7 S d ng trình kh i đ ng GRUB
  • 2.7.1 Cài đ t GRUB
  • 2.7.2 C u hình GRUB
  • 2.8 S d ng trình kh i đ ng LILO
  • 2.8.1 Cài đ t và c u hình LILO
  • 2.8.2 Cài đ t các h đi u hành khác sau Linux
  • 2.8.3 Chuy n thư m c /boot lên phân vùng DOS
  • Kh i đ ng Linux l n đ u
  • 3.1 Kh i đ ng HĐH Linux
  • 3.2 Đăng nh p vào h th ng
  • B ng 3.1: Nh ng câu l nh đơn gi n c a Linux
  • 3.3 Console, terminal o và shell
  • 3.4 So n th o dòng l nh. L ch s l nh
  • B ng 3.2: Nh ng phím so n th o dòng l nh
  • 3.5 Ng ng làm vi c v i Linux
  • B ng 3.3: T h p phím đi u khi n l ch s l nh
  • 3.6 Tr giúp khi dùng Linux
  • 3.6.1 Các ngu n thông tin tr giúp
  • 3.6.2 Các trang tr giúp man
  • B ng 3.4: Các ph n chính c a tr giúp man
  • B ng 3.5: Phím s d ng đ xem trang man
  • 3.6.3 Câu l nh info
  • 3.6.4 Câu l nh help
  • 3.6.6 Câu l nh xman
  • 3.6.7 Câu l nh helptool
  • 3.6.8 Sách và Internet
  • Làm quen v i h th ng t p tin ext3fs
  • 4.1 T p tin và tên c a chúng
  • 4.2 Thư m c
  • 4.3 Công d ng c a các thư m c chính
  • B ng 4.1: C u trúc thư m c c a Linux
  • 4.4 D ng t p tin
  • • các t p tin thi t b
  • 4.4.1 Các t p tin thi t b
  • B ng 4.2: Nh ng t p tin thi t b chính
  • 4.4.2 Các ng có tên (pipes)
  • 4.4.3 Các socket
  • 4.4.4 Liên k t m m
  • 4.5 Quy n truy c p đ n t p tin và thư m c
  • 4.6 Các câu l nh cơ b n đ làm vi c v i t p tin và thư m c 79
  • 4.6 Các câu l nh cơ b n đ làm vi c v i t p tin và thư m c
  • 4.6.1 Câu l nh chown và chgrp
  • 4.6.2 Câu l nh mkdir
  • 4.6.3 Câu l nh cat
  • 4.6.4 Câu l nh cp
  • B ng 4.3: Nh ng tùy ch n chính c a l nh cp
  • 4.6.5 Câu l nh mv
  • 4.6.6 Câu l nh rm và rmdir
  • 4.6.7 Câu l nh more và less
  • 4.6.8 Câu l nh tìm ki m find và m u tên t p tin
  • B ng 4.4: Tiêu chí tìm ki m c a câu l nh find
  • 4.6.9 Câu l nh split
  • 4.6.10 So sánh các t p tin và l nh patch
  • 4.7 Các câu l nh lưu tr và nén t p tin
  • 4.7.1 Chương trình tar
  • B ng 4.5: Nh ng tùy ch n chính c a tar
  • 4.7.2 Chương trình gzip
  • B ng 4.6: Nh ng tùy ch n chính c a chương trình gzip
  • 4.7.3 Chương trình bzip2
  • 4.7.4 S d ng k t h p tar v i gzip và bzip2
  • B ng 4.7: Nh ng tùy ch n chính c a chương trình bzip2
  • 4.8 T o và g n các h th ng t p tin
  • B ng 4.8: Nh ng tùy ch n chính c a câu l nh mount
  • 5.1 H v là gì?
  • 5.2 Các ký t đ c bi t
  • 5.3 Th c thi các câu l nh
  • 5.3.1 Thao tác ;
  • 5.3.2 Thao tác &
  • 5.3.3 Thao tác && và ||
  • 5.4 Đ u vào/đ u ra tiêu chu n
  • 5.4.1 Dòng d li u vào – ra
  • 5.4.2 L nh echo
  • 5.4.3 L nh cat
  • 5.5 Chuy n hư ng đ u vào/đ u ra, đư ng ng và b l c
  • 5.5.1 S d ng >, < và >>
  • 5.5.2 S d ng |
  • 5.5.3 B l c
  • 5.6 Tham bi n và các bi n s . Môi trư ng c a h v
  • 5.6.1 Các d ng tham bi n khác nhau
  • B ng 5.2: Thay th các tham bi n đ c bi t
  • 5.6.2 D u nh c c a h v
  • B ng 5.3: Ký t xác đ nh d ng d u nh c
  • 5.6.3 Bi n môi trư ng PATH
  • 5.6.4 Bi n môi trư ng IFS
  • 5.6.5 Thư m c hi n th i và thư m c cá nhân
  • 5.6.6 Câu l nh export
  • 5.7 Khai tri n bi u th c
  • 5.7.1 Khai tri n d u ngo c
  • 5.7.2 Thay th d u ngã (Tilde Expansion)
  • 5.7.3 Phép th các tham bi n và bi n s
  • 5.7.4 Phép th các câu l nh
  • 5.7.5 Phép th s h c (Arithmetic Expansion)
  • 5.7.6 Phân chia t (word splitting)
  • 5.7.7 Khai tri n các m u tên thư m c và t p tin5
  • 5.7.8 Xóa các ký t đ c bi t
  • 5.8 Shell — m t ngôn ng l p trình
  • 5.8.1 Toán t if và test (ho c [ ])
  • 5.8.2 Toán t test và đi u ki n c a bi u th c
  • 5.8.3 Toán t case
  • 5.8.4 Toán t select
  • 5.8.5 Toán t for
  • 5.8.6 Toán t while và until
  • 5.8.7 Các hàm s
  • 5.8.8 Tham s
  • 5.8.9 Bi n n i b (local)
  • 5.9 Script c a h v và l nh source
  • 5.10 Câu l nh sh
  • S d ng Midnight Commander
  • 6.1 Cài đ t chương trình Midnight Commander
  • 6.2 V ngoài c a màn hình Midnight Comman- der
  • B ng 6.1: Các t h p phím di chuy n dùng chung
  • 6.3 Tr giúp
  • B ng 6.2: Di chuy n trong trình xem t p tin
  • B ng 6.3: Di chuy n khi xem tr giúp
  • 6.4 S d ng chu t
  • 6.5 Đi u khi n các b ng
  • 6.5.1 D ng danh sách t p tin
  • Hình 6.3: H p tho i ch n đ nh d ng hi n th
  • 6.5.2 Nh ng ch đ hi n th khác
  • 6.5.3 Các t h p phím đi u khi n b ng
  • 6.6 Các phím ch c năng và th c đơn T p tin
  • 6.7 M u t p tin khi sao chép ho c đ i tên
  • 6.8 Thông báo khi sao chép và di chuy n t p tin
  • 6.9 Dòng l nh c a h v
  • Hình 6.11: Dòng nh p vào đ a ch IP c a máy ch FTP
  • 6.10 Trình đơn Câu l nh
  • B ng 6.5: Các l nh đi u khi n dòng nh p vào
  • Hình 6.14: Tìm ki m t t c các liên k t m m
  • Hình 6.15: H p tho i danh sách thư m c thư ng dùng
  • Hình 6.16: Đi u khi n công vi c n n sau
  • 6.11 C u hình Midnight Commander
  • Hình 6.17: C u hình Midnight Commander
  • Hình 6.19: Thay đ i bit hi n th c a Midnight Commander
  • Hình 6.20: Thi t l p các h p tho i h i l i ngư i dùng
  • Hình 6.21: Th và c u hình các phím
  • 6.12 K t n i t i máy xa
  • 6.12.1 K t n i FTP
  • 6.12.2 K t n i Shell
  • Giao di n đ ho
  • 7.1 X.Org
  • 7.2 M t chút v h th ng hình nh c a máy tính 167
  • 7.2 M t chút v h th ng hình nh c a máy tính
  • 7.3 C u hình chương trình ch X
  • 7.3.1 Thu th p thông tin c n thi t
  • 7.3.2 C u trúc c a t p tin c u hình X
  • Hình 7.2: C u hình X.org qua xorgcfg
  • 7.3.3 Th c u hình /etc/X11/xorg.conf
  • Hình 7.3: Chương trình xvidtune
  • 7.4 Kh i đ ng h th ng X Window
  • 7.4.1 L a ch n trình qu n lý c a s
  • 7.4.2 Môi trư ng làm vi c KDE và GNOME
  • 7.4.3 Môi trư ng làm vi c Xfce
  • 7.4.4 S d ng trình qu n lý màn hình
  • Làm vi c trong môi trư ng KDE
  • 8.1 B t đ u làm vi c v i KDE
  • 8.1.1 Đăng nh p vào KDE
  • Hình 8.1: Màn hình đăng nh p KDM
  • 8.1.2 V ngoài c a KDE
  • 8.1.3 Trình đơn KMenu
  • Hình 8.5: Trình đơn chính c a KDE
  • 8.1.4 Trung tâm đi u khi n KDE
  • Hình 8.6: Tìm ki m trong trình đơn chính c a KDE
  • Hình 8.7: Trình Thi t l p cá nhân c a KDE
  • 8.1.5 Thay đ i v ngoài
  • Hình 8.12: Trình đơn c a thanh panel
  • 8.1.6 Đi u khi n phiên làm vi c1

T h c s d ng Linux

Phan Vĩnh Th nh Phiên b n: 0.9.6 Ngày 14 tháng 2 năm 2007

Dành cho ngư i dùng m i và r t m i...

M cl c
L im đ u . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 HĐH Linux: l ch s và các b n phân ph i 1.1 Th nào là HĐH nói chung và Linux nói riêng 1.1.1 Các h đi u hành d ng UNIX . . . . . . 1.1.2 M t chút v l ch s . . . . . . . . . . . . 1.1.3 Đ c đi m chính c a HĐH Linux . . . . 1.2 B n phân ph i Linux . . . . . . . . . . . . . . . 1.3 Yêu c u đ i v i máy tính . . . . . . . . . . . . . 1.4 L y Linux đâu? . . . . . . . . . . . . . . . . . 1

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

3 . 3 . 3 . 4 . 7 . 9 . 12 . 13 14 14 16 17 17 18 20 22 23 23 24 26 27 27 27 30 31 34 34 34 36 36 39 39 40

2 Cài đ t h đi u hành Linux 2.1 Chu n b cài đ t . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Phòng xa và nh ng l i khuyên . . . . . . . . . . . . . . . . . 2.3 Phân vùng trên đĩa và quá trình kh i đ ng . . . . . . . . . 2.3.1 Th nào là c u trúc “hình h c c a đĩa” . . . . . . . . 2.3.2 Phân vùng và b ng phân vùng c a đĩa . . . . . . . . 2.3.3 Quá trình kh i đ ng các HĐH c a công ty Microsoft 2.3.4 V n đ v i các đĩa l n . . . . . . . . . . . . . . . . . . 2.4 L a ch n trình kh i đ ng . . . . . . . . . . . . . . . . . . . . 2.4.1 Trình kh i đ ng GRUB . . . . . . . . . . . . . . . . . 2.4.2 Trình kh i đ ng LILO . . . . . . . . . . . . . . . . . 2.4.3 Các trình kh i đ ng khác . . . . . . . . . . . . . . . . 2.4.4 Các phương án kh i đ ng . . . . . . . . . . . . . . . 2.5 Chu n b các phân vùng trên đĩa . . . . . . . . . . . . . . . 2.5.1 L i khuyên khi t o phân vùng . . . . . . . . . . . . . 2.5.2 Chương trình đ phân chia đĩa . . . . . . . . . . . 2.6 Windows NT và Linux: kh i đ ng qua NT OS Loader . . . 2.7 S d ng trình kh i đ ng GRUB . . . . . . . . . . . . . . . . 2.7.1 Cài đ t GRUB . . . . . . . . . . . . . . . . . . . . . . 2.7.2 C u hình GRUB . . . . . . . . . . . . . . . . . . . . . 2.8 S d ng trình kh i đ ng LILO . . . . . . . . . . . . . . . . 2.8.1 Cài đ t và c u hình LILO . . . . . . . . . . . . . . . 2.8.2 Cài đ t các h đi u hành khác sau Linux . . . . . . 2.8.3 Chuy n thư m c /boot lên phân vùng DOS . . . . . 2.9 Kh i đ ng Linux t MS-DOS b ng loadlin.exe . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

iv 3 Kh 3.1 3.2 3.3 3.4 3.5 3.6 i đ ng Linux l n đ u Kh i đ ng HĐH Linux . . . . . . . . . Đăng nh p vào h th ng . . . . . . . . Console, terminal o và shell . . . . . So n th o dòng l nh. L ch s l nh . . Ng ng làm vi c v i Linux . . . . . . . Tr giúp khi dùng Linux . . . . . . . . 3.6.1 Các ngu n thông tin tr giúp . 3.6.2 Các trang tr giúp man . . . . . 3.6.3 Câu l nh info . . . . . . . . . . 3.6.4 Câu l nh help . . . . . . . . . . 3.6.5 Tài li u b n phân ph i và ng d 3.6.6 Câu l nh xman . . . . . . . . . . 3.6.7 Câu l nh helptool . . . . . . . 3.6.8 Sách và Internet . . . . . . . . .

M CL C 43 43 44 46 49 51 53 53 54 55 56 56 57 57 57 60 60 63 65 70 70 72 72 72 73 79 80 80 80 81 82 82 83 83 86 87 88 89 91 92 93 95

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ng . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

4 Làm quen v i h th ng t p tin ext3fs 4.1 T p tin và tên c a chúng . . . . . . . . . . . . . . . . 4.2 Thư m c . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Công d ng c a các thư m c chính . . . . . . . . . . . 4.4 D ng t p tin . . . . . . . . . . . . . . . . . . . . . . . 4.4.1 Các t p tin thi t b . . . . . . . . . . . . . . . 4.4.2 Các ng có tên (pipes) . . . . . . . . . . . . . . 4.4.3 Các socket . . . . . . . . . . . . . . . . . . . . 4.4.4 Liên k t m m . . . . . . . . . . . . . . . . . . 4.5 Quy n truy c p đ n t p tin và thư m c . . . . . . . . 4.6 Các câu l nh cơ b n đ làm vi c v i t p tin và thư m 4.6.1 Câu l nh chown và chgrp . . . . . . . . . . . 4.6.2 Câu l nh mkdir . . . . . . . . . . . . . . . . . 4.6.3 Câu l nh cat . . . . . . . . . . . . . . . . . . 4.6.4 Câu l nh cp . . . . . . . . . . . . . . . . . . . 4.6.5 Câu l nh mv . . . . . . . . . . . . . . . . . . . 4.6.6 Câu l nh rm và rmdir . . . . . . . . . . . . . 4.6.7 Câu l nh more và less . . . . . . . . . . . . 4.6.8 Câu l nh tìm ki m find và m u tên t p tin . 4.6.9 Câu l nh split . . . . . . . . . . . . . . . . . 4.6.10 So sánh các t p tin và l nh patch . . . . . . 4.7 Các câu l nh lưu tr và nén t p tin . . . . . . . . . . 4.7.1 Chương trình tar . . . . . . . . . . . . . . . . 4.7.2 Chương trình gzip . . . . . . . . . . . . . . . 4.7.3 Chương trình bzip2 . . . . . . . . . . . . . . 4.7.4 S d ng k t h p tar v i gzip và bzip2 . . . 4.8 T o và g n các h th ng t p tin . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . .4 Bi n môi trư ng IFS . . . . . . . . . . . . . . .8. . . . . .5 Phép th s h c (Arithmetic Expansion) . .7. 5. . . .6.7 Các hàm s . . . . 5. . . . 114 . . . . .6. . . . . . 118 . . 102 .4 Phép th các câu l nh .3 Thao tác && và || .6. . . . . . . . . . . 5. 5. .7. . . . . . . . . . . . . . . 104 . . . . .7. . . . . . . . 117 . . 104 . . . . . . . . . . . . . . . . .2 Toán t test và đi u ki n c a bi u th c . . . . . 109 . 5. . . 5. . . . . . . . . 106 . .7. . . . . . . . . .8. . . . . . . . . . . . . . . . . . . . . .8 Tham s . . . đư ng ng và b l c . . . . . . . . 124 . . . 5.3. . . . . 115 . . . 108 . . . . . . . . . . . . . .5 Toán t for . . . . . . . . . . . . . .7 Khai tri n bi u th c . . . . . . . . . . . . . 103 . . . . . . . . . . . 124 . . . . . . . . . . . . . . . . . . . . . . . 114 . . . . . . . . . . .6 Toán t while và until . .1 S d ng >. . . . 5. . . . . . . . . . 5. 5. . . . . 126 . . .7. . . . . . . . . . . . . . . . .3. . . Môi trư ng c a h v . . . . . 5. . . . . . . . . . . . . . .5. 125 . . . .1 H v là gì? . . .10 Câu l nh sh . . 126 . . . . . . . 5. . . . . . . .2 Các ký t đ c bi t . . .4. 5. . . . . . .2 L nh echo . . . . . . . . . . . . .8 Xóa các ký t đ c bi t .8. . . . . 103 . . . . . . . . . . . 5. . . . 5. . . 104 . . . . . . . . . . . . . .4. . . . . . . . . . . . . . . . . . . . . . .1 Các d ng tham bi n khác nhau . . . 5. . . . . . . . 123 . . . . . . . . . . . . 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6.8.4 Toán t select . . . . . . . 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 . 110 . . . . . . . . . . . . . . . . . . 5.2 S d ng | . . . . . . . .4 Đ u vào/đ u ra tiêu chu n . . . . . . . . . . . . 5.5 Thư m c hi n th i và thư m c cá nhân . . . . . . . . . . . . . 112 .4. . . . . . . .5. . . . . . . . . . . . . . . . . .1 Dòng d li u vào – ra . . . . . . . . . . . . . .3. .8 Shell — m t ngôn ng l p trình . . . v 101 .8. . . . . . . . . 113 . . . . . 114 . . . .2 D u nh c c a h v . . . . . . . . . . . . . 5. . 116 . . 5. 118 . 5. . . . . 5. . . . .6. . 101 . . . . 117 . . . . . . . . .6 Phân chia t (word splitting) . . . .1 Toán t if và test (ho c [ ]) . . 105 . . . . . 5. . . .8.7. 5. . . . . . .7. . 5. . . .6. .5 Chuy n hư ng đ u vào/đ u ra. 5. . . 5. . . 104 . . . . . .6 Câu l nh export . . 122 . . . . . . . . 5. .3 L nh cat . . . . 122 . . . . . . .6 Tham bi n và các bi n s .3 Bi n môi trư ng PATH . . . .2 Thao tác & .9 Bi n n i b (local) . 125 . . . . 5. . .7 Khai tri n các m u tên thư m c và t p tin . . . . . . . . . . . . . . . . . . 109 . . . . . 5. . .3 Toán t case . . . . . . . . 5. . . . . . . . . . . . . . . .3 Th c thi các câu l nh . . . . . . . . 116 . .M CL C 5 Bash 5. . . 119 . . . . . . . . . . . . .8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5. . . 5. . . . 113 . . . . . . . . . . . . . . . .1 Thao tác . . . 106 . . . . . . . .3 B l c . . 5. . . . . . . . . . . . . . . . 5. .8. . . . . . . . . . . . . 5.5.9 Script c a h v và l nh source . . . . . . . .2 Thay th d u ngã (Tilde Expansion) . . . . . . 5. . . . .1 Khai tri n d u ngo c . .7. . . . . . . . . . . . . . . . . . . . .8. . 118 . 5. . . . < và >> . 116 . . . . . .3 Phép th các tham bi n và bi n s . . . . 105 . 5.

. . . . . . . . . 6. . . . . . . . . . . . . . . . . . . . . . .3 Th c u hình /etc/X11/xorg. . . . . . . . . . . 6. . . . . .2 K t n i Shell . . . . . . . . . . 7. . . .conf . . . . . . . . . . . .1 K t n i FTP .7 M u t p tin khi sao chép ho c đ i tên . . . . . . . .1 Thu th p thông tin c n thi t . . 8. . . .1. . . . . . . .3. . . 198 . . .2 V ngoài c a màn hình Midnight Commander 6. 8 Làm vi c trong môi trư ng KDE 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6. . . . . . . . . . .3 Trình đơn KMenu . . . . . . . . . . . . . . . . . . . . . . . .4. 6. . . . . . . . . . . .5.1. . . . . . . . . 194 .4. . . . . . . . . . . . . . . . .3 Môi trư ng làm vi c Xfce . . .2 M t chút v h th ng hình nh c a máy tính 7. . . . . 191 . . . . . . . . . . . . . . . . . 6. . . . . . . . . . . . .12. . . . . . . . . . . . 7. . . . . . . . . 8. . . .12 K t n i t i máy xa . . . . . . . . . .1. . . . . . . . .10 Trình đơn Câu l nh . . . . . . . . . . . 6. . . . . . . . . . . . . . . . . . . . . . 7. . . . . . . . . .3. . . . . . . . . . . . . . . . 190 . . . . . . . . . . . . . . .3. . . . . .4 Trung tâm đi u khi n KDE 8. . 190 . . . . . . . .2 V ngoài c a KDE . . . . . . .4 S d ng chu t . 7. . . . . . . . . . . . . 6. . . . 8. . . . . . . . . . . . . . . . . . . 7. . . . . . . . . . 6. .4. . .1.5. . 6.2 Môi trư ng làm vi c KDE và GNOME 7. . . . . . .3 Tr giúp . . .vi 6 S d ng Midnight Commander 6. .1. 6. . . . . . . . . . . . . . . . . . . 7. . . . . . . . . . . . M CL C 128 128 129 131 132 133 133 136 137 139 141 143 145 147 153 159 159 160 162 162 167 169 170 171 178 182 185 187 188 188 . . . . . . .1 B t đ u làm vi c v i KDE . . . . .5 Thay đ i v ngoài . . . . . . . . .2 Nh ng ch đ hi n th khác . . .8 Thông báo khi sao chép và di chuy n t p tin . . . . .3 C u hình chương trình ch X . . . . . . . . . . . . . . . . . . . . . 6. . . . 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 Đăng nh p vào KDE . . . . . . . . . . . . .3 Các t h p phím đi u khi n b ng . . . . . . . 7. . . 6. . .1 D ng danh sách t p tin . . . . . . .2 C u trúc c a t p tin c u hình X . . . . .6 Đi u khi n phiên làm vi c . . . . . . . . . .5.1 X. . . . . . . . . . . . . . . . .1. . . . . . . 8. . . . . . . . . . . . . . . . . .9 Dòng l nh c a h v . . . . 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5 Đi u khi n các b ng .12. 201 . .4 S d ng trình qu n lý màn hình . . . . . . . . . . 190 . . . . .6 Các phím ch c năng và th c đơn T p tin . . . 6. . . . . . . . . . . . . 8. . . . . . . . . . .1 Cài đ t chương trình Midnight Commander . .Org . . . . . . . . . . .1 L a ch n trình qu n lý c a s .11 C u hình Midnight Commander . . . . . . .4. . . . . . . . . . . . 195 . . . . . . . . . . . . . . 7. . . 7 Giao di n đ ho 7. .4 Kh i đ ng h th ng X Window . . . . . . . . . . .

. . . .8 6. . . .3 6. . . . . . . . . Ch đ cây thư m c . . . . . . . . . . . . . . . . . . . Thay đ i v ngoài c a Midnight Commander .5 6. C a s yêu c u . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Đi u khi n công vi c n n sau . . . . . .1 6. . . . . . . . . . . . . . . . . . . . . . u” ch nh hình . . . . . . . . . . . Thay đ i bit hi n th c a Midnight Commander . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 6. . . . . . . . B t đ u tìm ki m . . . . . . 43 6. . . Thi t l p các h p tho i h i l i ngư i dùng . . . . . . . . Thi t l p h th ng t p tin o . . . . . . . . . . . . . . . . . . .10 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H th ng đ ho X Window . . . Tìm ki m t t c các liên k t m m .3 7. . . . . . . . . . . . . . . . . . . . .18 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17 6. . . . . . . . nh . . . . . . . . . . .14 6. . . . . . . V ngoài c a KDE . . . . . . . . . . . . . . . . . . . . . .11 6. . a KDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Màn hình Midnight Commander . 129 130 133 136 137 138 139 142 144 145 147 150 150 151 152 153 154 156 157 158 158 159 164 172 181 181 189 191 192 193 194 195 196 197 . . . . . . . . . . .Danh sách hình v 3. . . . . . . .5 8. . .2 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tr giúp có ích tooltips . . . . . . . . . . . . . . C as h il i. . . .3 8. . . . . . Ch đ xem nhanh . . . . . .2 8. . . . . . . . H p tho i s p x p . . . . . . . . . . Dòng nh p vào đ a ch IP c a máy ch FTP . . . . . . . . . Trình đơn chính c a KDE . . . .22 7. . . . . . . . . .4 8. . . . . . . . . . . . . . . . . . . . . . . .1 8. Chương trình xvidtune . . . . . Đang tìm ki m . Chương trình xvidtune “không ch Môi trư ng làm vi c Xfce . . . . . . . . . .5 8. . . . . H p tho i đ i tên t p tin . . .13 6. . . . . . . . . . . . . . . . . . Th và c u hình các phím . .21 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 7. . . . . . . . H p tho i danh sách thư m c thư ng dùng . . .1 Màn hình kh i đ ng c a GRUB . . . . . . . . Màn hình đăng nh p KDM . . . . . . . . . .6 6. . . . . . .2 7. .19 6. . . . . . . . . . . . . . .6 8. . . .1 7. . . . . . . . . . . . .15 6. . . . . . . . . . . . .7 Midnight Commander ti ng Vi t . . . . . . . . . . Tìm ki m trong trình đơn chính c Trình Thi t l p cá nhân c a KDE . . . . . . . .7 6. . . . . . . . . . . . . . . H p tho i ch y chương trình . . . . H p tho i ch n đ nh d ng hi n th . . . . . C u hình Midnight Commander . . .16 6. . . . . . . .12 6. . . .20 6. . . .9 6. . . . . . . . . . . . . . . . .org qua xorgcfg . . C u hình X. . . . . . . . Ch đ thông tin . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . .12 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8 8. . . . . . . . . . . . . . . . .viii 8. . . . . . . . C u hình các thanh panel . . . . . . . . . . Ch n phông ch dùng cho text. . . . 198 198 199 199 200 200 201 201 202 .10 8. . . . . .14 8. . . . . . . . . C nh báo khi có thay đ i chưa áp d ng . . . . . . .15 8. . Thay đ i màn hình . . . Trình đơn c a thanh panel . . . . . . . . . . . . . . . . . . . . . . .16 Cài đ t phông ch m i . . DANH SÁCH HÌNH V .11 8. . So n th o trình đơn chính . . .13 8. . . trình đơn. . . . Trình đơn b i c nh c a nút . . . . . . . . . . . . . . Ch n phông ch . .

. . . . . . . . . . . . . . 46 50 52 54 55 66 71 81 85 89 92 94 99 109 111 112 118 131 131 132 140 148 C u trúc thư m c c a Linux . . . . . . . Tiêu chí tìm ki m c a câu l nh find. . . . . 20 2. T h p phím đi u khi n l ch s l nh Các ph n chính c a tr giúp man . . . . . . . .4 3. . . . . . . . . . . . . . . . . 28 3. . . . . . .4 6. Nh ng tùy ch n chính c a chương trình gzip Nh ng tùy ch n chính c a chương trình bzip2 Nh ng tùy ch n chính c a câu l nh mount . . . . . . .5 4. . . . . . .Danh sách b ng 1. . . . . . . . . .2 Nhu c u s d ng không gian đĩa c a HĐH . . . . . . . . . . . . .4 6. . . . . . . . . . . . . . . . . Nh ng t p tin thi t b chính . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5 Nh ng câu l nh đơn gi n c a Linux Nh ng phím so n th o dòng l nh .8 5. .4 4. . . . . .6 4. .2 6. Di chuy n khi xem tr giúp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Nh ng tùy ch n chính c a l nh cp . . . . . . . . . . . . . . . . . . . . . . . Nh ng tùy ch n chính c a tar . . . .1 C u trúc c a sector kh i đ ng chính . . . . . . . . . . . . . t . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 4. . . . . . . . Các l nh đi u khi n dòng nh p vào . . . . . . . . . . . . . . . . . . . . . . . . . Các câu l nh b l c . . .7 4. . . .2 3. .3 5. . . . . . . . . . . . . . . . . . Các phím ch c năng .1 Yêu c u đ i v i ph n c ng . . . . . .1 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 6. . . . . . .1 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 5. . . . . . . . . Phím s d ng đ xem trang man .3 3. . . . . . . . . . . . . . . . .2 4. .1 5. . Các t h p phím di chuy n dùng chung Di chuy n trong trình xem t p tin .3 6. . . . . . . . . . . . . . . . . . . . . . .5 4. . . Thay th các tham bi n đ c bi Ký t xác đ nh d ng d u nh c Các ký t t o m u . . . 12 2. . . . . . . . . . . . . .

.

C ng đ ng Linux không ch cung c p cho ngư i dùng máy tính m t h đi u hành thân thi n. Ngư i khác quan sát quá trình di cư c a th c v t thì cho r ng ong tham gia vào quá trình này và là m c đích c a nó. như v y m c đích c a nó là duy trì nòi gi ng. . Nh ng năm đ u th p k th chín c a th k XX Linux m i ch là đ a con tinh th n chưa bi t nói c a Torvalds. Linux ngay t ban đ u đã đư c xây d ng d a trên c ng đ ng (ti ng Anh “community”). T t nhiên m c đích cu i cùng c a ong không ph i là nh ng cái trên n m riêng bi t mà là t t c chúng c ng l i. Ngư i nuôi ong có cái nhìn sâu hơn thì cho r ng ong thu th p b i ph n hoa đ nuôi ong con và t o ong chúa. Các nhà l p trình nhân (kernel) tìm th y Linux s quy n rũ và công vi c phát tri n c a h . Đ i v i ngư i nuôi ong thì m c đích ong là thu th p m t ong. . L ch s hình thành và phát tri n Linux chúng ta s th y ngay chương đ u tiên c a cu n sách này. bài báo. . Nhà sinh h c khi quan sát th y ong th ph n cho hoa thì quy t đ nh đây chính là m c đích c a loài ong. nhóm tin t c. V i k t n i m ng Internet. Nhi u t ch c chính ph cũng như phi chính ph nhìn th y Linux m t h đi u hành nhi u h a h n và h tr cho Linux. Đ i v i m t nhà thơ thì m c đích c a con ong là thu vào mình hương v c a nh ng bông hoa. sách v Linux. Microsoft nhìn th y Linux kh năng c nh tranh l n và nhi u khi coi Linux là k thù c a mình. nhóm thư. Đ i v i c u bé v a b ong c n thì m c đích c a con ong ch c n ngư i. Đ i v i Linus Torvalds. luôn mong mu n có thêm máy tính ch y dư i Linux. Ngư i dùng thì th y Linux m t h th ng m nh.L im đ u Trong tác ph m n i ti ng th gi i c a nhà văn Nga Lev Tolstoi “Chi n tranh và hoà bình” có đưa ra m t ví d đ minh ho cho suy nghĩ c a tác gi v vai trò c a nh ng ngư i có ti ng (c th là Napoleon và Alecxandr đ nh t) và qu n chúng trong l ch s nói chung cũng như trong chi n tranh châu Âu nh ng năm đ u th k XIX. Tuy nhiên n u b n m i b t đ u h c Linux thì hãy tìm cho mình m t cu n sách gi i thi u ng n g n v h đi u hành này.v. N u không . M t s công ty đã th y đư c Linux m t ngu n l i l n và phát tri n công vi c kinh doanh c a mình t h đi u hành này. Nh ng nư c còn nghèo tìm th y Linux m t cách gi i quy t cho v n đ kinh t . Nhân v t chính trong ví d minh ho này là con ong. thu n ti n. . M t cu n sách tham kh o c m tay là không th thi u trong th i gian đ u tìm hi u Linux. Hãy xem xét giá và n i dung cu n sách trư c khi mua. Linux là h đi u hành phát tri n m nh. Trên th trư ng máy ch hi n th i ch có m t vài tên tu i đáng chú ý. b n s luôn tìm th y câu tr l i cho v n đ c a mình t s lư ng l n các di n đàn. d a trên s c ng tác. Linux cho máy đ bàn có ph n đa d ng hơn. M i b n phân ph i thích h p cho m t nhóm ngư i dùng c th nào đó t ngư i dùng m i đ n ngư i dùng “cao c p” (advanced) hay nói đúng hơn là m i ngư i dùng có quy n l a ch n cho mình m t b n phân ph i thích h p và chuy n sang s d ng b n khác khi nào mong mu n. các trang web cung c p tin t c. Linux là ni m đam mê và “Just for fun”. và còn c ng thêm nh ng gì mà t m th i b óc quan sát h n ch c a con ngư i còn chưa tìm ra. d s d ng mà còn luôn luôn s n sàng giúp đ ngư i dùng m i. có th đi u ch nh theo ý mu n c a mình v. Ch trong vài năm g n đây đã có nhi u b n phân ph i Linux chi m lĩnh đư c môi trư ng máy ch cũng như máy đ bàn c a ngư i dùng.

s a đ i. Xin c m ơn Kostromin A. nh ng tài li u khác có th so n th o trong Openoffice. Sách này đư c phân ph i mi n phí theo b n quy n Creative Commons Public License 2.có kh năng tìm đư c sách thích h p ho c b n thích cu n sách “T h c s d ng Linux” này thì có th in nó ra đ ti n đ c. Như v y.com) đã giúp đ tôi trong khi so n cu n sách này. và có khi không đư c c p nh t c năm.0 kho ng 4 năm trư c đây. ”. l i ki n th c cũng như đ ngh giúp đ (luôn luôn hoan nghêng) xin g i cho Phan Vĩnh Th nh theo đ a ch teppi@vnoss. kh năng v đ ho vector c a Inkscape còn đ cho c nh ng nhà thi t k chuyên. . cu n sách này đư c t o ra. Nghe nh c b ng Amarok.5/) . Thông thư ng ngư i dùng m i b t đ u gia nh p vào th gi i Linux b ng nh ng b n phân ph i này. Nh ng thông tin b n đ c tìm th y trong cu n sách này có th áp d ng cho h u h t h t các b n phân ph i l n. Happy Using Linux! A Công c đ t o ra cu n sách b n đang đ c là h th ng s p ch L TEX.org. tuy nhiên m t s ph n đ c bi t ví d ph n nói v cài đ t chương trình t các gói rpm ch áp d ng t t cho các b n phân ph i “dòng RedHat”. Và bây gi Linux (c th là OpenSUSE Linux) là h th ng duy nh t làm vi c trên máy tính c a tôi. Như trang th hai c a sách có ghi “Dành cho ngư i dùng m i và r t m i. Tôi b t đ u h c Linux khi có trong tay 3 đĩa CD RedHat 7. thông báo l i chính t . Tôi không ph i là m t nhà qu n lý m ng hay l p trình chuyên nghi p và nói chung không ph i ngư i h c theo chuyên ngành công ngh thông tin. thêm và b t trong th i gian r nh r i c a tôi.5 (http://creativecommons.org/licenses/by/2. (http://linux-ve. qu n lý hình k thu t s và l y chúng ra t máy hình b ng digiKam.5/). OpenSUSE. Released under Creative Commons Public License 2.org) và anh Nguy n Đ ng Hoàng Tuân (tuanndh@gmail. Và hơn n a m i công vi c c n đ n máy tính c a tôi có th gi i quy t nhanh g n b ng nh ng chương trình đi kèm v i Linux. Mandriva. . v.V. bác Nguy n Đ i Quý (vnpenguin@vnoss.5 (http://creativecommons.ru) đã vi t ra m t cu n sách s d ng Linux hay làm tài li u tham kh o chính cho cu n sách này. B n có th tìm b n phân ph i teTeX ho c m t b n phân ph i khác c a h th ng này trên h u h t các b đĩa cài đ t h đi u hành Linux. cu n sách “T h c s d ng Linux” đư c t o ra v i hy v ng s giúp ngư i dùng m i làm quen v i h đi u hành tuy t v i có tên Linux và hình tư ng trưng là chú chim cánh c t (penguin) xinh đ p.org. Ngành chính c a tôi là Hoá h c. . M i đ ngh s a đ i. trong chương trình Kile và biên d ch mã L TEX qua nh ng chương trình có trong gói teTeX.org/licenses/by/2.v. v i ngư i dùng không chuyên thì kh năng ch nh s a nh c a The GIMP còn trên c đ . do đó xin đ ng mong đ i nh ng ki n th c cao siêu trong sách này. so n th o tài li u. Cũng như nh ng s n ph m khác c a c ng đ ng OSS.chat. do đó đôi khi nó s đư c c p nh t thư ng xuyên. đôi khi trong console (dòng l nh không có đ ho ). c th là lu n A văn t t nghi p và cu n sách này. Không ph i là tôi không mu n s d ng và ghét b h đi u hành Windows mà đơn gi n là tôi đã quen làm vi c trong môi trư ng KDE và Xfce. đó là Fedora. .

Đ ng th i nói đôi dòng v nh ng đi m đ c bi t c a Linux.1 Th nào là HĐH nói chung và Linux nói riêng Các h đi u hành d ng UNIX H đi u hành (HĐH) đó là m t b các chương trình h tr vi c đi u khi n ph n c ng c a máy tính.1 Ngư i m “không ng i ng n” đăng ký nhãn hi u thương m i b t kỳ th gì. V t lý. Nhưng bây gi khi nói đ n h đi u hành UNIX thư ng có ý không nói c th m t h đi u hành c th nào mà là m t nhóm các h đi u hành dòng UNIX (UNIX-liked OS). 1 . không hi u là đ làm gì. Windows b t ngu n t h đi u hành MS-DOS trư c đây làm vi c trên các máy tính c a hãng IBM. Trong trư ng h p đó máy tính ch là m t t p h p các thi t b đi n t không làm vi c. L ch s luôn là đi m kh i đ u khi nghiên c u m t ngành khoa h c nào đó. Chính b n thân t UNIX (vi t hoa t t c các ch cái) tr thành nhãn hi u thương m i c a t ng công ty AT&T. Không có ngo i l đ i v i Toán h c. Hơn th n a b n đ c s hi u ít nhi u v OpenSource. 1. Đ n th i đi m hi n nay thì các h đi u hành n i ti ng nh t cho máy tính là Microsoft Windows (C) và UNIX. và đ ng th i th c thi s giao ti p v i ngư i dùng.1 1. Ken Thompson và Brian Kernighan. Không có h đi u hành thì máy tính không th c hi n đư c ch c năng c a mình. GNU và FSF. yêu c u c a Linux đ i v i ph n c ng. môn chuyên ngành c a tôi – Hoá h c và t t nhiên c HĐH Linux. khái ni m b n phân ph i Linux. H đi u hành UNIX do nhóm các nhà phát tri n Bell Labs vi t ra vào năm 1969 dư i s đi u khi n c a Dennis Ritchie.1. t ch c làm vi c v i các t p tin (trong đó có ch y và đi u khi n vi c th c hi n c a các chương trình).Chương 1 HĐH Linux: l ch s và các b n phân ph i “Just for fun” – Linus Torvalds. và cách có đư c nh ng b n phân ph i này. Trong chương đ u tiên c a cu n sách “T h c s d ng Linux” này chúng ta s tr l i ng n g n cho câu h i “Linux là gì?”. k c Yoga mà b t ngu n t nĐ . t c là d ch các câu l nh c a ngư i dùng và hi n th k t qu làm vi c c a nh ng l nh này.

205708. This has been brewing since april. trong đó có BSD. Yes — it’s free of any minix code.40). đã b t đ u phát tri n m t HĐH ki u UNIX cho các máy tính cá nhân tương thích v i IBM (IBM-compatible PC). It is NOT portable (uses 386 task switching etc).Helsinki. and is starting to get ready. and it probably never will support anything other than AT-harddisks. Trong thư này Linus cho bi t anh đang phát tri n m t h đi u hành t do cho các máy tính đ i 386 (486) và yêu c u nh ng ai quan tâm cho bi t nh ng thành ph n nào c a h th ng cho ngư i dùng c n ph i có đ u tiên. 1. but I won’t promise I’ll implement them :-) Linus (torvalds@kruuna.4 HĐH Linux: l ch s và các b n phân ph i Vào cu i nh ng năm 70 c a th k trư c (th k XX) các nhà phát tri n c a trư ng đ i h c California Berkeley đã thêm vào mã ngu n c a UNIX r t nhi u s c i ti n trong đó có h tr giao th c2 TCP/IP (giao th c m ng chính hi n nay). Và và đ u nh ng năm 90 m t sinh viên c a trư ng đ i h c Helsinki (Ph n Lan).os.os.helsinki. S n ph m này n i ti ng dư i tên BSD ("Berkeley Systems Distribution").2 M t chút v l ch s HĐH Linux v a k ni m sinh nh t l n th 15 c a mình. This implies that I’ll get something practical within a few months.FI (Linus Benedict Torvalds) Newsgroups: comp.9541@klaava. H đi u hành dòng UNIX. Any suggestions are welcome. I’ve currently ported bash(1. Đi u đ c bi t ch b n quy n c a s n ph m cho phép ngư i khác phát tri n và c i ti n và chuy n k t qu thu đư c đ n ngư i th ba (cùng v i mã ngu n ho c không) v i đi u ki n là ph i ch ra ph n nào c a mã đư c phát tri n Berkeley.minix ngày 25 tháng 8 năm 1991 (đư c coi là ngày sinh nh t c a HĐH này): From: torvalds@klaava.1. I’d like any feedback on things people like/dislike in minix. Linus Torvalds. and it has a multi-threaded fs. as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things).FI> Date: 25 Aug 91 20:57:08 GMT Organization: University of Helsinki Hello everybody out there using minix I’m doing a (free) operating system (just a hobby. won’t be big and professional like gnu) for 386(486) AT clones.minix Subject: What would you like to see most in minix? Summary: small poll for my new operating system Message-ID: <1991Aug25. Đây là b c thư mà Linus g i vào nhóm tin t c comp. Nhưng d n d n c u hình trang thi t b c a máy tính cá nhân cũng m nh lên và hi n nay có kh năng cao hơn so v i nh ng mainframe c a nh ng năm 70 th k trư c. and things seem to work.Helsinki. as that’s all I have :-(. and I’d like to know what features most people would want.fi) PS. Nh ng ngư i dùng trong nhóm tin t c này đã làm vi c dư i h đi u hành Minux do giáo sư Andy 2 protocol . lúc đ u đư c phát tri n đ làm vi c v i các máy tính nhi u ngư i dùng – các mainframe.08) and gcc(1.

Note the lack of announcement for 0. 0. vì th ch g i thông báo đ n t t c nh ng ai mu n th hi n s quan tâm. d n đ n vi c gi m ch t lư ng chương trình và s có m t c a r t nhi u l i không xác đ nh đư c trong nh ng chương trình này.01. B n quy n này có th tìm th y trong nh ng phiên b n đ u tiên c a nhân trên ftp.org) – d án t o chương trình ng dùng mi n phí.gnu. m t cu n sách nói v đ i tư c a Linus Torvalds đ n th i đi m anh làm cho Transmeta và vi c phát tri n HĐH Linux. ví d ftp://ftp. B n quy n đư c đ i sang GPL t phiên b n 0. Đây là phiên b n đã có th làm vi c trên máy.01: tôi không t hào l m v nó.li. Linus Torvalds vi t: “As I already mentioned. B i vì tính đ n th i đi m b t đ u xây d ng t ch c thì các công ty thương m i gi r t c n th n các chương trình ng d ng c a mình. 4 Th t ra lúc đ u nhân Linux đư c phân ph i theo b n quy n mà FSF không không nh n là t do vì nghiêm c m phân ph i thương m i. Minux làm vi c trên các máy tính v i b x lý 286 và đư c Linus dùng làm mô hình cho HĐH m i.org/pub/linux/kernel/Historic/oldversions/RELNOTES-0.12 theo đ a ch trên.org.”)3 Sau đó ngày 05 tháng 10 năm 1991 phiên b n 0. hãy xem RELNOTES-0. đó b n s nh n đư c thông tin chi ti t v l ch s xu t hi n và phát tri n Linux. N u b n đ c quan tâm đ n l ch s c a HĐH này thì hãy đ c trang web sau: http://www.02 ra đ i. Free Software Foundation) có trang ch n m t i đ a ch http://www. Open Source và d án GNU c n ph i nói đ n m t cách đ c bi t. sao chép.01: I wasn’t too proud of it. GNU là R t thú v là sau khi Linus Torvalds phát tri n HĐH c a mình thì gi a anh và giáo sư Andy Tanenbaum đã n ra m t cu c tranh cãi. 3 . V b n quy n này. N u b n đ c quan tâm thì có th tìm đ c nh ng thư mà hai ngư i này g i cho nhau trong nhóm tin t c nói trên. làm ch m quá trình t o ng d ng m i vì m i nhà l p trình s ph i vi t l i t đ u m t ng d ng thay vì dùng đo n mã ngu n đã có trong ng d ng khác. Chú ý r ng không có thông báo cho b n 0.” (“Như tôi đã nói trư c đây.1 Th nào là HĐH nói chung và Linux nói riêng 5 Tanenbaum vi t ra đ làm công c h c t p cho các sinh viên l p trình. Stallman cho r ng vi c này r t có h i đ i v i phát tri n chương trình ng d ng. b o v nó b ng các b ng sáng ch .org. s a đ i.kernel.php.org/linuxhistory. các d u hi u b o v quy n tác gi .01 không đi kèm theo binary nào: nó ch là mã ngu n cho nh ng ai mu n bi t linux trông ra sao.1. ho c tìm đ c cu n “Linux: Just for fun”. T p tin phiên b n đ u tiên c a Linux (phiên b n 0. M c đích c a t ch c này là lo i tr t t c nh ng đi u c m đoán và h n ch phân ph i. Ngay t đ u Linux đã đư c phân ph i theo đi u ki n c a b n quy n General Public License (GPL)4 thư ng dùng cho các ph n m m ng d ng Open Source và d án GNU. Trong khuôn kh T ch c ph n m m t do đã b t đ u làm vi c d án GNU (http://www. so I think I only sent a note to everybody who had shown interest. 0. Vào năm 1984 nhà bác h c ngư i m Richard Stallman sáng l p ra T ch c ph n m m t do (FSF. nghiên c u chương trình ng d ng. gi bí m t nghiêm ng t mã ngu n c a chương trình vi t trên các ngôn ng b c cao (như C++).fsf. Linus Torvalds không đăng ký b ng sáng ch cũng như không gi i h n vi c phân ph i HĐH m i này.01) đư c công b trên Internet ngày 17 tháng 09 năm 1991. Theo ti ng lóng c a Linux thì b n quy n này đôi khi đư c g i là Copyleft.12.01 didn’t actually come with any binaries: it was just source code for people interested in what linux looked like. T i t nh t là làm ch m quá trình trao đ i ý tư ng trong ngành l p trình.kernel.

Hãy vi t thư cho h đ h c h i kinh nghi m! Trong khuôn kh c a ho t đ ng Open Source nói chung và d án GNU nói riêng. Cùng v i s ra đ i c a phiên b n th 3 này đã n y ra r t nhi u tranh cãi xung quanh tính t do c a b n quy n. đây chúng ta g p l i cơ ch đào th i (hay t t hơn là ch n l c) t nhiên như trong thuy t sinh h c c a Darwin. Nh ng gì do d án GNU phát tri n đ là t do. Chương trình ng d ng phân ph i theo GPL đư c quy n phát tri n. Nói như các nhà sáng l p ra FSF. Đi u ki n cu i là quan tr ng và then ch t c a b n quy n này. là nh ng ngư i hi u rõ nh t đi u này. Các nhà phát tri n xvnkb (http://xvnkb.tug. M t ph n thư ng t t n a đó là khi chương trình tr lên n i ti ng thì tác gi c a chương trình s có đi u ki n tìm m t công vi c có lương cao.org/copyleft/gpl. đây c n ph i đưa ra ví d đ b n đ c hi u rõ hơn: ngu n thu nh p có th là các s n ph m đi kèm ho c d ch v cài đ t và c u hình cho nh ng máy tính m i ho c phát tri n cho nh ng đi u ki n làm vi c m i. . chuy n ho c bán cho ngư i khác không h n ch v i m t đi u ki n là k t qu thu đư c cũng ph i phân ph i theo b n quy n copyleft. do đó không còn t do).gnu. t c là nh ng gì thu c v d án GNU không ph i là m t ph n c a Unix (vào th i gian đó th m chí t UNIX đã tr thành thương hi u.org). còn các l i s đư c nh n ra và s a nhanh chóng. Trong “Manifesto GNU” (http://www. nh ng ý tư ng và cách gi i quy t m i đư c phân ph i r ng rãi ngay l p t c. mà bán chính s c lao đ ng c a nhà l p trình. nhưng không có nghĩa là chúng đư c phân ph i không có b n quy n và không đư c lu t pháp b o v . Đi u đó không có nghĩa là các nhà l p trình không còn nh n đư c ph n thư ng (ti n) cho công vi c c a mình. . Tham gia vào tranh cãi có c ngư i vi t ra nhân Linux đ u tiên – Linus Torvalds. G n như t t c các chương trình ng d ng phân ph i theo đi u ki n GPL có th coi là mi n phí đ i v i ngư i dùng (trong ph n l n các trư ng h p đ nh n đư c nó b n ch ph i tr ti n đĩa CD. n i ti ng nh t trong s chúng đó là trình so n th o Emacs và trình biên d ch GCC (GNU C Compliler) – trình biên d ch ngôn ng C t t nh t hi n nay. đã phát tri n m t lư ng đáng k các chương trình ng d ng.org/gplv.openoffice.org) và pdfLaTeX (http://www.sf.html. N u như nói m t cách th t ng n g n thì b n ch t c a GPL như sau. Đi u ki n này cũng phân bi t ph n m m t do v i ph n m m phân ph i mi n phí.6 HĐH Linux: l ch s và các b n phân ph i t vi t t t c a GNU’s Not Unix. Cơ ch này b kìm nén trong th gi i chương trình ng d ng thương B n đ c cũng nên bi t là s p t i s có phiên b n th 3 c a GPL (GPLv3). thì b n quy n GPL “làm cho chương trình ng d ng t do và đ m b o là chương trình này s t do”5 .gnu. d y cách s d ng. Vi c m mã ngu n đ ng th i nâng cao r t nhi u ch t lư ng c a chương trình ng d ng: t t c nh ng gì t t nh t. s a đ i. unikey (http://unikey. B n d ch ti ng Vi t không chính th c n m t i http://vi. Nh ng chương trình Open Source (Mã ngu n m ) đư c phân ph i theo đi u ki n c a b n quy n General Public License (GPL). Ý tư ng chính c a Stallman là ch không ph i bán chương trình ng d ng.v.html.net). DVD ho c k t n i Internet). B n có th đ c b n quy n này theo đ a ch http://www.org/ gnu/manifesto. Nó b o đ m r ng k t qu lao đ ng c a các nhà phát tri n ph n m m t do s luôn luôn m và không tr thành m t ph n c a s n ph m nào đó dùng b n quy n bình thư ng (ý nói s n ph m đóng). v.html) vào năm 1985 Stallman vi t r ng đ ng l c đ ông sáng l p ra FSF và d án GNU đó là s khó ch u trong quy n s h u c a m t s ngư i đ i v i chương trình ng d ng. 5 .

Khi này Linux có th cung c p t t c các tài nguyên h th ng cho ngư i dùng làm vi c qua các terminal xa khác nhau. thì Linux s ph c h i chúng t . Stallman t t nhiên đã đúng khi đòi h i h đi u hành Linux ph i đư c g i là GNU/Linux. C n nói r ng Linus Torvalds ch phát tri n ph n nhân (kernel) c a h đi u hành. D án GNU cũng đã b t đ u phát tri n nhân cho riêng mình (đư c g i là Hurd). h tr các công ngh m i g n như ngay l p t c. Linux h tr kh năng nhi u ngư i dùng làm vi c cùng lúc. Nhân này “đ u” đúng vào mi n “đ t lành”. l n lư t chia cho m i ti n trình m t kho ng th i gian th c hi n. N u có trang nào đó trong nh ng trang này l i tr thành c n thi t. Nhi u ti n trình th t s T t c các ti n trình là đ c l p. Đ làm đư c đi u này nhân th c hi n ch đ phân chia th i gian c a b x lý trung tâm. b n v ng và phát tri n nhanh nh t. Linux có t t c các kh năng. T H N d s ch c b nh theo trang th ng b nh Linux đư c t ch c d ng các trang v i dung lư ng 4K.1. u b nh đ y.1 Th nào là HĐH nói chung và Linux nói riêng 7 m i.1. không m t ti n trình nào đư c c n tr công vi c c a ti n trình khác. nhưng cho phép ch y các chương trình c n b nh dung lư ng l n mà th c t không có trên máy tính. 1. nhưng vì lý do nào đó đã b ch m l i. và chúng ta cũng làm như v y trong cu n sách này. vì trong d án GNU đã phát tri n s lư ng l n các ti n ích khác nhau. Vi c này có làm gi m t c đ làm vi c. Nhưng đ chuy n GNU thành m t HĐH hoàn ch nh thì ch còn thi u nhân. khi m t ti n trình ph i như ng b x lý cho các ti n trình khác (và có th làm ch m tr r t lâu vi c th c hi n). Swap b nh lên đĩa Swap b nh cho phép làm vi c v i Linux khi dung lư ng b nh có h n. Vùng đĩa c ng này đư c coi là b nh ph thêm vào. 3. nên ngay t đ u đã có r t nhi u nhà l p trình tham gia vào quá trình phát tri n h th ng. thì HĐH s tìm nh ng trang b nh đã lâu không đư c s ng đ chuy n chúng t b nh lên đĩa c ng. Xin đưa ra đây danh sách ng n g n nh ng kh năng này. 2. Truy c p nhi u ngư i dùng Linux không ch là HĐH nhi u ti n trình. N i dung c a m t s ph n (trang) b nh đư c ghi lên vùng đĩa c ng xác đ nh t trư c. Nó đ ng nghĩa v i vi c ra đ i c a m t h đi u hành m i t do phân ph i cùng v i mã ngu n m . Cách này hoàn toàn khác v i ch đ “nhi u ti n trình đ y nha” đư c th c hi n trong Windows 95. Tuy nhiên bây gi xin quay l i v i l ch s c a Linux. Nh đó đ n th i đi m hi n nay Linux là h đi u hành hi n đ i. 1.3 Đ c đi m chính c a HĐH Linux Do mã ngu n Linux phân ph i t do và mi n phí. 4. Nhưng đã thành l ngư i dùng thư ng s d ng tên g i c a nhân làm tên g i c a h đi u hành. đ c trưng cho các h đi u hành đ y đ tính năng dòng UNIX. Vì th s xu t hi n c a nhân Linux là r t đúng lúc.

Có m t s thư vi n tiêu chu n đư c dùng cùng lúc cho vài ti n trình.1 (Portable Operating System Interface – giao di n c a h đi u hành lưu đ ng) đưa ra giao di n tiêu chu n cho các h th ng Unix. N p môđun th c hi n “theo yêu c u” Nhân Linux h tr vi c cung c p các trang b nh theo yêu c u. đ s d ng tín hi u và b nh chung. khi này ch ph n mã c n thi t c a chương trình m i n m trong b nh . 10. và như v y cho phép gi m kích thư c b nh b ng d ng chi m. và th c hi n cùng lúc nh ng chương trình này d n đ n hao h t b nh không đáng có. chương trình này d tr m t ph n b nh có kích thư c xác đ nh đ làm b đ m cho đĩa. B đ m đ ng c a đĩa B đ m c a đĩa đó là m t ph n b nh c a h th ng dùng làm nơi lưu nh ng d li u thư ng dùng c a đĩa. và s gi m xu ng khi h th ng hay ti n trình c n nhi u b nh hơn. System V IPC Linux s d ng công ngh IPC (InterProcess Communication) đ trao đ i thông tin gi a các ti n trình. Cùng s d ng chương trình N u c n ch y m t lúc nhi u b n sao c a cùng m t ng d ng nào đó6 . 7. 100% tương ng v i tiêu chu n POSIX 1003. 5.1. Linux 100% tương ng v i tiêu chu n POSIX 1003.1. Microsoft Windows NT cũng h tr POSIX 1003. nh đó nâng cao r t nhi u t c đ truy c p t i nh ng chương trình và ti n trình thư ng dùng. 9. Trên các h th ng cũ nh ng thư vi n đó n m trong m i t p tin chương trình. H tr m t ph n các kh năng c a System V và BSD POSIX 1003. Ngày nay giao di n này đư c t t c các h đi u hành m i h tr .8 HĐH Linux: l ch s và các b n phân ph i đĩa c ng (vào b nh ). Linux s d ng h th ng đ m linh đ ng hơn: b nh đư c d tr cho đ m đư c tăng lên khi b nh không đư c s d ng. ho c nhi u ngư i dùng ch y cùng m t chương trình 6 . Thêm vào đó Linux còn h tr các kh năng c a System V và BSD đ tăng tính tương thích. Thư vi n chung Thư vi n – b các quá trình (thao tác) đư c chương trình dùng đ làm vi c v i d li u. M t s h th ng Unix cũ và m t s h th ng hi n đ i (bao g m c Microsoft Windows) chuy n lên đĩa t t c n i dung c a b nh thu c v nh ng ng d ng không làm vi c t i th i đi m hi n th i (t c là T T C các trang b nh thu c v ng d ng s đư c lưu lên đĩa khi không đ b nh ) và như v y kém hi u qu hơn. Trên các h th ng m i (bao g m Linux) có h tr làm vi c v i các thư vi n đ ng (dynamic) và tĩnh (static) đư c chia ra. 6. còn nh ng ph n mã không s d ng t i th i đi m hi n t i thì n m l i trên đĩa. đó là m t b các th t c ngôn ng C.1. 8. Ngư i dùng MS-DOS s nh đ n chương trình SmartDrive. thì Linux ch n p vào b nh m t b n sao c a mã chương trình và t t c các ti n trình gi ng nhau cùng s d ng m t mã này. ho c m t ngư i dùng ch y vài ti n trình gi ng nhau.

Ngoài ra còn có phiên b n Linux cho các b x lý khác bao g m ARM. như AMD. bao g m Networked File System (NFS).. SUN Sparc. HĐH Linux còn có kh năng ch y chương trình dành cho b x lý Intel c a các h th ng Unix khác. 1. HFS. . MIPS. cho các HĐH đã phát tri n trư c Linux. Đ ng th i có h tr dùng Linux là máy ch ho c máy khách cho m ng khác. c u trúc (h th ng) t p tin. bochs. . trong đó có c nh ng chương trình có ích và không đ n n i t i. M68000 (Atari và Amiga). Ngoài ra. H tr các đ nh d ng h th ng t p tin khác nhau Linux h tr m t s lư ng l n các đ nh d ng h th ng t p tin. truy c p dial-up qua các giao th c SLIP và PPP. bao g m DOS. và c các h th ng t p tin m i. n u h th ng đáp ng tiêu chu n iBCS2 (intel Binary Compatibility).v. DEC Alpha.org) 8 7 . Xin đư c nói luôn là trong cu n sách này chúng ta ch xem xét trư ng h p Linux cho các máy tính tương thích v i IBM. Windows. Đ ch y nh ng chương trình như v y dư i Linux đã phát tri n các trình gi l p (emulator) cho DOS. Windows 3. 13. PowerPC và nh ng b x lý khác8 . trong đó có chia s (dùng chung. như reiserfs. ssh). vmware. 12. NetWare và Windows. sharing) các t p tin và in t xa trong các m ng Macintosh. . Windows 95 và Wine. H tr t t c các d ch v Unix.v. còn có m t lo t các chương trình t o máy o7 mã ngu n m cũng như s n ph m thương m i: qemu. FreeBSD và OS/2. trình d ch l nh ngư i dùng và các ti n ích. . đư c g i là Second Extended File System (ext2fs) và Third Extended File System (ext3fs) cho phép s d ng không gian đĩa m t cách có hi u qu . pearpc.1. .2 B n phân ph i Linux Trong b t kỳ h đi u hành nào cũng có th chia ra 4 ph n chính: nhân. 14. bao g m c các b x lý 64bit. Nhân đó là cho phép s d ng nhi u h đi u hành trên m t máy B n phân ph i Linux h tr nhi u b x lý nh t c n ph i k đ n Debian (http://www. Kh năng ch y chương trình c a HĐH khác Trong l ch s Linux không ph i là h đi u hành đ u tiên. Đ ng th i Linux còn làm vi c trên r t nhi u b x lý tương thích v i Intel c a các nhà s n xu t khác. Kh năng h tr m ng Linux có th g n vào b t kỳ m ng n i b nào. ..1. làm vi c trong các m ng TCP/IP. Làm vi c trên các ph n c ng khác nhau M c dù đ u tiên HĐH Linux đư c phát tri n cho máy tính cá nhân (PC) trên n n t ng Intel 386/486. bao g m các h th ng t p tin DOS và OS/2. rlogin. debian. . Ngư i ta đã vi t ra hàng lo t các chương trình ng d ng. Trong khi đó h th ng t p tin chính c a Linux.2 B n phân ph i Linux 9 11. Trong Internet còn có nh ng thông báo nói r ng trên các b x lý Athlon và Duron c a AMD Linux còn làm vi c t t hơn so v i trên Intel. k t n i t xa (telnet. bây gi nó có th làm vi c trên t t c các b vi x lý Intel b t đ u t 386 và k t thúc là các h th ng nhi u b x lý Pentium IV.

c n tìm cách gi i quy t s ph thu c và mâu thu n gi a các gói (và gi a các phiên b n c a gói) chương trình. đ ng th i còn có thêm các chương trình cho công vi c hàng ngày c a ngư i dùng. Như đã nói trên. Và suy nghĩ đó có ph n nào đúng. trên trang đó cũng như nhi u trang web khác còn có liên k t đ n nh ng danh sách b n phân ph i khác.com (còn có m t s b n phân ph i khác ti ng Anh). B n phân ph i – đó là m t b các chương trình ng d ng bao g m t t c b n ph n chính c a HĐH. h th ng t p tin. nó đi u khi n các thi t b ph n c ng và đi u khi n vi c th c hi n chương trình. n u chính xác thì t “Linux” ch có nghĩa là nhân. Và cu i cùng các ti n ích – đó đơn gi n là các chương trình riêng l . R t có th xu t hi n trong b n đ c ý nghĩ r ng b t kỳ ai cũng có kh năng cho ra b n phân ph i Linux. nòng c t c a HĐH. M t trong nh ng k t qu c a vi c phân ph i t do chương trình ng d ng cho Linux đó là có nhi u công ty cũng như nhóm các nhà phát tri n đ c l p đã phát hành ra các b n Linux khác nhau đư c g i là “b n phân ph i Linux”. Tuy nhiên các nhà phát tri n c a m t b n phân ph i Linux c n t o ra ít nh t m t chương trình cài đ t đ đưa HĐH lên máy tính tr ng không chưa có HĐH nào. Ngoài ra. Thông thư ng t t c nh ng chương trình n m trong b n phân ph i Linux đ u dùng b n quy n GPL. h v shell và các ti n ích.10 HĐH Linux: l ch s và các b n phân ph i thành ph n chính. Và như chúng ta s th y sau đó không ph i là bài toán đơn gi n. vì th n u mu n có th tìm th y t t c nh ng gì có trên th gi i (h u h t nh ng trang này dùng ti ng Anh và các b n phân ph i Vi t Nam ít đư c nói đ n). Trình d ch l nh hay h v (shell) – là chương trình t ch c giao ti p gi a máy tính và ngư i dùng. Nhưng hi n nay có th chia ít nh t 3 nhóm b n phân ph i. Có th tìm th y danh sách tương đ i đ y đ cùng v i đ c đi m ng n g n c a m i b n phân ph i trên http://www. Tuy v y. M t vài tác gi đã th phân lo i các b n phân ph i d a trên nh ng tiêu chí khác nhau: • c u trúc h th ng t p tin • chương trình cài đ t • phương ti n dùng đ cài đ t các gói chương trình • thành ph n c a các ti n ích và chương trình ng d ng có trong b n phân ph i. hay nói đúng hơn là b t kỳ ngư i nào không lư i sưu t p các chương trình t do. M c dù h u h t các tác gi cho r ng s khác nhau gi a các b n phân ph i là không cơ b n. linuxhq. trên th gi i đang có hàng trăm (hàng nghìn?) b n phân ph i Linux và m i ngày l i xu t hi n các b n m i. . Nhân c a HĐH Linux hi n th i đang đư c phát tri n dư i s lãnh đ o c a Linus Torvalds và phân ph i m t cách t do (v i b n quy n GPL) gi ng như m t s lư ng kh ng l các chương trình ng d ng và ti n ích khác. Ngoài ra. nói chung không khác so v i nh ng chương trình bình thư ng khác mà ngư i dùng có th ch y. C u trúc t p tin (h th ng t p tin) – là h th ng lưu t p tin trên các thi t b lưu. nhưng có ch c năng chính là th c hi n các công vi c d ch v (service). t c là nhân. Vì th khi nói v h đi u hành nói chính xác hơn s là “h đi u hành d a trên nhân Linux”. mà đ i di n c a m i nhóm là Red Hat. Slackware và Debian.

Vì Linus Torvalds ti p t c đi u hành vi c phát tri n nhân. Ví d . h tr nhi u ph n c ng khác nhau • có th cài đ t thêm các ph n m m khác m t cách d dàng ph n l n chương trình đã đư c biên d ch s n cho m i yêu c u c a ngư i dùng • nh ng b n phân ph i này đư c m t nhóm các nhà phát tri n duy trì.16. Không s trư ng h p “đem con b ch ”. C n phân bi t s phiên b n c a b n phân ph i và s phiên b n c a nhân.1.6 tr đi Linus và các nhà phát tri n khác th nghi m dùng b n s . L a ch n th nh t. Ubuntu và Mandriva.1 đư c d a trên nhân phiên b n 2.opensuse.6. Hi n th i có m t b n phân ph i như v y: vnlinux-CD (cùng v i m t vài bi n th ) do anh Larry Nguy n.6. Và t t nh t n u nhóm các nhà phát tri n này nh n đư c ngu n l i t s n ph m Linux c a mình. ch không phân nhánh và nhân lên gi ng như trư ng h p b n phân ph i. theo ý ki n c a tôi không đư c ưu tiên đây. b n phân ph i openSuSE Linux 10. T 2. Đ k t thúc câu chuy n v l a ch n b n phân ph i Linux c n nói thêm là g n đây bác Nguy n Đ i Quý (http://vnoss. Phiên b n nhân v i s th hai Đi u này ch đúng v i các phiên b n nhân trư c 2. 9 . phân cách nhau b i d u ch m.6. m t Vi t ki u M duy trì. . Chúng ta s nói đ n hai s l a ch n này m t cách k càng hơn. Ngoài ra còn đ m b o là b n s nh n đư c phiên b n m i c a nó trong tương lai.16.2 B n phân ph i Linux 11 V y thì c n l a ch n b n phân ph i theo tiêu chu n nào? Theo ý ki n c a tác gi thì đ i v i ngư i dùng Vi t Nam có hai tiêu chu n: th nh t ph i có giao di n ngư i dùng ti ng Vi t và th hai ph i có m t nhóm các nhà phát tri n h tr b n phân ph i này. L a ch n th hai này đư c ưu tiên vì: • chúng có h tr ti ng Vi t và càng ngày càng hoàn thi n • chúng có trình cài đ t t t. Khi nói đ n phiên b n c a Linux thư ng có ý là phiên b n nhân (vì m t h đi u hành là Linux ch khi nó s d ng nhân Linux). s d ng các s n ph m Linux l n có h tr ti ng Vi t.13. Đ i v i ngư i dùng Linux Vi t Nam hi n th i có hai l a ch n: th nh t. s d ng các s n ph m Linux ti ng Vi t do m t s ngư i t nguy n duy trì. B n phân ph i này d a trên n n t ng c a FC c ng thêm giao di n ti ng Vi t và m t s ng d ng “mang tính Vi t Nam” như chương trình gõ ti ng Vi t. c p nh t thư ng xuyên thông thư ng là theo m t l ch đ nh s n.13. t đi n ti ng Vi t. Phiên b n nhân Linux thư ng đư c ký hi u b ng ba s 9 . th hai. Th m chí ch trong kho ng th i gian không lâu mà tôi s d ng Linux (kho ng 5 năm) đã có nhi u b n phân ph i Vi t Nam cũng như nư c ngoài đã chào t m bi t th gi i Linux vì nhóm h tr c a chúng không thu đư c nhi u l i nhu n và sau đó m t th i gian ng ng h tr tác ph m c a mình.org) đã cho ra đ i m t b n phân ph i m i hư ng v ngư i dùng Vi t Nam – FCxVnOSS.org). . t c là làm vi c như m t công ty thương m i. C n nói vài l i v đánh s phiên b n. L a ch n th hai đó là s d ng các b n phân ph i h tr ti ng Vi t t t như Debian. openSuSE cũng đang d n d n h tr ti ng Vi t (http://vi. nên phiên b n c a nhân tăng lên theo th t . t c là Linux phiên b n 2. Lý do chính là chưa đ t đư c tiêu chu n th hai nêu trên..

Nhưng trong cu n sách này chúng ta s không xem xét nh ng trư ng h p đ c bi t như v y.1: Yêu c u đ i v i ph n c ng Mong mu n c a ngư i dùng Yêu c u.. B ng 1. windowmaker. Theo các ngu n thông tin khác nhau thì t t c các bi n th đ u dùng t t: SX.12 HĐH Linux: l ch s và các b n phân ph i l (ví d . . Vì HĐH Linux s d ng ch đ b o v c a b vi x lý. nhưng đ i v i ngư i dùng m i thì nên ch n phiên b n nhân v i s th hai trong phiên b n là ch n. B ng 1. có đ m t s ng d ng ngư i dùng như vim. nh ng máy tính s n xu t g n đây đáp ng đư c toàn b nh ng yêu c u đã đưa ra và s đưa ra dư i đây. làm vi c th m chí trên b x lý 8086 v i 512Kbyte b nh . Dùng đư c giao di n đ ho X Window cùng v i m t 32 400 s trình qu n lý c a s nh nh như icewm. . N u cài đ t m t b n phân ph i đ y đ thì đương nhiên l a ch n nhân đã đư c các nhà phát tri n làm giùm b n đ c.org).3 Yêu c u đ i v i máy tính Tôi đã đ c đâu đó nói r ng có nh ng phiên b n Linux đ c bi t. nhưng không b n v ng. trên đó không th ch y n i Windows. nên đ cài đ t HĐH này c n ít nh t là m t máy tính có b x lý 386. thì có th s d ng nó đ h c Linux và r t có th s ng c nhiên v kh năng c a HĐH này. OpenOffice. Xin đ ng lo l ng.0) thư ng không đư c s d ng đ t o các b n phân ph i. nhưng c n bi t cách đánh s phiên b n n u khi nào đó b n mu n c p nh t nhân Linux c a mình. 128 1000 Ch y các ng d ng c n nhi u b nh (như GIMP. Dùng môi trư ng làm vi c đ ho KDE. nh ng con s này là không chính xác nhưng không khác bi t nhi u gi a các b n Linux khác nhau. fluxbox.1 dư i đây s đưa ra m t vài con s ch v i m c đích giúp b n đ c làm quen. vì đó là phiên b n th nghi m (ch dành cho phát tri n). Vì th n u b n có m t cái máy tính cũ. MB B nh Đĩa c ng Yêu c u nh nh t: ch làm vi c trong giao di n văn 8 200 b n v i dòng l nh c a shell.v. 256 1500 các ng d ng n m trong KOffice.16.5.13) đư c coi là làm vi c n đ nh. emacs. Chúng đư c dành cho nh ng ngư i tình nguy n có mong mu n th nghi m đ tìm ra các l i. . T t nhiên phiên b n như v y có th làm vi c. còn phiên b n đ c bi t có th ch y t m t ho c hai đĩa m m không c n đĩa c ng thì tôi đã g p. mà trư c đây ch có th dùng MS DOS (t t nhiên là trong trư ng h p này chúng ta ch thu đư c ch đ dòng l nh. .6. 2. T t nhiên là b n có th cài đ t b t kỳ phiên b n nào. Yêu c u đ i v i ph n c ng c a h th ng mu n cài đ t Linux còn đư c xác đ nh b i l a ch n ph n m m c a ngư i dùng (và t c là s ph thu c vào phiên b n c a các ph n m m và ít nhi u vào b n phân ph i). 1. Phiên b n v i s th hai ch n (ví d 2. DX v. Như v y Linux có m t ưu đi m l n đó là kh năng làm vi c th m chí trên nh ng máy r t cũ. nhưng đi u này không .

Đ a ch c th xin không đưa ra đây vì qu ng cáo trong th gi i hi n đ i đã không còn là mi n phí. sau m t th i gian kho ng 1 tháng – 1 tháng rư i b n s nh n đư c chúng.4 L y Linux đâu? 13 ngăn c n vi c dùng các máy tính cũ làm vi c có l i ví d làm router10 ). thì có toàn quy n sao chép toàn b b n phân ph i Linux ho c m t ph n b t kỳ c a nó ch ngư i quen. Ch c n vào đ a ch http://shipit. Konqueror. ). . C n nói riêng v h th ng phát đĩa v i b n phân ph i Ubuntu m t cách mi n phí. DVD là t t nh t. Theo tôi nghĩ đây là cách t t nh t n u b n không có đi u ki n đ mua đĩa. 1. Tôi hi n s d ng openSuSE Linux 10. Có th làm vi c đ ng th i nhi u ng d ng yêu c u: OpenOffice. ph n còn l i dành cho d li u. Kile (dùng đ vi t nh ng dòng này). T t hơn h t là nên mua đĩa c a m t công ty máy tính ho c qua m t c a hàng trên m ng. b nh 256Mb (+256Mb swap). 10 máy giúp chuy n hư ng các gói m ng . 10GB c ng dành cho cài đ t Linux. 16MB b nh và c ng kho ng 300MB. càng nhi u b nh . Và vi c gi u đ a ch không làm nh hư ng đ n nh ng ai có mong mu n mua Linux đ nghiên c u.4 L y Linux đâu? Và trong ph n cu i c a chương th nh t chúng ta s tr l i ng n g n cho câu h i “L y Linux đâu?”. KBabel. T t nhiên đ i v i dung lư ng b nh cũng như c u hình máy nói chung thì máy càng m nh. c ng càng r ng thì càng t t.1 v i môi trư ng làm vi c KDE. Linux cùng v i m t s lư ng kh ng l các chương trình ng d ng đư c phân ph i g n như mi n phí. StarDict (chương trình t đi n). . Khi đó còn có kh năng l a ch n và có b o đ m là s đ i đư c đĩa x u.com đăng ký s lư ng đĩa b n c n. T t nhiên là chênh l nh giá thành đĩa ph i không quá cao. Có nghĩa là ngư i dùng không có ý đ nh thay đ i chương trình ho c mua bán nh ng chương trình này. Không có gì là th a thãi..1. Novell Desktop. Đ k t thúc xin đưa ra đây trư ng h p c u hình máy c a tôi: b x lý 686.org. ho c t i xu ng t Internet ho c mua đĩa CD (DVD) Linux ch nh ng ngư i bán hàng đâu đó trên hè ph mà không s b truy c u vì vi ph m b n quy n (các chương trình có b n quy n thương m i thư ng dùng t “s đ ng ý” gi a ngư i dùng và nhà phân ph i) c a các nhà (công ty) phát tri n. N u máy tính c a b n có th làm vi c v i các h đi u hành Windows 2000 và Windows XP thì vi c ch y Linux trên nó s không có gì khó khăn. Trong s ba phương án k trên thì đ i v i ngư i dùng Linux Vi t Nam phương án mua CD. t t nhiên có kèm theo đ a ch bưu đi n. giá thành bán Linux bao nhiêu đó là quy n c a ngư i bán (ngoài ra giá thành cao còn có các b n phân ph i chuyên nghi p như Xandros. Đ b t đ u h c Linux thì ch c n có m t máy tính v i b x lý 486. C n nói thêm là nh ng đĩa ghi v a hè thư ng có l i và có th gây m t d li u ho c làm h ng ph n c ng.ubuntu. Như đã nói trên. GIMP. Hi n gi trên m ng Vi t Nam đã xu t hi n m t vài c a hàng bán đĩa Linux.

m t cách t nhiên. mà xin b n đ c hãy tìm các cu n hư ng d n tương ng. Mandrake. Hãy ch đ i và hy v ng trong tương lai không xa s có b n d ch Ti ng Vi t c a nh ng cu n sách này. V nđ ch . Fedora. it’s good when it’s free” — Linus Torvalds. Windows 2000 và Windows XP. B i vì trên m t máy tính có th cùng “chung s ng hòa bình” hai HĐH và th m chí nhi u hơn n a (n u có đ ch trên đĩa!). cho m i tình hu ng s d ng. phía dư i s nói cách cài đ t HĐH Linux trên máy tính đã cài đ t m t trong các h đi u hành c a hãng Microsoft. 2. Và t t c các b n phân ph i l n (Debian. n u ngư i dùng đã làm vi c v i HĐH Windows và quy t đ nh th nghi m v i Linux. Thay vào đó là nh ng gì b n c n bi t và chu n b trư c khi cài đ t. trên Internet b n có th tìm th y r t nhi u cu n sách nó v v n đ này. R t may là không nh t thi t ph i đánh m t t t c nh ng th đó. ph n l n ngư i dùng Vi t Nam trư c khi b t đ u h c Linux đã làm quen và r t có th đã có kinh nghi m s d ng các HĐH dòng Windows như Windows 98. tác gi s đi c th và chi ti t vào nh ng gì đ c bi t khi cài đ t Linux trên máy tính đã có m t trong các h đi u hành (HĐH) Windows cũng như vi c kh i đ ng nhi u h đi u hành. cùng v i nh ng gì đã t o ra và đã c u hình dư i dư i Windows. Chính vì v y trong cu n sách này. Chính vì th . . Và trên th c t thì t m th i Linux khó có th là HĐH đ u tiên mà ngư i dùng làm quen. thì h không mu n m t đi môi trư ng làm vi c quen thu c c a mình.Chương 2 Cài đ t h đi u hành Linux “Software is like sex. . Slackware. đ ng th i. tác gi s không đưa ra các bư c c th c a vi c cài đ t.1 • T Chu n b cài đ t đĩa CD-ROM đĩa c ng Có th cài đ t Linux b ng m t trong các cách sau: • T b n sao chép Linux trên • T máy ch t p tin c a m ng n i b qua NFS. • T máy tính xa (ví d t Internet) qua giao th c FTP. • T máy tính khác trong m ng n i b qua SMB.. Thông thư ng trên các đĩa c a b n phân ph i Linux đã có hư ng d n ng n g n cách cài đ t Linux..) đ u đã có cu n hư ng d n cài đ t r t chi ti t. Như th . Ngoài ra.

cũng như SCSI . đây b n có th tìm th y g n h t t t c thông tin c n thi t. – đ i v i chu t c m vào c ng n i ti p thì c n s th t c a c ng đó. • Dung lư ng c a b nh (tính b ng Kilobyte • CD-ROM: – Giao di n (IDE.v.2. hay giao di n khác). – s hi u phiên b n. Xin đ ng lư i bi ng và hãy c g ng ghi càng nhi u d li u v m t thi t b càng t t (t t c nh ng thông tin có th tìm th y). Logitech. k c vi c m v máy và đ c nh ng dòng ch trên thi t b . . – s nút.1 Chu n b cài đ t • T m t máy ch WWW qua giao th c HTTP. PS/2. 15 Theo ý ki n cá nhân c a tác gi thì thu n ti n và có tính th c t nh t là cài đ t Linux t CD-ROM. . – hdd (Slave trên controller s 2 hay Secondary Slave). • Controller đĩa c ng: lo i (IDE hay SCSI) và dung lư ng c a đĩa (n u như b n đ c dùng đĩa IDE. • Chu t: – lo i chu t (serial. thì b n s tìm th y r t nhi u thông tin n u nh n chu t ph i vào bi u tư ng My Computer. nh ng d li u này s c n đ n khi cài đ t và c u hình. – hdb (Slave trên controller s 1 hay Primary Slave). xin đư c đưa ra đây danh sách nh ng thông tin c n thu th p. ch n l nh Properties. hơn n a vi c mua các đĩa CD bây gi không gây khó khăn gì. – nhà s n xu t và s m u mã c a adapter SCSI (n u có). hãy thu th p (hãy vi t lên m t t gi y) t t c nh ng thông tin c u hình c n thi t c a máy tính. Đ giúp b n đ c. khi mà vi c tìm ki m chúng s khó khăn hơn. – giao th c (Microsoft. • BIOS: – nhà s n xu t. v. SCSI. N u như máy tính c a b n t m th i v n còn làm vi c dư i HĐH Windows 95/98/2000/XP. – đ i v i các đĩa CD-ROM không ph i IDE. • C c màn hình . hay bus mouse).nhà s n xu t và s m u mã. N u như b n không th y thông tin nào đó. – hdc (Master trên controller s 2 hay Secondary Master). thì c n ki m tra xem BIOS có h tr vi c truy c p ch đ LBA hay không): – hda (Master trên controller s 1 hay Primary Master). MouseMan. Trư c khi b t đ u cài đ t. ). thì c n tìm ki m theo các cách khác.

và chúng r t quan tr ng trong khi c u hình giao di n đ h a). CD) cài đ t cho h th ng cũ. Bây gi thì tác gi đã . • Màn hình – nhà s n xu t – s m u mã. – đ a ch IP c a mình. Các thao tác này không ph i lúc nào cũng đem l i đem l i m t k t qu theo ý mu n. Nhưng rơi vào tình hu ng như v y h t s c d dàng nh t là v i ngư i dùng l n đ u tiên cài đ t Linux. – s m u mã (hay chipset s d ng) – dung lư ng b nh . – đ a ch IP c a gateway. Và th ba. – đ a ch IP c a máy ch WINS(Windows Internet Name Service). M t l i khuyên quan tr ng khác: n u có gì đó x y ra không theo ý mu n thì không nên hoang mang. Không hi u h t v n đ tác gi nghĩ là không còn cách gì khác ngoài đ nh d ng l i đĩa và cài đ t l i t đ u. – tên c a máy tính trong m ng. Chính vì v y. thì hãy ghi l i nh ng d li u sau: – nhà s n xu t và s m u mã c c m ng. c n ghi l i nh ng d li u có giá tr (backup). chu n b các t p tin (đĩa m m. max) c a t n s làm m i theo chi u d c và theo chi u ngang (nh ng giá tr này b n đ c ch có th tìm th y trong tài li u đi kèm v i màn hình. và k t qu là máy tính không th kh i đ ng đư c. Xin chia s m t kinh nghi m bu n: khi l n đ u tiên tác gi cài Linux trên máy tính đã có Windows NT. – m t n m ng con (subnet mask). • N u như b n đ c mu n k t n i m ng (mà UNIX nói chung là HĐH dành cho m ng). thay đ i b n ghi kh i đ ng (Boot Record) và làm vi c v i các t p tin kh i đ ng cũng như các t p tin c u hình. Vì r t có th b n đ c s ph i phân vùng l i đĩa. Th hai. và trong trư ng h p x u có th máy tính c a b n đ c s không kh i đ ng n a.2 Phòng xa và nh ng l i khuyên Trư c khi cài đ t HĐH Linux sau Windows. Windows không hi n th nh ng giá tr này. Cài đ t h đi u hành Linux – các giá tr gi i h n (min. đ u tiên. r t nên th c hi n vài thao tác “phòng xa” (“phòng cháy hơn ch a cháy”). • Lo i và nhà s n xu t c c âm thanh và game controller (n u như có) 2. – đ a ch IP c a các máy ch tên mi n (DNS server).16 – nhà s n xu t. c n t o m t đĩa m m kh i đ ng hay m t đĩa m m giúp ph c h i h th ng (n u b n đ c còn chưa t o). – tên mi n c a công ty b n đ c. Có bi t cách thoát ra kh i tình hu ng này và ph c h i d li u c n thi t không đó còn là m t câu h i.

Đ m truy c p này. Nhưng trư c khi chuy n sang các bư c c th đ chu n b đĩa. t c là các t p tin ghi l i s ki n c a h th ng (c n tìm chúng trong thư m c /var/log). 2. ki m tra l i nhi u l n thao tác c a mình. thì có th b qua chúng và chuy n th ng đ n v n đ ch n chương trình kh i đ ng. quá trình cài đ t HĐH Linux nói riêng không ph i là đ tài c a cu n sách. Nguyên nhân là trong phương án theo m c đ nh thì tư ng l a đư c cài đ t. Nhưng chúng ta quá v i vàng! Th hai. khi h th ng làm nh ng gì b n đ c không mong đ i. Đ c bi t trong các trư ng h p. NFS. xin đư c nói qua m t chút v c u trúc c a đĩa và quá trình kh i đ ng HĐH. Vì v y có th nói r ng Werner Almesberger đúng. còn t p h p các rãnh n m ch ng lên nhau g i là cylinder. tác gi khuyên không nên đ ng ý v i vi c t đ ng kh i đ ng vào giao di n đ h a. Đ c/Ghi d li u đư c th c hi n b i các đ u đ c n m gi a các đĩa này. Tuy nhiên. tác gi cũng mu n đưa ra vài l i khuyên đ giúp ngư i dùng đưa ra quy t đ nh trong khi cài đ t. còn vi c c u hình giao di n đ h a (n u có gì đó làm vi c không đúng) v i ngư i dùng m i r t khó thành công. hãy th m i cách đ tìm ra nguyên nhân.3 2. Ngư i dùng c n tìm các cu n hư ng d n tương ng. thì trong quá trình cài đ t c n ch rõ các d ch v đư c m . Đ minh ch ng cho l i khuyên này xin đư c k l i trư ng h p khi tác gi cài Red Hat 7. Th nh t. đĩa c ng g m vài đĩa có ph l p t tính. • Hãy đ c tài li u. và t đ ng nh n lên nút Next. và tư ng l a đóng h t các truy c p t m ng. ftp.1. m c dù đã c u hình giao di n m ng cho máy. vì cho r ng phương án theo m c đ nh là đ . Sau khi làm xong các công vi c phòng xa. Vì cu i cùng ngư i dùng không khó khăn gì khi gõ câu l nh startx. t c là c n chia đĩa thành s phân vùng c n thi t. N u ai đó không đ kiên nh n đ đ c ph n lý thuy t này. di chuy n t tâm đĩa ra rìa ngoài c a đĩa.2. Như đã nói trên. c n quy t đ nh s t ch c kh i đ ng nhi u HĐH như th nào. Samba). khi trong hư ng d n s d ng LILO có đưa ra nh ng l i khuyên sau cho ngư i dùng khi rơi vào trư ng h p khó khăn như v y: • Không ho ng h t. và có . Xin thêm m t l i khuyên ph bi n sau: * Hãy xem các t p tin log. chu n b các đĩa (phân vùng) đ cài đ t. N u như có gì đó không làm vi c. Ch sau khi đó m i th c hi n các bư c s a l i.1 Phân vùng trên đĩa và quá trình kh i đ ng Th nào là c u trúc “hình h c c a đĩa” Như b n đ c bi t. đ ng v i vàng và hãy chú ý đ c nh ng thông báo s hi n th trên màn hình. n m trên cùng m t tr c và quay v i v n t c l n. K t qu là tác gi không th truy c p đư c đ n máy này qua các giao th c m ng (telnet.3 Phân vùng trên đĩa và quá trình kh i đ ng 17 hi u là có th ph c h i l i n u như không quy t đ nh quá v i vàng. M i rãnh l i chia thành các sector. và hãy suy nghĩ k khi ch n câu tr l i.3. Vòng tròn đ u đ c v ra trên các đĩa khi quay quanh chúng g i là rãnh (track).

tính t 0) */ s sector có trong phân vùng (32 bit) */ B ng phân vùng đĩa thư ng đư c t o b i chương trình fdisk. cho phép thao tác trên các phân vùng đã có c a đĩa. Đĩa c ng là các thi t b kh i. Ch khác bi t v i fdisk giao di n thu n ti n: ch d n s d ng l nh và h th ng trình đơn (th c đơn). 0: không kích ho t */ CHS sector đ u tiên. vì th không th s d ng đĩa có dung lư ng l n hơn 8. 24 bit */ s c a sector đ u tiên (32-bit. s th t đ u đ c (hay rãnh) và s th t sector trên rãnh. M t trư ng h p nói riêng đó là trong các phân vùng khác nhau có th cài đ t các h đi u hành khác nhau. Sector đư c đánh đ a ch theo s th t cylinder. /* int length. Đ làm đư c đi u này. còn phân vùng thì không th l n hơn 2.LINUX_NATIVE) */ CHS sector cu i cùng. t c là dung lư ng có th đ t 2 Tbyte . còn có hai chương trình đ làm vi c v i phân vùng đĩa: cfdisk và sfdisk. /* char type. t c là ch cho controller bi t c n ghi thông tin này vào sector nào. c n đ t đ u đĩa đúng v trí. 24 bit lo i phân vùng (ví d . gi ng như fdisk ch dành đ làm vi c v i b ng phân vùng đĩa: nó không quan tâm chú ý đ n thông tin có trên đĩa. 0x80: phân vùng kích ho t. Trên HĐH Linux ngoài chương trình fdisk “truy n th ng” (tuy v y r t khác so v i chương trình fdisk trong MS-DOS và Windows). Ba s này g i là c u trúc “hình h c c a đĩa”. /* char begin[3].18 Cài đ t h đi u hành Linux th ghi vào m i sector 512 byte thông tin. Đĩa v i c u trúc hình h c C/H/S có dung lư ng C*H*S*512 byte. /* int start. ví d .4 Gbyte. 2. /* }. /* char end[3]. trong sector s 0 c a đĩa (sector s 0 c a rãnh đ u tiên trong cylinder s 0) ghi nh b ng chia đĩa thành các phân vùng (partition table). M i b n ghi có c u trúc như sau: struct partition { char active.1 Gbyte (nhưng đây là do h n ch c a h th ng t p tin FAT16). M i phân vùng đư c dùng như m t đĩa v t lý riêng r . Vì th đ c đi m c a m t đĩa thư ng là t p h p ba sô: s cylinder/s rãnh trong cylinder/s sector trên rãnh hay còn vi t t t là C/H/S (ba ch cái đ u tiên c a các thu t ng Ti ng Anh tương ng: Cyliner/Head/Sector). 83 -.3. R t có th nguyên nhân c a vi c phân vùng là nguyên nhân l ch s : các phiên b n MS-DOS đ u tiên không th s d ng đư c các đĩa l n. Chương trình sfdisk có vài kh năng cao hơn.2 Phân vùng và b ng phân vùng c a đĩa Trong các h th ng Intel đĩa thư ng đư c chia thành các phân vùng. và kích thư c nh nh t c a kh i b ng m t sector (512 byte). B ng phân vùng ch a 4 b n ghi 16 byte cho 4 phân vùng chính. Khi đó đã nghĩ ra vi c chia đĩa thành các phân vùng. Đ có th ghi thông tin lên đĩa. Chương trình cfdisk. DOS s d ng trư ng begin và end c a b ng phân vùng và Interrupt 13 c a BIOS (Int 13h) đ truy c p t i đĩa. Linux thì ch s d ng trư ng start và length c a b ng phân vùng đĩa và h tr các phân vùng ch a đ n 232 sector. t là đ c và ghi thông tin theo các kh i. ngay c v i các BIOS m i (v v n đ này s nói đ n sau). mà dung lư ng đĩa l i phát tri n nhanh hơn kh năng c a DOS.

2.3 Phân vùng trên đĩa và quá trình kh i đ ng

19

Vì trong b ng chia đĩa ch có 4 dòng cho các phân vùng, s phân vùng chính trên đĩa ngay t đ u dã h n ch : không th l n hơn 4. Khi mà 4 phân vùng tr thành ít, thì ngư i ta sáng ch ra phân vùng lôgíc. M t trong s các phân vùng chính tr thành m r ng (lo i phân vùng - 5 hay F hay 85 trong h cơ s mư i sáu). Và trong phân vùng m r ng ngư i ta t o ra các phân vùng lôgíc. Phân vùng m r ng không đư c s d ng tr c ti p mà ch dùng đ ghi các phân vùng lôgíc. Sector đ u tiên c a phân vùng m r ng ghi nh b ng phân vùng v i b n đ u vào: m t dùng cho phân vùng lôgíc, m t cho phân vùng m r ng khác, còn hai cái còn l i không đư c s d ng. M i phân vùng m r ng có m t b ng chia c a mình, trong b ng này, cũng gi ng như trong phân vùng m r ng chính, ch s d ng có hai dòng đ đưa ra m t phân vùng lôgíc và m t phân vùng m r ng. Như v y, thu đư c m t chu i các m t xích t b ng phân vùng, m t xích đ u tiên mô t ba phân vùng chính, và m i m t xích ti p theo – m t phân vùng lôgíc và v trí c a b ng ti p theo. Chương trình sfdisk trên Linux cho th y toàn b chu i này:
[root]# sfdisk -l -x /dev/hda Disk /dev/hda: 784 cylinders, 255 heads, 63 sectors/track Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0 Device /dev/hda1 /dev/hda2 /dev/hda3 /dev/hda4 /dev/hda5 — — — /dev/hda6 — — — Boot * Start 0+ 190 0 0 190+ 381 190 190 381+ 381 381 381 End 189 783 — — 380 783 189 189 783 380 380 380 #cyls 190594 0 0 191403 0 0 4030 0 0 #blocks 1526143+ 4771305 0 0 1534176 3237097+ 0 0 3237066 0 0 0 Id 6 5 0 0 6 5 0 0 7 0 0 0 System FAT16 Extended Empty Empty FAT16 Extended Empty Empty HPFS/NTFS Empty Empty Empty

S phân vùng lôgíc theo nguyên t c không h n ch , vì m i phân vùng lôgíc có th ch a b ng phân vùng và các phân vùng lôgíc c a mình. Tuy nhiên trên th c th v n có nh ng h n ch . Ví d , Linux không th làm vi c v i hơn 15 phân vùng trên các đĩa SCSI và hơn 63 phân vùng trên đĩa IDE. Phân vùng m r ng trên m t đĩa v t lý, hay trong m t phân vùng m r ng ch a nó (có th g i là “m ”) ch có th làm m t: không m t chương trình phân chia đĩa nào trong s đã có (fdisk và tương t ) có th t o thêm m t phân vùng m r ng th hai. đĩa trên Linux nói riêng ( đĩa v t lý) đư c truy c p qua tên c a thi t b : /dev/hda, /dev/hdb, /dev/sda, v.v. . . Các phân vùng chính có thêm s 14 trong tên thi t b : /dev/hda1, /dev/hda2, /dev/hda3, còn phân vùng lôgíc thì có các tên: /dev/hda5, /dev/hda6, /dev/hda7 . . . (b t đ u t s 5). T nh ng gì đ c p đ n trên có th suy ra t i sao l i có th b qua các tên như /dev/hda3 hay /dev/hda4 (đơn gi n là phân vùng chính th ba và th tư

20

Cài đ t h đi u hành Linux

không đư c t o ra) và ngay sau /dev/hda2 b n đ c th y /dev/hda5 (phân vùng lôgíc trong phân vùng m r ng /dev/hda2), và sau đó thì vi c đánh s l i theo th t thông thư ng. Trong Windows các phân vùng lôgíc nh n đư c tên (ch cái), b t đ u t ch cái cu i dùng dành cho phân vùng chính. Ví d n u m t đĩa c ng có hai phân vùng chính (C: và D:) và m t phân vùng m r ng, trong phân vùng m r ng t o ra hai phân vùng lôgíc, thì nh ng phân vùng lôgíc này s đư c đ t tên E: và F:. Xin nói thêm, trong Windows NT và 2000/XP có th thay đ i tên c a các phân vùng đĩa.

2.3.3

Quá trình kh i đ ng các HĐH c a công ty Microsoft

Dù h đi u hành có là gì, thì đ có th b t đ u đi u khi n máy tính, c n n p HĐH vào b nh . Vì th hãy xem xét qua quá trình kh i đ ng c a các HĐH khác nhau. Chúng ta ch quan tâm đ n vi c kh i đ ng t đĩa c ng, nên s không xem xét đ n vi c kh i đ ng t đĩa m m, CD-ROM và qua m ng. Hãy b t đ u t MS-DOS và MS Windows cũ (xin đ ng quên r ng, vi c phát tri n và hoàn thi n máy tính cá nhân song song v i s phát tri n c a HĐH c a Microsoft và nh ng quy t đ nh s d ng trong các HĐH này có nh hư ng m nh đ n quy t đ nh c a các nhà phát tri n thi t b ). Như b n đ c bi t, khi b t máy tính đ u tiên s ch y chương trình POST (Power On Self Test). Chương trình xác đ nh dung lư ng b nh , th nghi m b nh , và xác đ nh các thành ph n khác (bàn phím, c ng. . . ), kh i đ ng các th adaptor. Trên màn hình thư ng xu t hi n các thông báo v dung lư ng b nh , v vi c th nghi m b nh , danh sách các thi t b nh n ra ( đĩa c ng và m m, b x lý, c ng COM và v.v. . . ). Sau khi hoàn thành vi c th nghi m POST g i Int 19h. Công vi c c a Int 19h là tìm thi t b kh i đ ng. Vi c tìm ki m th c hi n theo th t xác đ nh trong Setup BIOS và theo cách thăm dò sector s 0 c a các thi t b tương ng. N u đĩa có th kh i đ ng, thì trong sector s 0 c a đĩa có b n ghi kh i đ ng chính – Master Boot Record (MBR). Hai byte cu i cùng c a MBR – “s màu nhi m”, là d u hi u cho bi t sector có MBR, và theo đó đĩa có th kh i đ ng. Ngoài “s màu nhi m” MBR còn ch a b ng phân vùng đĩa đã nói trên, và m t chương trình nh – trình kh i đ ng chính, kích thư c ch có 446 (0x1BE) byte. B ng 2.1 cho th y c u trúc c a sector kh i đ ng chính sau khi cài đ t Windows. B ng 2.1: C u trúc c a sector kh i đ ng chính D ch chuy n 0x000 0x1BE 0x1FE N i dung Mã c a trình kh i đ ng chính B ng phân vùng đĩa “S màu nhi m” (0xAA55)

MS-DOS, Windows95 và NT ghi nh DOS MBR trong khi cài đ t. Ngoài ra cũng có th t o MBR c a MS v i câu l nh DOS sau: fdisk /mbr.

2.3 Phân vùng trên đĩa và quá trình kh i đ ng

21

Xin tr l i v i quá trình kh i đ ng. Int 19h c a BIOS n p trình kh i đ ng chính vào b nh máy tính và chuy n quy n đi u khi n cho chương trình này. Nhưng chương trình “bé nh ” này không đ kh năng kh i đ ng HĐH; t t c nh ng gì mà nó có th làm – đó là n p vào b nh chương trình m nh hơn – trình kh i đ ng th hai. Đ làm đư c đi u này, nó tìm trong b ng phân vùng kích ho t và đ c vào b nh trình kh i đ ng th hai, b t đ u t sector lôgíc đ u tiên c a phân vùng kích ho t. Hãy chú ý đ n c m t “b t đ u t ”. Vì trình kh i đ ng th hai trên các h th ng khác nhau có đ dài khác nhau. Trong phân vùng đư c đ nh d ng dư i h th ng t p tin FAT, trình kh i đ ng th hai chi m m t sector (512 byte). Trong phân vùng đ nh d ng dư i h th ng t p tin NTFS, trình kh i đ ng th hai chi m vài sector. Trình kh i đ ng th hai n p l p chương trình đ u tiên, c n thi t cho vi c kh i đ ng h đi u hành. Trong trư ng h p MS DOS chương trình kh i đ ng đ ng n p IO.SYS theo đ a ch 700h, sau đó MSDOS.SYS và chuy n quy n đi u khi n cho SYSINIT c a môđun IO.SYS. N u vì lý do nào đó không tìm th y trên đĩa phân vùng kích ho t, thì quá trình kh i đ ng s ti p t c v i vi c x lý Int 18h. Trư ng h p này trên th c t r t hi m khi s d ng, nhưng kh năng này có th có ích trong trư ng h p nào đó. Trong khi kh i đ ng t xa, khi h đi u hành kh i đ ng t máy ch , thì Int này đư c POST chuy n hư ng lên ROM c a c c m ng. Đ i v i các HĐH khác c a Microsoft thì quá trình kh i đ ng di n ra tương t . • Windows95 kh i đ ng gi ng như DOS nhưng thay th IO.SYS và MSDOS.SYS b i các t p tin c a mình. Các t p tin DOS đư c gi l i dư i các tên tương ng IO.DOS và MSDOS.DOS. Khi b n đ c ch n kh i đ ng DOS, Windows95 s đ i tên các t p tin c a mình v i ph n m r ng w40 và ph c h i tên ban đ u c a các t p tin h th ng c a DOS. Quá trình kh i đ ng ti p t c v i vi c n p IO.SYS. Như th , sector kh i đ ng c a DOS và Windows95 là như nhau. • Windows NT4 s d ng MBR DOS, nhưng thay th b n ghi kh i đ ng c a phân vùng kích ho t b ng cách thay th NTLDR vào ch IO.SYS. Đây là m t chương trình m ng và có th làm đư c nhi u th . Ví d , có th tìm t p tin boot.ini và n u như tham s timeout l n hơn 0, thì đưa ra trình đơn (th c đơn) kh i đ ng. M i dòng c a ph n [operating systems] trong t p tin boot.ini xác đ nh m t phương án (m t HĐH) kh i đ ng và đư c vi t theo m u sau: đ a_ch _trình_kh i_đ ng_th _hai=‘‘tên_g i_c a_phương_án’’ Đ a ch c a trình kh i đ ng th hai có th là m t phân vùng c th nào đó c a đĩa cũng như t p tin kh i đ ng. Dư i đây là m t ví d t p tin boot.ini:
[operating systems] multi(0)disk(0)rdisk(0)partition(3)\WINNT="Windows NT Workstation 4" C:\="Microsoft Windows" C:\BOOTSECT.LNX="Linux"

N u ngư i dùng ch n NT, thì s kh i đ ng theo đ a ch phân vùng đư c ch trên dòng đ u tiên. Trên dòng tương ng v i phương án Microsoft Windows, ch

22

Cài đ t h đi u hành Linux

đưa ra “C:\”, vì tên c a t p tin kh i đ ng đư c l y theo m c đ nh: bootsect.dos. T p tin đư c n p vào b nh và quá trình kh i đ ng đư c ti p t c gi ng như khi b n ghi kh i đ ng đư c n p b i mã chương trình t MBR. Đ i v i vi c kh i đ ng các h th ng khác, có th s d ng cách đó. Ch c n thêm vào boot.ini các dòng ch a liên k t đ n t p tin kh i đ ng khác. Khi ch n các dòng này s kh i đ ng HĐH tương ng. Trong ví d trên Linux cũng đư c kh i đ ng theo các này. Trong t p tin C:\BOOTSECT.LNX c n ghi n i dung c a b n ghi kh i đ ng, t o b i Linux (nói đúng hơn – LILO, trình kh i đ ng tiêu chu n c a Linux).

2.3.4

V n đ v i các đĩa l n

Trên MS-DOS và các phiên b n đ u tiên c a Windows truy c p t i đĩa (trong đó có c bư c kh i đ ng đ u tiên c a HĐH) đư c t ch c qua Int 13 (Int 13h) c a BIOS. Khi này s d ng s đánh đ a ch sector trên đĩa trên cơ s C/H/S (xem trên). Chính xác hơn: • AH — ch n thao tác; • CH — 8 bit nh hơn c a s cylinder; • CL — 7-6 bit tương ng bit l n c a s cylinder, 5-0 tương ng s sector; • DH — s c a đ u đ c; • DL — s c a đĩa(80h hay 81h). (C n lưu ý r ng vi c đánh s cylinder v t lý và rãnh thư ng b t đ u t 0, còn sector trên rãnh đánh s b t đ u t 1). Tuy nhiên trên th c t s đ u đ c không quá 16, còn s sector trên rãnh – không quá 63, và dù có dùng 10 bit đ ch ra cylinder, BIOS v n không th làm vi c v i đĩa dung lư ng l n hơn 1024*63*16*512 = 528 Mbyte. Đ vư t qua h n ch này, ngư i ta áp d ng nhi u cách “láu cá” khác nhau. Ví d , Extended CHS (ECHS) hay “Large disk support” (đôi khi còn g i là “Large”) s d ng ba bit chưa dùng đ n c a s th t đ u đ c đ tăng s cylinder. Cách này cho pehsp s d ng c u trúc “hình h c gi m o c a đĩa” v i 1024 cylinder, 128 đ u đ c và 63 sector/rãnh. Bi n đ i Extended CHS thành đ a ch CHS th c (có th ch a đ n 8192 cylinder) đư c BIOS th c hi n. Cách này cho phép làm vi c v i đĩa có dung lư ng đ n 8192*16*63*512 = 4 227 858 432 byte hay 4,2 Gbyte. Nhưng các nhà phát tri n càng ngày càng tăng m t đ ghi c a đĩa, s đĩa và s rãnh, và còn phát minh ra các phương pháp khác đ tăng dung lư ng đĩa. Ví d , s sector trên rãnh không còn c đ nh mà tr thành khác nhau trên các rãnh khác nhau (trên các rãnh n m g n rìa ngoài c a đĩa, dài hơn, s sector đư c tăng lên). K t qu là b ba s C/H/S không còn ph n ánh đúng c u trúc “hình h c c a đĩa”, và các phiên b n BIOS cũ không th h tr truy c p t i toàn b không gian đĩa. Khi đó ngư i ta nghĩ ra phương pháp khác đ làm vi c v i các đĩa lên qua Int 13h - đánh đ a ch các kh i theo đư ng th ng (“Linear Block Addressing” hay LBA). Không đi sâu vào chi ti t, có th nói r ng t t c sector trên đĩa đư c đánh

vì th h n ch lên dung lư ng đĩa không xu t hi n. và theo đó.1 L a ch n trình kh i đ ng Trình kh i đ ng GRUB GRUB (GRand Unified Bootloader) – trình kh i đ ng h t s c m nh có kh năng kh i đ ng r t nhi u HĐH mi n phí cũng như HĐH thương m i. ) cũng đã chuy n sang s d ng GRUB làm l a ch n theo m c đ nh.4 2. Đ có th hi u cách thoát kh i nh ng h n ch này. chúng ta c n m t chút ki n th c v quá trình kh i đ ng c a HĐH Linux. N u không có nhu c u đ c bi t nào đó thì b n nên ch n trình kh i đ ng này. đưa chương trình này thành m t ph n m m mã ngu n m .S). s c a sector đư c chuy n vào các l nh SCSI.4 L a ch n trình kh i đ ng 23 s m t cách tu n t . Tuy nhiên trong ch đ LBA vi c s d ng đĩa v t lý v n đư c th c hi n qua Int 13h. b t đ u t sector đ u tiên trên rãnh s 0 c a cylinder s 0. GRUB có th hi u các h th ng t p tin và đ nh d ng th c thi c a nhân. mà s d ng driver riêng c a mình.4.4 Gbyte. Nhưng trư c khi có th s d ng driver c a mình. Thay vào ch đ a ch CHS m i sector nh n đư c m t đ a ch lôgíc – s th t c a sector trong t ng s t t c sector.H. Trong các controller c a đĩa SCSI. Sau đó vào năm 1999 Gordon Matzigkeit và Yoshinori K. Vì nguyên nhân này xu t hi n h n ch lên dung lư ng c a đĩa: BIOS. trong các phiên b n BIOS m i thư ng có l a ch n v i ba phương án: “Large”. M t l n n a mu n nh c l i r ng. MS-DOS và các phiên b n Windows đ u tiên không th đánh đ a ch các đĩa có dung lư ng l n hơn 8.2. trong đó sector s 0 ch a b n ghi kh i đ ng chính (MBR). SuSE. n u không mu n dùng giao di n 1 hãy so sánh s phiên b n c a GRUB và LILO . . Ngoài ra. vì th b n có th n p HĐH theo cách ưa thích. và “Normal” (phương án cu i cùng có nghĩa là không th c hi n bi n đ i đ a ch ). M t trong nh ng tính năng quan tr ng c a GRUB là tính m m d o. t t c nh ng h n ch nói trên ch có ý nghĩa trong giai đo n kh i đ ng HĐH. M c dù m i ra đ i và s phiên b n còn r t nh 1 nhưng đây là s l a ch n t t đ i v i ph n l n ngư i dùng máy tính cá nhân. Vi c đánh s sector lôgíc b t đ u t 0. Như v y. Fedora. Vì th trong giai đo n kh i đ ng đ u tiên b t kỳ h th ng nào cũng c n s d ng BIOS. “LBA”. C n chú ý r ng h n ch nói trên ch áp d ng v i các đĩa có giao di n IDE. GRUB đư c Erich Boleyn vi t vào năm 1995 đ kh i đ ng h th ng GNU Mach. 2. và sau đó t đĩa tìm ra v trí c n thi t. vì không th s d ng nh ng trình kh i đ ng khác. B i vì Linux và các phiên b n Windows m i nh t khi làm vi c v i đĩa đã không còn s d ng Int 13 c a BIOS. .. h th ng ph i đư c n p. Các b n phân ph i Linux l n (Debian. Đi u này h n ch vi c đ t nhi u h th ng ra ngoài vùng 8 Gbyte đĩa đ u tiên: chúng không th kh i đ ng t đó. m c dù sau khi kh i đ ng thì có th làm vi c v i các đĩa có dung lư ng l n hơn nhi u. Trong Setup BIOS h tr bi n đ i s th t theo đư ng th ng thành đ a ch CHS có d ng “H tr LBA”. Okuji chuy n GRUB thành m t gói chương trình GNU. mà Int 13h v n s d ng b 3D (C.

S ‘0’ ch ra s th t c a . B ng grub shell b n có th “gi l p” (emulate) trình kh i đ ng này và cài đ t GRUB. 2. Ví d 3: (hd0. LILO không ph i là chương trình đơn l mà là m t b g m nhi u chương trình: trình kh i đ ng. đ m b t đ u t 0.v.1) đây ‘hd’ có nghĩa là c ng. Bây gi chúng ta xem xét ng n g n v tên g i thi t b dùng trong GRUB. . B n c n hi u cú pháp này đ bi t cách ch ra m t đĩa hay phân vùng nào đó.4. S nguyên th hai (‘1’) cho bi t s th t c a phân vùng (chúng ta không xem xét các HĐH khác Linux). Ví d 2: (hd0. M t đi m m nh khác c a GRUB đó là “grub shell” có th ch y khi b t đ u kh i đ ng ho c sau khi đã kh i đ ng xong h th ng. và các t p tin ph c v : . Ví d m t cú pháp là: (fd0) Trư c tiên c n nói GRUB yêu c u t t c các tên thi t b ph i đ t trong ngo c ‘(’ và ‘)’.0)/vmlinuz Dòng này ch ra t p tin ‘vmlinuz’ n m trên phân vùng đ u tiên c a c ng đ u tiên. Windows 95/98. LILO có th kh i đ ng nhân Linux t đĩa m m. thì b n có th cài đ t và s d ng giao di n th c đơn và thay đ i giao di n th c đơn theo mong mu n c a mình. . đĩa c ng. S nguyên ‘0’ đ u tiên cho bi t s th t c a .2 Trình kh i đ ng LILO Trình kh i đ ng LILO đư c vi t b i Werner Almesberber. t c là c ng th nh t. C n chú ý thêm là GRUB không phân bi t IDE và SCSI. GRUB s d ng m t phân vùng c a đĩa ch không ph i toàn b đĩa. Unixware v. Ph n fd có nghĩa là đĩa m m. LILO cho phép ch n đ n 16 h đi u hành khác nhau đ kh i đ ng. các chương trình s d ng đ cài đ t và c u hình trình kh i đ ng. Trong trư ng h p này đây là phân vùng th hai c a c ng th nh t. vì cú pháp thi t b trong trình kh i đ ng này có khác m t chút so v i nh ng gì mà b n đã th y trên nh ng h th ng c a mình. H t s c đơn gi n! Thông tin trong ph n này s giúp b n hi u đư c c u hình c a GRUB s nói đ n s p t i đây. OS/2. và cũng có th kh i đ ng các h đi u hành khác: PC/MS-DOS. 386BSD.24 Cài đ t h đi u hành Linux dòng l nh. DR DOS. Nó đ m s th t b t đ u t ‘0’ không ph thu c vào d ng đĩa. Windows NT/2000/XP. Chú ý r ng các phân vùng m r ng đư c đ m b t đ u t ‘4’ không ph thu c vào s phân vùng chính (“primary partition”) th c t có trên đĩa.4) Đây là phân vùng m r ng (“extended partition”) th nh t c a đĩa c ng th nh t. Xin nh c l i m t l n n a là các s đ m đ u b t đ u t s không ‘0’. Làm sao đ ch ra m t t p tin? Hãy xem ví d sau đây: (hd0. SCO UNIX.

2.4 L a ch n trình kh i đ ng

25

• chương trình /sbin/lilo, ch y dư i Linux, ph c v đ ghi t t c thông tin c n thi t trong giai đo n kh i đ ng vào các ch tương ng. C n ch y chương trình này sau m i l n có thay đ i trong nhân hay trong t p tin c u hình LILO; • các t p tin ph c v , c n cho LILO trong th i gian kh i đ ng. Nh ng t p tin này thư ng n m trong thư m c /boot. Quan tr ng nh t trong s chúng – đó là b n thân trình kh i đ ng (xem phía dư i) và t p tin map (/boot/map); trong t p tin này có ch ra v trí c a nhân. M t t p tin quan tr ng khác – t p tin c u hình LILO; thư ng có tên /etc/lilo.conf; • trình kh i đ ng – đây là ph n LILO đư c n p vào b nh đ u tiên qua Int c a BIOS; trình kh i đ ng n p nhân Linux hay sector kh i đ ng c a h đi u hành khác. Trình kh i đ ng g m có hai ph n. Ph n th nh t đư c ghi vào sector kh i đ ng và ph c v đ n p ph n th hai, có kích thư c l n hơn r t nhi u. C hai ph n thư ng đư c ghi trên đĩa trong t p tin /boot/boot.b. C n nh r ng, đ nh d ng c a sector kh i đ ng t o ra b i LILO khác v i đ nh d ng MBR c a DOS. Vì th n u ghi sector kh i đ ng LILO vào MBR, thì các h đi u hành đã cài c a Microsoft s ng ng kh i đ ng (n u như không có các bi n pháp b sung). Sector kh i đ ng c a LILO có th đư c thi t k đ s d ng như sector kh i đ ng c a phân vùng, trong đó có ch cho b ng phân vùng. Sector kh i đ ng c a LILO trong khi cài đ t có th đ t vào nh ng ch sau: • sector kh i đ ng c a đĩa m m trong đ nh d ng Linux (/dev/fd0, . . . ); • MBR c a đĩa c ng đ u tiên (/dev/hda, /dev/sda, . . . ); • sector kh i đ ng c a phân vùng chính v i h th ng t p tin Linux trên đĩa c ng đ u tiên (/dev/hda1, /dev/hda2, . . . ); • sector kh i đ ng c a phân vùng lôgíc trong phân vùng m r ng đĩa c ng đ u tiên (/dev/hda5, . . . ). S th t là ph n l n chương trình d ng fdisk không đ ra kh năng kh i đ ng kh i đ ng t phân vùng m r ng và t ch i vi c kích ho t phân vùng này. Vì v y trong thành ph n LILO có ch a m t chương trình đ c bi t (activate) cho phép vư t qua h n ch này. Tuy nhiên chương trình fdisk c a b n phân ph i Linux h tr kh năng kích ho t phân vùng m r ng. C n s d ng tùy ch n -b ho c bi n BOOT. Sector kh i đ ng c a LILO không th đ t vào các ch sau: • sector kh i đ ng c a đĩa m m hay phân vùng chính, v i đ nh d ng h th ng t p tin khác Linux; • trong phân vùng swap c a Linux; • trên đĩa c ng th hai. Ngoài ra, c n nh r ng, LILO trong th i gian kh i đ ng c n nh ng t p tin sau:

26 • /boot/boot.b; • /boot/map (t o ra b i l nh /sbin/lilo);

Cài đ t h đi u hành Linux

• t t c phiên b n nhân kh i đ ng (n u b n đ c ch n phiên b n nhân khi kh i đ ng); • sector kh i đ ng c a các h đi u hành khác mà b n đ c mu n kh i đ ng qua LILO; • t p tin ch a các thông báo đưa ra khi kh i đ ng (n u đư c xác đ nh). Như v y, sector kh i đ ng LILO cũng như nh ng t p tin đã li t kê (trong s đó có các t p tin b n đ c s cài đ t sau này) c n n m trong ph m vi 1024 cylinder đ u tiên c a đĩa c ng, b i vì chúng c n đư c truy c p qua BIOS. Xem ph n nói v h n ch c a BIOS trên. B t đ u t phiên b n 21, LILO đưa ra màn hình trình đơn (th c đơn) cho phép ch n h th ng đ kh i đ ng (trư c đây c n nh n phím Tab đ g i trình đơn này).

2.4.3

Các trình kh i đ ng khác

Ngoài GRUB và LILO đ kh i đ ng Linux có th kh i đ ng các trình kh i đ ng khác. • N u như trư c khi cài đ t Linux đã có HĐH Windows NT/2000/XP, thì trình kh i đ ng b n đ c có th s d ng là OS Loader c a NT. So sánh v i LILO thì trình kh i đ ng OS Loader có ít nh t hai ưu th . Th nh t, t t c c u hình cũ không b m t (chúng ta có th ch n kh i đ ng Windows hay Linux theo l a ch n), và th hai, có th cài đ t Linux lên đĩa mà LILO không th kh i đ ng, ví d , đĩa th hai trên controller th hai (Secondary Slave). • N u như trư c khi cài đ t Linux b n đ c ch có HĐH Windows 95 hay Windows 98 và không có Windows NT/2000 hay XP, thì OS Loader không đư c cài đ t. Và n u như vì m t lý do nào đó b n đ c không mu n cài đ t LILO, thì có th s đ ng chương trình kh i đ ng loadlin.exe (thư ng đi kèm v i b n phân ph i Linux); • Th i gian g n đây trong thành ph n b n phân ph i Linux thư ng có chương trình kh i đ ng GRUB. • Trong thành ph n OS/2 c a công ty IBM có chương trình kh i đ ng Boot Manager. Trong r t nhi u hư ng d n ngư i ta khuyên dùng chương trình này đ t i ch c kh i đ ng nhi u HĐH. • Trong các ngu n thông tin khác nhau còn nh c đ n chương trình System Commander; • Thêm m t trình kh i đ ng khác có trong thành ph n gói PartitionMagic c a công ty Power Quest. Chúng ta s nói v chương trình này trong ph n nh ti p theo.

2.5 Chu n b các phân vùng trên đĩa

27

Ngoài ra, tác gi còn th y nói đ n m t lo t trình kh i đ ng khác (m t s có th tìm th y trong thư m c public/ftp/pub/Linux/system/boot/loaders c a ftp://metalab.unc.edu/. Nhưng vì tôi không s d ng nh ng chương trình này, nên không th nói c th cách s d ng chúng. Và t t c nh ng l i khuyên dùng sau c a tác gi s d a trên vi c s d ng LILO, NT Loader và loadlin.exe. N u như có ý mu n cài đ t chương trình kh i đ ng khác, thì b n đ c c n đ c hư ng d n cài đ t và s d ng c a nó.

2.4.4

Các phương án kh i đ ng

Như v y, theo ý ki n c a tác gi có các phương án kh i đ ng sau: • N u trên máy ch có m t h đi u hành Linux duy nh t, hãy dùng GRUB. • N u đã cài đ t Windows NT hay Windows 2000/XP, thì hãy s d ng GRUB. • N u có Windows 95 hay Windows 98 trên FAT16, và b n đ c không mu n cài đ t chương trình kh i đ ng nào khác, thì có th s d ng GRUB ho c LILO, ho c đ u tiên ch y DOS và sau đó kh i đ ng Linux nh chương trình loadlin.exe (hay m t chương trình tương t , có vài chương trình như v y, nhưng chúng ta s không xét đ n). • N u đã cài đ t Windows 95 OSR2 hay Windows 98 trên FAT32, và b n đ c không mu n cài đ t thêm chương trình kh i đ ng, thì c n s d ng loadlin.exe. R t nhi u HOWTO kh ng đ nh r ng không c n s đ ng LILO, n u như phân vùng kích ho t có đ nh d ng FAT32, m c dù tác gi không rõ nguyên nhân. Tuy nhiên thí nghi m kh i đ ng Linux qua NT Loader, cài đ t trên phân vùng FAT32, c a tác gi đã k t thúc không thành công. Vì th , trong trư ng h p này tác gi đã ph i s d ng chương trình loadlin.exe. Chương trình này đã hoàn thành t t nhi m v , và t o cho tác gi m t n tư ng t t, vì th tác gi khuyên b n đ c s d ng loadlin.exe đ kh i đ ng Linux. Trong nh ng ph n ti p theo tác gi s cho bi t cách cài đ t Linux, s d ng t t c b n phương án kh i đ ng: qua trình kh i đ ng NT Loader, trình kh i đ ng GRUB, trình kh i đ ng LILO và trình kh i đ ng loadlin.exe. Tuy nhiên trư c khi cài đ t trình kh i đ ng c n chu n b các phân vùng trên đĩa, hay ít nh t là nghĩ cách t ch c chúng.

2.5
2.5.1

Chu n b các phân vùng trên đĩa
L i khuyên khi t o phân vùng

Đưa ra l i khuyên đây không ph i là vi c d dàng, vì phân vùng đĩa ph c thu c r t nhi u vào ý thích và nhu c u c a ch nhân đĩa. Nhưng cũng xin th đưa ra vài đ ngh sau. Tác gi s đ t tên đĩa và phân vùng theo “tiêu chu n” c a Linux, t c là /dev/hda, /dev/hdb, v.v. . . đ i v i đĩa và /dev/hda1, /dev/hda2, v.v. . . – đ i v i các phân vùng.

28

Cài đ t h đi u hành Linux

Vi c phân chia đĩa thành các phân vùng là c n thi t, b i vì Windows và Linux s d ng các cách lưu tr thông tin trên đĩa và sau đó đ c chúng t đĩa khác nhau. Chính vì th t t hơn h t là dành cho m i h đi u hành m t (ho c th m chí m t vài như chúng ta s th y dư i) phân vùng riêng. Đ u tiên chúng ta hãy xem xét m t trư ng h p đơn gi n – dung lư ng đĩa c a b n đ c không vư t quá 8,4 Gbyte (nói chính xác hơn – s cylinder không vư t quá 1024). Trong trư ng h p này m i th đ u đơn gi n: b n đ c ch vi c chia đĩa làm sao đ đ ch cho h đi u hành s cài đ t. Có th s d ng d li u cho bi t kích thư c đĩa nh nh t c n thi t đ cài đ t h đi u hành v i c u hình cơ b n trong b ng 2.2. B ng 2.2: Nhu c u s d ng không gian đĩa c a HĐH H đi u hành Windows 95 Windows 98 Windows NT Windows 2000 Linux Red Hat 6.2 (Workstation v i KDE) Yêu c u 100 Mbyte 200 Mbyte 200 Mbyte 700 Mbyte 700 Mbyte

Tuy nhiên xin hãy nh r ng, không nh ng ph i tính kích thư c các t p tin c a b n thân h đi u hành, mà còn ph i tính c kích thư c c a các chương trình b n đ c d tính ch y. Và còn ph i dành m t ph n d tr không nh cho các chương trình s cài đ t sau này (không th tránh kh i!). Hãy tính r ng, 700 Mbyte dành cho Linux trong b ng nói trên ch dành cho các chương trình cài đ t cùng v i Linux theo m c đ nh, trong s đó có, ví d , chương trình so n th o r t m nh Lyx. Đ i v i Windows cũng tương t như v y. Theo kinh nghi m c a tác gi thì đ làm vi c v i Windows 95/98, Windows NT và Linux các phân vùng v i kích thư c 800-1000 Mbyte là đ (t t nhiên, n u b n đ c không cài đ t các gói chương trình l n, như OpenOffice.Org), còn đ i v i Windows 200 thì c n phân vùng l n hơn. Bây gi chúng ta s xem xét v n đ chia các phân vùng cho Linux. đây không th ch chia m t phân vùng. Th nh t, c n chia m t phân vùng swap riêng bi t cho Linux. Khi xác đ nh dung lư ng c a phân vùng swap Linux c n tính đ n nh ng y u t sau: • Trong Linux, RAM và không gian swap h p l i t o thành b nh o chung. Ví d , n u b n đ c có 256 MByte RAM và 128 Mbyte không gian swap, thì s có 384 Mbyte b nh o. • Đ làm vi c v i Linux c n ít nh t 16 Mbyte b nh o, vì th n u b n đ c ch có 4 Mbyte RAM, thì c n phân vùng swap không nh hơn 12 Mbyte. • Kích thư c c a phân vùng swap có th l n bao nhiêu tùy thích, tuy nhiên không c n c u hình quá nhi u n u không c n thi t. Thông thư ng ch c n dùng swap khi máy ít b nh RAM ho c ch y máy ch v i nhi u ng d ng

Như đã nói trên. 1 Gbyte là đ ) s ch a h th ng t p tin g c (/). trong trư ng h p ch có m t đĩa nh . Ph n l n nh ng gói chương trình này đư c cài vào thư m c /usr.2. Ngoài ra. có nhà chuyên gia khuyên nên dành cho h th ng t p tin Linux ba phân vùng (n u tính c swap thì thành 4). cũng như không nh t thi t ph i đ t vào phân vùng ch a các t p tin khác c a HĐH. Trên máy tính v i 16 Mbyte RAM khi cài đ t Linux v i c u hình chu n và các chương trình ng d ng chu n thì 48 Mbyte không gian swapping là đ . thì phân vùng này có th không c n thi t. Còn phân vùng th ba đư c g n vào thư m c /usr. b n đ c mu n c p nh t phiên b n m i c a b n phân ph i.2 • Khi tính kích thư c c a không gian swapping. T t c các ph n còn l i c a Linux và các chương trình h tr theo nguyên t c có th đ t vào m t phân vùng. vi c đ t h th ng t p tin Linux lên vài phân vùng riêng r là có ý nghĩa. Theo tác gi th y. T nh ng gì đã nói đ n ph n trư c (h n ch dung lư ng đĩa c ng). ch nên suy nghĩ v v n đ dung lư ng c a phân vùng swap khi có m t đĩa nh và ít b nh RAM. Như v y trong trư ng h p này. thì th nh tho ng cũng c n cài đ t l i. Vi c phân chia như v y d a trên nh ng lý l sau. N u dành cho thư m c này m t phân vùng riêng và khi cài đ t không đ nh d ng l i chúng. Còn n u như b n đ c có 128 Mbyte RAM hay nhi u hơn. Tuy nhiên. kích thư c chính xác c a không gian swap ph thu c l n vào chương trình s đư c cài đ t. Phân vùng th hai dành cho thư m c /home. thì không c n đ n không gian swap. Dù HĐH Linux có n đ nh và đáng tin c y đ n đâu. c n nh r ng kích thư c quá l n có th là vô ích. nh ng đ ngh c a tác gi cho ra b ng t ng k t sau: 2 Xin cám ơn bác Tony Lý v m c này . Trong tiêu chu n v h th ng t p tin c a Linux FHS (c th xin xem chương ??) cũng có l i khuyên v vi c đ t thư m c /usr lên m t phân vùng riêng. N u như t t c đư c cài đ t vào m t phân vùng. thì nh ng chương trình nói trên s đư c gi l i và có th s làm vi c (r t có th c n vài c u hình nh ) sau khi cài đ t l i h th ng. nh ng ý ki n nói trên đã đ đ b n đ c t tìm ra phương án phân chia đĩa c a mình. Bây gi chúng ta xem xét trư ng h p đĩa v i s cylinder l n hơn 1024. Còn n u cài đ t Linux v i c u hình nh nh t. Trong t t c m i trư ng h p t t nh t tránh dùng swap vì nó ch m hơn RAM nhi u. NT Loader không nh t thi t ph i đ t vào phân vùng NTFS.5 Chu n b các phân vùng trên đĩa 29 n ng. Nhân ti n. Trong trư ng h p ngư c l i hãy phân chia đ t ng s dung lư ng c a b nh o (g m RAM và phân vùng swap) không nh hơn 128 Mbyte. Ví d . T t nhiên. Phân vùng th nh t (theo ý ki n cá nhân tác gi . s b m t c nh ng chương trình đã cài t mã ngu n. Nói chung. thì khi cài đ t l i nh ng d li u đã làm ra và ghi nh trong thư m c cá nhân s b m t (n u không có b n sao chép). ho c đơn gi n là mu n cài đ t m t b n phân ph i khác. đ i v i Linux có th đ t thư m c g c cùng v i thư m c con /boot vào các cylinder “th p” (trong vòng 1024 đ u tiên). c n đ t chương trình kh i đ ng trong ph m vi 1024 cylinder đ u tiên. hay cài b ng phương pháp khác. Ví d . ho c vì ít kinh nghi m s d ng nên làm h ng t p tin h th ng quan tr ng. còn các thư m c khác – ch nào tùy thích.

k c trong trư ng h p h th ng có v n đ . b n đ c ch có m t đĩa c ng. • ph n còn l i c a đĩa đ t thành phân vùng m r ng. nh ng ngư i dùng Linux m i – n u như mu n phân chia l i đĩa mà không làm m t thông tin.powerquest. Tuy nhiên. • phân vùng chính th ba dành cho swap c a Linux (l i khuyên v kích thư c c a phân vùng này xem trên). . Chính vì v y hãy dành cho phân vùng này kho ng 256 ho c 512 Mbyte. c n l a ch n công c đ đưa k ho ch này thành hi n th c. Vì th l i khuyên c a tác gi v i b n đ c. Nhưng không nên đ phân vùng này l n. Th hai. theo ý ki n c a ngư i dùng thì không nên s d ng chương trình này.5. còn trong /usr – chương trình s cài đ t). Và không c n gì hơn ngoài chương trình này. Ngư i ta nói r ng như v y tăng t c đ làm vi c trong Linux (cũng d hi u vì đ u đ c ít ph i ch y hơn). thì hãy tìm chương trình Partition Magic c a công ty Power Quest (http://www. thì v n s d ng đư c nh ng l i khuyên này. và đ ng th i cho các h th ng t p tin /home và /usr c a HĐH Linux (trong /home s đ t các t p tin riêng c a ngư i dùng. T t nhiên.2 Chương trình đ phân chia đĩa Sau khi hoàn thành k t ho ch chia đĩa.30 Cài đ t h đi u hành Linux • ph n kh i đ ng c a t t c các h th ng Microsoft đ t vào phân vùng chính đ u tiên c a đĩa. trên m i h đi u hành đ u có phiên b n riêng c a chương trình này. Th nh t. h th ng t p tin FAT16 đư c h tr trên m i HĐH. Chương trình phân chia đĩa đư c bi t đ n nhi u nh t là fdisk. ch có đi u phân vùng swap t t hơn đ t trên đĩa khác v i đĩa dành cho Linux. thì có th đ Windows trên phân vùng đ u tiên. vì FAT16 s d ng không gian đĩa r t không h p lý. thì m t phân vùng FAT16 cũng không th a. không ch a b t ký d li u nào. n u như b n đ c ch có Windows 95 v i FAT16. kích thư c kho ng 1 Gbyte. 2. n u như phân chia đĩa tr ng. vì th phân vùng này có th ph c v cho vi c trao đ i t p tin gi a các h th ng. ph c v cho phân chia đĩa. b n đ c có th kh i đ ng t đĩa m m DOS (t m th i khi chưa làm quen v i Linux m t cách “tư ng t n”) và th y đư c r ng đĩa c ng làm vi c bình thư ng.com) và s d ng chương trình này. N u như b n đ c có 2. Nh ng l i khuyên này đưa ra v i gi thi t r ng. • trong phân vùng m r ng t o các phân vùng lôgíc cho m i HĐH s cài đ t: Windows 98. • phân vùng chính ti p theo dành cho thư m c g c (/). trong đó có Linux. Windows NT/2000/XP. v i đ nh d ng FAT16 (DOS). N u như trên máy đã cài đ t Windows NT hay có FAT32. Nhưng chúng ta đang xem xét trư ng h p đã có HĐH nào đó trên đĩa và c n phân chia đĩa mà không làm m t thông tin. Trong thành ph n các b n phân ph i Red Hat và BlackCat (r t có th trong các b n phân ph i khác) có chương trình fips. fdisk không thích h p cho nh ng m c đích như v y.

com và boot. Chúng ta gi thi t là Windows NT đã đư c cài vào phân vùng /dev/hda2 (n u như b n đ c nh . khi nói v Windows NT xin ng m hi u c Windows 2000 và NT. nh ng thông tin đã đưa đ đ b n đ c l p k ho ch và th c hi n vi c phân chia đĩa thành các phân vùng. Tác gi cho r ng. N u HĐH Windows NT đã đư c cài đ t. Th hai. Vì th ti p theo chúng ta s xem xét các phương án cài đ t hai HĐH trên m t máy tính. 3. có th b nó ra kh i . 2. chương trình này cho phép phân chia l i đĩa mà không làm m t thông tin (t c là. Khi t o phân vùng c n đ ý không cho ranh gi i gi a các phân vùng c t l n nhau. Khi này. t t c nh ng cài đ t và c u hình trư c đó s đư c ghi l i). sau khi kh i đ ng h th ng không còn yêu c u đĩa m m n a. nghĩa là trình kh i đ ng OS Loader cũng đã đư c cài đ t. Cài đ t Linux theo ch d n c a b n phân ph i. thì trư c khi b t đ u c n chu n b đĩa m m kh i đ ng và ph c h i Windows NT. /dev/hda1 s dành cho phân vùng FAT16). Đĩa m m này s đư c dùng đ n sau. Dùng chương trình Partition Magic đ l y m t ph n đĩa tr ng và t đó t o ra phân vùng v i d ng ext2(3) (h th ng t p tin Linux) và phân vùng swap. Ngoài ra. N u như b n đ c chưa cài đ t Linux bao gi . mà còn có th di chuy n các phân vùng đã có theo ý mu n. Các bư c cài đ t có th mô t như sau: 1. Tuy nhiên . Đi u này r t quan tr ng v i ngư i dùng m i. Trong khi cài đ t c n chú ý đ n nh ng đi m sau: • th nh t. không ch t o đư c phân vùng m i t ch tr ng trên đĩa. Và như th có th s d ng chương trình này đ kh i đ ng Linux. T c là c n tr l i “Yes. make a BOOT DISK” (hay tương t th .2. Cách tính kích thư c c a chúng đã nói trên. Chương trình t o đĩa ph c h i Windows 2000/XP có th ch y t trình đơn h th ng (l nh Backup trong Start/Program/Accessories). có th s d ng đĩa m m này đ kh i đ ng Linux. Đây cũng là m t phương án kh i đ ng. tùy thu c vào b n phân ph i) khi đư c h i có t o đĩa m m kh i đ ng hay không. ntdetect. và m i thao tác cũng như thay đ i đ u th y rõ ràng. 2. trong quá trình cài đ t nh t đ nh ph i t o ra các đĩa m m kh i đ ng Linux.6 Windows NT và Linux: kh i đ ng qua NT OS Loader 31 Th nh t. chương trình này (th m chí trong phiên b n dành cho DOS) cung c p m t giao di n đ h a d s d ng có h tr chu t.6 Windows NT và Linux: kh i đ ng qua NT OS Loader Trong ph n này. Đ t o đĩa m m kh i đ ng ch c n đ nh d ng l i đĩa m m. và hơn n a khác v i đĩa m m kh i đ ng DOS. s d ng đ đ c các đĩa m m khác.ini t thư m c g c c a đĩa kh i đ ng NT. vì “quan h ” c a chúng đ i v i vi c cài đ t Linux hoàn toàn gi ng nhau. Tác gi hy v ng r ng b n đ c đã sao lưu nh ng thông tin có giá tr c a mình. r i sao chép lên đó các t p tin ntldr.

lnx trong thư m c g c c a đĩa C:. thì c u ph c h i l i MBR c a Windows. Ti p theo c n kh i đ ng l i đ vào Windows NT. ch không ph i vào sector kh i đ ng chính c a đĩa (MBR). 4. V n đ ch . Vi c sao chép th c hi n như sau: đ u tiên g n m t đĩa m m tr ng (m i mua thì càng t t). Vì th n u b n đ c cài LILO vào MBR. Đĩa m m này còn c n thi t cho c u hình đ kh i đ ng nhi u HĐH. Chúng ta gi thi t Linux đư c cài vào phân vùng /dev/hda3. Tác gi cũng s nói cách ph c h i. Tuy nhiên đây cũng không có v n đ gì. nhưng t t hơn h t là b n đ c cài LILO ngay l p t c vào sector đ u tiên c a phân vùng đã cài Linux. Sao chép sector kh i đ ng c a Linux vào m t t p tin. ch c n sao chép sector kh i đ ng qua đĩa m m như đang trình bày. n u như b n đ c cài LILO vào MBR.32 Cài đ t h đi u hành Linux cách kh i đ ng này cũng có đi u ti n. kh i đ ng Linux b ng đĩa m m (n u như b n đ c cài LILO vào phân vùng c a Linux và không đ ng gì đ n MBR. 3 . thì đây là kh năng duy nh t). [root]# mount -t vfat /dev/fd0 /mnt/floppy chuy n vào thư m c /mnt/floppy [root]# cd /mnt/floppy và th c hi n câu l nh [root]# dd if=/dev/hda3 of=/mnt/floppy/bootsect. Sau khi cài đ t xong. Ch s d ng trong trư ng h p “b t đ c dĩ”. thì không ph i m i th đã h ng h t. Như v y LILO s đư c cài vào sector đ u tiên c a /dev/hda3 Theo nguyên t c. 5. b ng câu l nh: [root]# shutdown -h now Ghi chú: n u đĩa C: (/dev/hda1) có đ nh d ng FAT. đ nh d ng MBR t o b i LILO và Windows (DOS) khác nhau. n u phân vùng chính đ u tiên có đ nh d ng NTFS.lnx bs=512 count=1 đ ghi n i dung sector kh i đ ng c a đĩa /dev/hda3 vào t p tin /mnt/floppy/bootsect. T m th i nhân Linux còn chưa h tr t t vi c ghi lên phân vùng NTFS. khi cài đ t Linux c n cài LILO vào sector đ u tiên c a phân vùng dành cho thư m c g c (/) c a Linux. K t qu cu i cùng (kh i đ ng qua NT Loader) v n có th đ t đư c nhưng c n b ra m t chút công s c. • th hai. thì có th t o t p tin bootsect. Tác gi không bi t (chưa th ) có th kh i đ ng không c n đĩa m m không. vì th không nên s d ng thư ng xuyên.lnx3 6. t p tin này s c n đ trình kh i đ ng Windows NT/2000 có th kh i đ ng Linux.

Sau đó tìm t p tin boot.lnx có th đ t thu c tính ch đ c (read-only). Sau đó Windows 2000 s kh i đ ng bình thư ng. N u ch n LINUX. m c dù trong m t s bài báo nói cách ph c h i MBR như v y không ph i lúc nào cũng làm vi c. hay chính xác hơn là vào thư m c g c c a phân vùng mà t đó kh i đ ng Windows NT. và trong trình đơn ch n h đi u hành s có LINUX.init ch a trong đó (nh ng t p tin này có th n!). Sau đó đăng nh p vào tài kho n nhà qu n tr (administrator).lnx="LINUX" (t t nhiên. Kh i đ ng l i máy tính t đĩa m m kh i đ ng Linux và đăng nh p vào h th ng v i quy n ngư i dùng root. Trong NT c n sao chép t p tin bootsect. n u không có thì b n đ c c n tìm m t máy khác đang ch y Windows NT r i t o). nên Windows NT s kh i đ ng. và vi c kh i đ ng Windows NT (bư c th 6 trên) là không th . Nh p l nh cd /etc và m t p tin lilo. CoolEdit c a Midnight Commander. /dev/hda.conf. Còn bây gi chúng ta s xem xét trư ng h p b n đ c (do vô tình hay c ý) cài đ t LILO vào b n ghi kh i đ ng chính c a đĩa (Master Boot Record. ch không mu n dùng LILO. 7. Kh i đ ng Windows NT t đĩa m m kh i đ ng (đã t o trư c khi cài đ t Linux. trong d u ngo c kép b n đ c có th đ t tên b t kỳ.2. thì c n ghi cái đó. N u như b n đ c không nh đã cài Linux vào đâu. trong ví d này là /dev/hda3 . 3. 4. thì nh ng bư c trên có thay đ i m t chút: thay cho bư c th 6 c n làm các thao tác sau. Ch y hai l nh này theo th t đã ch ra.) 8. Đây có th là phân vùng FAT16 hay phân vùng NTFS. 5. đ u t p tin này có liên k t đ n phân vùng kh i đ ng theo m c đ nh. thì LILO s đư c ch y và sau đó nó (LILO) s n p Linux. S d ng câu l nh fdisk /mbr.lnx vào thư m c g c c a đĩa C:. thì hãy ch y câu l nh mount và tìm k t qu tương t như sau4 : 4 có nghĩa là tìm phân vùng đã g n vào thư m c g c /. đ thay th giá tr này thành phân vùng đã cài Linux lên (chính xác hơn là thành phân vùng đư c g n như g c (/) c a Linux). Dùng b t kỳ trình so n th o nào. t c là thay th /dev/hda thành /dev/hda3. T p tin bootsect. 2. 1. Vi c còn l i là kh i đ ng l i máy tính m t l n n a. Đ c đi m đ nh n ra phân vùng này là hai t p tin ntldr và boot. r i ch n ch đ Command mode. ví d . Tác gi dùng l nh này thành công. Trong trình đơn (th c đơn) c a trình kh i đ ng c n ch n l nh Recover.ini và thêm vào dòng sau: C:\bootsect. ví d . N u như b n đ c v n còn mu n s d ng trình kh i đ ng OS Loader c a NT. Ph c h i l i b n ghi kh i đ ng chính c a đĩa. N u Linux đư c cài vào phân vùng /dev/hda3. Trong trư ng h p này b n ghi kh i đ ng Windows NT (hay 2000) s b xóa.6 Windows NT và Linux: kh i đ ng qua NT OS Loader 33 Vì MBR chưa có gì thay đ i. MBR). Trong Windows 2000 có các l nh chuyên dùng fixboot và fixmbr (ch y t console ph c h i h th ng).

7. M c dù vi c t đ ng c u hình này h t s c thu n ti n.7 S d ng trình kh i đ ng GRUB Như đã nói trong ph n l a ch n chương trình kh i đ ng. 2. # Modified by YaST2. b n c n m t t p tin c u hình ‘menu. và ph c h i MBR c a Windows. Hãy xem ví d m t t p tin như v y dư i đây: # GRUB example configuration file on the teppi’s openSUSE system.1 Cài đ t GRUB Cách d nh t đ có th cài đ t trình kh i đ ng GRUB là ch n dùng trình kh i đ ng này trong quá trình cài đ t h th ng Linux c a b n. nhưng s có ích n u b n bi t đư c cách c u hình Linux đ x lý nh ng l i có th x y ra và hơn th n a bi t cách c u hình đ kh i đ ng h đi u hành mong mu n khi không có t đ ng c u hình.7. Ch y l nh /sbin/lilo đ ghi trình kh i đ ng vào phân vùng /dev/hda3 (c n ch y l nh lilo không có tham s ). b n ghi kh i đ ng c a Windows đư c gi nguyên v n. n u trên máy đã cài Windows 98 v i h th ng t p tin FAT16.34 /dev/hda3 on / type reiserfs (rw) Cài đ t h đi u hành Linux 6. Last modification on Sun Apr 2 22:22:11 MSD 2006 color white/blue black/light-gray . Chúng ta s xem xét c u hình GRUB trong ph n ti p theo. Th c hi n các bư c 6-8 như trên. Đây chính là đi u chúng ta c n. ví d Xandros còn t đ ng tìm th y nh ng h đi u hành đã có này và thêm chúng vào t p tin c u hình c a GRUB. 2. Đ dùng đư c trình đơn đó. D dàng đoán ra r ng. thì l a ch n t t hơn cho trình kh i đ ng là chương trình có trong thành ph n c a m i b n phân ph i HĐH Linux – GRUB (GRand Unified Bootloader). 2. Nh đó sau khi cài đ t b n có th ch n kh i đ ng Linux ho c h đi u hành (thư ng là Windows) đã có.lst’ n m trong thư m c kh i đ ng /boot.2 C u hình GRUB GRUB có m t giao di n trình đơn đ t đó ngư i dùng có th ch n m t m c (m t h đi u hành) b ng các phím mũi tên r i nh n <Enter> đ kh i đ ng. Quá trình cài đ t Linux k t thúc đây. 7. B n đ c đã có th ch n HĐH s kh i đ ng và đi u khi n máy tính c a mình. “quy trình” ph c t p v i hai l n kh i đ ng l i ch đ chuy n sector kh i đ ng Linux t MBR vào sector đ u tiên c a phân vùng dành cho Linux. M t s b n phân ph i. S có c nh báo v vi c phân vùng không ph i là đ u tiên trên đĩa. Thông thư ng t p tin này đư c t o ra khi cài đ t. Trong nh ng phiên b n m i c a các b n phân ph i Linux m i khi này có th ch n c u hình cho nh ng h đi u hành đã có trên máy.

ph n th hai – “Windows”.3). Tùy ch n color dùng đ ch n màu cho trình đơn (hãy th nó!).3”. Ngoài dòng chú thích GRUB cũng b qua nh ng dòng tr ng. Và vì l nh này hi n th tham s m t cách nguyên v n. Chúng s đư c c p nh t m t cách t đ ng trong l n kh i đ ng sau. nên b n có th nh p b t kỳ th gì vào phía sau.0)/xen. trong GRUB vi c đánh s đư c b t đ u t ‘0’ ch không ph i ‘1’.2.0)/vmlinuz-xen root=/dev/hda5 vga=0x31a selinux=0 splash=silent resume=/dev/hda7 showopts module (hd0.YaST2 identifier: Original name: xen### title XEN kernel (hd0. đ u t p tin là nh ng thi t l p chung (global options).0)/initrd-xen 35 ###Don’t change this comment .0) makeactive chainloader +1 ###Don’t change this comment . Sau nh ng thi t l p chung là ph n thi t l p cho t ng h đi u hành c th . Tùy ch n default ch ra h đi u hành kh i đ ng theo m c đ nh (n u không đ ng vào bàn phím khi kh i đ ng).0)/vmlinuz root=/dev/hda5 vga=0x31a selinux=0 splash=silent resume=/dev/hda7 showopts initrd (hd0.v. Hãy nh l i.YaST2 identifier: Original name:linux### title SUSE LINUX 9. sau khi thay đ i c u GRUB không c n ph i ch y b t kỳ l nh nào đ nh ng thay đ i này có hi u l c. Như b n th y trong t p tin c u hình trên. M i ph n đ u b t đ u b ng l nh ‘title’ theo sau là tên s hi n th trong trình đơn. .3 kernel (hd0.7 S d ng trình kh i đ ng GRUB default 0 timeout 8 ###Don’t change this comment . S ‘0’ ch ra đó là h đi u hành th nh t trong danh sách (t c là SuSE Linux 9.0)/initrd ###Don’t change this comment . ph n đ u tiên là đ kh i đ ng “SUSE LINUX 9. Chúng đư c đ t trư c các m c b t đ u b ng ‘title’. .gz dom0_mem=196608 module (hd0. B n có th ghi b t kỳ câu gì mong mu n vào dòng này và không nh hư ng gì đ n công vi c c a chương trình. Khác v i trư ng h p LILO. Trong trư ng h p này là sau 8 giây. . Có th b n đã đoán ra nh ng dòng b t đ u b ng ký t ‘#’ là nh ng dòng chú thích. Tùy ch n timeout cho bi t GRUB s kh i đ ng m t cách t đ ng sau kho ng th i gian ch ra (tính theo giây) n u không nh n phím nào. v. Đây là m t đi m m nh c a GRUB so v i LILO.YaST2 identifier: Original name: floppy### title Floppy root (fd0) chainloader +1 Tác gi nghĩ r ng c n gi i thích c th hơn m t chút v t p tin này. nh ng tùy ch n có liên quan đ n giao di n c a trình đơn.YaST2 identifier: Original name: windows### title Windows map (hd0) (hd1) map (hd1) (hd0) rootnoverify (hd1.

Tuy nhiên tác gi chưa nhìn th y s c n thi t c a ng d ng này (n u đã ch n LILO làm trình kh i đ ng chính thì hãy s d ng cho “tr n b ”). Trong trư ng h p đó MBR c n ph i có kh năng n p LILO.22 label = linux read-only other = /dev/hda1 Ghi chú. LILO đư c c u hình b ng t p tin /etc/lilo.4 Gbyte thì hãy đ c k các ph n 2. Bư c ti p theo c n c u hình LILO đ có th kh i đ ng các HĐH theo l a ch n.3 và 2.conf có d ng g n như sau: boot = /dev/hda2 compact delay = 50 # message = /boot/bootmesg. LILO có th n m b n ghi kh i đ ng c a phân vùng chính đư c kích ho t và ch a thư m c g c c a Linux ho c th m chí trên phân vùng lôgíc trong phân vùng m r ng. nhưng tác gi khuyên b n đ c nên làm.36 Cài đ t h đi u hành Linux T t nhiên đây không ph i là t t c nh ng kh năng s d ng c a GRUB. Sau m t th i gian làm vi c v i Linux và có đ kinh nghi m b n s bi t cách tìm thêm thông tin v trình kh i đ ng tuy t v i này. 2. vì th chúng ta s không xem xét đ n.conf và câu l nh /sbin/lilo. Trư c khi cài đ t Linux hãy chu n b đĩa m m kh i đ ng Windows. n u b n mu n s d ng trình kh i đ ng LILO.1 S d ng trình kh i đ ng LILO Cài đ t và c u hình LILO Gi ng như trư ng h p Windows NT.8. 2. 3. N u dung lư ng đĩa c ng vư t quá 8. thì trong quá trình cài d t Linux c n ch n phương án cài LILO vào b n ghi kh i đ ng chính (Master Boot Record). Dùng chương trình Partition Magic đ l y ph n không gian đĩa còn tr ng và trên đó t o ra m t phân vùng ext2(3) (h th ng t p tin Linux) và m t phân vùng swap. 5 . Câu l nh này dùng đ cài đ t (hay cài đ t l i) LILO. T o các đĩa m m kh i đ ng theo nguyên t c là không b t bu c. chúng ta s đưa ra các bư c c n th c hi n đ có th kh i đ ng nhi u HĐH. Cách chia đĩa đã nói trên. Trong trư ng h p đó /etc/lilo. nhưng đ i v i ngư i dùng m i thì như v y là đ . còn phân vùng /dev/hda2 ch a Linux. Trình kh i đ ng LILO không b t bu c ph i cài đ t vào b n ghi kh i đ ng chính c a đĩa.8 2. Chúng ta xem xét m t ví d nh c a t p tin c u hình LILO.txt root = current image = /boot/vmlinuz-2. ví d khi MBR là trình kh i đ ng c a MS-DOS hay Windows. 1. Trong ví d này chúng ta s coi như thi t b /dev/hda1 là phân vùng v i DOS/Windows.5 4. C n nh r ng.5. Cài đ t Linux theo ch d n đi kèm v i b n phân ph i.4.

t c là thay đ i bi n table. N u đ t dòng (g i là ph n nh thì t t hơn) other = /dev/hda1 trong t p tin /etc/lilo. Ch c n đ t th i gian ch kh i đ ng trong t p tin boot. Câu l nh message dùng đ đưa ra thông báo theo ý mu n khi kh i đ ng. LILO.8 S d ng trình kh i đ ng LILO table = /dev/hda label = dos Vài l i gi i thích cho ví d : Dòng boot cho bi t thi t b kh i đ ng. tính năng (nén) này tăng t c đ c a kh i đ ng đ u. vì ph n c u hình tương ng v i Linux n m đ u tiên trong t p tin.conf.ini b ng không. trong trình đơn c a LILO n u ch n dos thì s hi n ra trình đơn c a NT Loader r i t đó ch n m t trong hai HĐH Windows đ kh i đ ng). sau khi thay đ i ch d n đ n b ng phân chia đĩa.ini c n đ t khác không (th i gian ch đư c tính theo giây). Dòng table=<device> cho bi t tên thi t b ch a b ng phân chia đĩa. N u như tên không đư c nh p sau kho ng th i gian ch trên dòng delay (tính theo ph n mư i giây – c n nhân v i 0. và LILO kh i đ ng thành công Windows NT. c n th c hi n câu l nh /sbin/lilo. m i ph n tương ng v i m t h đi u hành s kh i đ ng theo l a ch n c a ngư i dùng.dos label = win trong đó bootsect. c n ch y câu l nh /sbin/lilo đ nh ng thay đ i có hi u l c. Trên dòng này ghi tên c n nh p vào d u nh c LILO hay tên s hi n th trong trình đơn c a LILO đ có th ch n HĐH mu n kh i đ ng. LILO s không đưa thông tin v phân chia đĩa cho h đi u hành đư c kh i đ ng n u bi n này không đư c đưa ra. Có th ch ra h đi u hành đư c kh i đ ng theo m c đ nh khi thêm m t dòng có d ng default=dos. n u vì m t lý do nào đó b n mu n th y trình đơn này thì giá tr timeout trong t p tin boot. Trong m i ph n như v y có m t dòng label.) Đ ng quên r ng. 37 Dòng compact b t ch đ nén t p tin map – t p tin ch a đ c tính c a nhân đư c kh i đ ng. thì trong thư m c g c c a đĩa /dev/hda1 (đĩa C: trong h th ng thu t ng Microsoft) c n có trình kh i đ ng ph (không ph i là chính). Windows NT và Windows 98. thì s kh i đ ng HĐH theo m c đ nh. Sau khi s a xong t p tin /etc/lilo. B t đ u t dòng image là các ph n nh c a t p tin c u hình. Trong ví d này. đ không th y trình đơn kh i đ ng c a NT Loader.2. Câu l nh này (trong tài li u .conf theo ý mu n.dos l y t thư m c g c c a đĩa ch a NT Loader. s kh i đ ng Linux theo m c đ nh. Trên m t máy c a tác gi đó n m trình kh i đ ng NT Loader (vì Windows NT đư c cài đ t trư c Linux). t c là s d ng tên đã đ t trên dòng label.conf: other = /boot/bootsect. (M t s h đi u hành có công c khác đ xác đ nh là đã đư c kh i đ ng t phân vùng nào.1 giây). Đi u này có th c n thi t khi mu n kh i đ ng c Windows 98 t trình đơn c a NT Loader (trong trư ng h p này s có 3 HĐH: Linux. Tuy nhiên. N u b n đ c mu n kh i đ ng Windows tr c ti p t ph n nh sau vào /etc/lilo. thì hãy thêm 5.

hãy th c hi n câu l nh này v i tham s -t. thì qua s ch cái đưa ra có th nh n đ nh v nguyên nhân xu t hi n v n đ .0300 of=/dev/hda bs=446 count=1 hay [root:~#] dd if=/boot/boot. và cách kh c ph c (n u có th ). Đ k t thúc ph n nói v LILO này chúng ta s xem xét vài khó khăn có th xu t hi n khi s d ng LILO. không nh t thi t ph i dùng /boot/boot. . thì n i dung cũ c a sector này s t đ ng đư c ghi nh vào m t t p tin.38 Cài đ t h đi u hành Linux hư ng d n g i là map-installer) cài đ t trình kh i đ ng ph . 0300 – tương ng /dev/hda. Theo m c đ nh đó là t p tin /boot/boot. thì b n đ c s đư c bi t thêm thông tin chi ti t v nh ng gì l nh /sbin/lilo s th c hi n. n u không còn cách ph c h i nào khác đơn gi n hơn. Khi này m i ch cái bi u th s k t thúc m t hành đ ng nào đó hay k t thúc m t bư c n p LILO. Cũng có th ph c h i MBR cũ khi c n thi t b ng câu l nh /sbin/lilo v i tùy ch n -u. Khi có tham s này s th c hi n t t c các th t c cài đ t trình kh i đ ng. ví d . Ho c LILO không đư c cài đ t. trong đó NNNN tương ng v i s c a thi t b . Nhưng c n bi t r ng. . N u t p tin này đã có trên đĩa. 0800 – /dev/sda.v. N u kh i đ ng b b ngưng gi a ch ng. 6.NNNN có th s d ng đ ph c h i n i dung cũ c a sector kh i đ ng. N u cho thêm tùy ch n -v. • Không ch cái nào hi n ra – không có ph n nào c a LILO đư c n p. Câu l nh đ th c hi n có d ng: [root:~#] dd if=/boot/boot. mà không thay đ i b ng phân chia đĩa. Trư c khi ch y /sbin/lilo đ thay đ i bư c kh i đ ng. câu l nh này ch làm vi c đúng v i đi u ki n là thư m c LILO (t c là /boot) không thay đ i k t khi cài đ t. MBR c a MS-DOS có th đư c ph c h i b ng cách kh i đ ng vào DOS t đĩa m m (CD) r i ch y câu l nh fdisk /mbr (xem trên). và b ng phân chia đĩa. L nh này ch thay đ i mã chương trình kh i đ ng n m trong MBR. và không đ ng gì đ n b ng phân chia đĩa). thì nó không b ghi đè lên. . Khi /sbin/lilo ghi đè n i dung m i lên sector kh i d ng. Sau khi cài đ t l i trình kh i đ ng c n kh i đ ng l i máy tính và th các phương án kh i đ ng khác nhau đ ki m tra. Khi LILO đư c n p. v. b n ghi sector kh i đ ng. ho c phân vùng ch a LILO chưa đư c kích ho t.NNNN.0800 of=/dev/hda bs=446 count=1 (bs=446 vì ch ph c h i chương trình kh i đ ng. Tuy nhiên có th đ t m t tên khác đ ghi sector kh i đ ng.NNNN. T p tin /boot/boot. tr vi c thay đ i t p tin map. mà s đư c kích ho t trong l n kh i đ ng ti p theo. t c là ch ch y th c u hình m i. nó đưa ra màn hình t “LILO”.

nhưng không ch y đư c nó.b b di chuy n mà ngư i dùng quên không ch y /sbin/lilo. Có th là l i đưa c u trúc hình h c c a đĩa. • LIL. Như th . • LILO – t t c các ph n c a LILO đư c n p thành công. thì v n đ thư ng d gi i quy t. nhưng nó không th n p b ng mô t t t p tin map. ho c t p tin boot/boot.8. N u LILO không d ng l i đây. Vì trong ph n l n các trư ng h p phân vùng DOS chi m các vùng đĩa đ u (không có h n ch c a BIOS).8 S d ng trình kh i đ ng LILO 39 • L [mã l i] – trình kh i đ ng chính đã đư c n p và đã ch y (t c là đã nh n đư c quy n đi u khi n). • LI – trình kh i đ ng chính đã n p đư c trình kh i đ ng ph . Thông thư ng do l i đưa ra c u trúc hình h c c a đĩa ho c t p tin /boot/boot. • LIL — trình kh i đ ng ph đã đư c ch y.b b di chuy n mà ngư i dùng quên không ch y /sbin/lilo. Khi có v n đ sau khi cài đ t m t h đi u hành khác sau Linux. • LIL? – trình kh i đ ng ph đã đư c n p vào đ a ch không đúng.b b di chuy n mà ngư i dùng quên không ch y /sbin/lilo. Mã l i hai ký t cho bi t nguyên nhân c th c a v n đ (cách gi i mã c n tìm trong tài li u k thu t c a LILO). Thông thư ng do l i đưa ra c u trúc hình h c c a đĩa ho c t p tin /boot/boot. thư ng có th gi i quy t b ng cách kh i đ ng vào Linux b ng đĩa m m kh i đ ng.– b ng mô t trong t p tin map b phá h y. Mà trình kh i đ ng MS-DOS và Windows 95/98 ch “bi t” chuy n quy n đi u khi n cho sector đ u tiên c a phân vùng kích ho t. r i ch y /sbin/lilo. 2.2. Nguyên nhân thư ng do khuy t t t c a đĩa ho c không đưa đúng c u trúc hình h c c a đĩa.2 Cài đ t các h đi u hành khác sau Linux Khi cài đ t MS-DOS và Windows 95/98. ho c kích ho t phân vùng ch a LILO (n u LILO đư c cài vào phân vùng chính). khi mà thư m c /boot không th n m trên phân vùng dành cho Linux. n u như b n đ c đ u tiên cài đ t Linux. s a l i t p tin c u hình LILO (thêm ph n nh cho HĐH m i). nhưng nó không th n p trình kh i đ ng ph .3 Chuy n thư m c /boot lên phân vùng DOS Nh ng phiên b n nhân Linux m i nh t h tr kh năng đ t các t p tin c n thi t trên giai đo n kh i đ ng vào h th ng t p tin MS-DOS (hay UMSDOS). trình kh i đ ng c a chúng (không ph thu c vào ý mu n c a b n đ c) đư c ghi vào Master Boot Record (MBR). và d u kích ho t trong b ng phân vùng s đư c chuy n sang phân vùng MS-DOS (Windows 95/98). 2. và sau đó m i cài đ t Windows 95/98 hay MS-DOS. Thông thư ng thì v n đ n y sinh do đĩa x u (có khuy t t t) hay không đ t đúng c u trúc hình h c c a đĩa. nên cho phép gi i quy t nhi u v n đ c a đĩa l n. . mà ti p t c đưa ra m t chu i vô t n các mã l i. Có th ph c h i l i LILO b ng cách ch y l nh /sbin/lilo (n u LILO đư c cài vào MBR).8. thì Linux s không th kh i đ ng.

thì ph i kh i đ ng l i máy tính. c n phân vùng DOS ch đ đ c/ghi. ví d . ch c n đ t chương trình – t p tin loadlin. Phiên b n 1. Kh năng này th c hi n nh chương trình đ c bi t loadlin. b ng câu l nh reboot. thư m c /boot đư c chuy n thành liên k t tư ng trưng đ n thư m c /dos/linux. 2.exe. thông thư ng ghi t p tin loadlin.fgan.de) vi t. t o trong đó m t thư m c (ví d .exe. Chương trình loadlin. Có th dùng chương trình này đ kh i đ ng Linux t CD ho c t đĩa trong m ng mà không c n s d ng đĩa m m kh i đ ng. • C n có nh nén c a nhân Linux (zImage. và chuy n t t c các t p tin t thư m c /boot vào đó. do Hans Lermen (lermen@elserv.exe và nhân ( nh c a nhân) lên m t trong các đĩa mà DOS nh n ra.40 Cài đ t h đi u hành Linux Đ th c hi n phương án kh i đ ng này.ffm. khi có phân vùng kích ho t là DOS hay Windows. vì chương trình này h tr “kh i đ ng lôgíc” c a máy tính.conf.exe Không ch các t p tin kh i đ ng và nhân có th n m trong phân vùng DOS. Tuy nhiên. Đ i v i nh ng ngư i dùng m i thì s thu n ti n hơn khi s d ng loadlin. c n làm gì đ có th s d ng chương trình loadlin. m c dù b n đ c có th thay th zImage thành bzImage 6 .6 Loadlin. mà c ti n trình kh i đ ng Linux nói chung có th đư c t ch c t DOS.exe thành m t công c tuy t v i đ kh i đ ng Linux khi có v n đ v i LILO. Kh năng này bi n loadlin. m t s b n phân ph i còn có gói cài đ t cho chương trình này.73) có kích thư c lên t i 1 Mbyte. nhân khi gi i nén có kích thư c lên t i 2 Mbyte. Như v y. Vi c s d ng loadlin. v trí m i c a thư m c /boot c n ch ra trong t p tin /etc/lilo. bzImage là đ nh d ng m i hơn (s phiên b n nhân l n hơn 1. “không vào hang c p sao b t đư c c p”. • Trên máy tính c a b n (t t nhiên v i b x lý 386 ho c cao hơn) c n cài đ t DOS hay WINDOWS 95. bzImage)7 .exe làm vi c v i m i c u hình DOS và có r t ít h n ch . N u như b n đ c mu n quay tr l i DOS. Ti p theo chúng ta s ch nói v các t p tin zImage. do đó. và sau đó DOS đư c thay th hoàn toàn b ng Linux. zImage là đ nh d ng nh phân cũ c a nhân.exe không có nghĩa là Linux làm vi c dư i DOS.3. và k t qu là không th kh i đ ng đư c b t kỳ h đi u hành nào (tác gi cũng đã rơi vào trư ng h p như v y).exe cung c p cách kh i đ ng Linux t c ng an toàn nh t.exe không yêu c u ph i cài đ t. có th n p các nhân l n (các bzImage) và các nh đĩa o (initrd) tr c ti p vào vùng b nh n m trên. Phương án kh i đ ng này đư c khuyên s d ng cho ngư i dùng Linux m i. Chương trình này thư ng có trên các đĩa c a b n phân ph i. và cu i cùng ch y l nh /sbin/lilo. Vì th h thư ng s d ng LILO không đúng cách. Ph n l n ngư i dùng m i (và không ch h ) không đ kiên nh n đ đ c tài li u r t hay nhưng r t dài (và l i vi t trên ti ng Anh n a) c a LILO. /dos/linux). Phiên b n này có th s d ng b nh m r ng.exe đ kh i đ ng và b t đ u tìm hi u Linux.9 Kh i đ ng Linux t MS-DOS b ng loadlin.6 c a loadlin.exe vào thư m c c a ngư i dùng root 7 Ghi chú.

exe đ kh i đ ng. Ngoài ra sao chép t thư m c /boot vào thư m c đó c t p tin ch a nh c a nhân Linux. ho c qua h p tho i l a ch n khi nh n l nh t t máy (shutdown) Windows 95/98.5) 2. còn phân vùng Linux là /dev/hda3): [root]# mount -t vfat /dev/hda1 /mnt/C T o thư m c /mnt/C/loadlin và gi i nén t p tin LOADLIN16.2.DOC (đ ng quên r ng chúng là nh ng t p tin DOS). Bây gi i kh i đ ng l i máy tính vào DOS tr c ti p (n u b n đ c có Windows 95/98 thì c n nh n phím <F8> khi kh i đ ng đ hi n th trình đơn cho phép ch n DOS). hãy s d ng đĩa m m kh i đ ng).4.. N u b n ch y loadlin.22 t /boot vào /mnt/C/loadlin và đ i tên thành vmlinuz (vi c đ i tên là không nh t thi t. Gói nén này còn ch a hư ng d n s d ng DOC\MANUAL..exe.conf: tìm trong t p tin c u hình dòng “image=.22.TGZ vào đó. Sau khi k t thúc ph n cài đ t hãy kh i đ ng Linux (n u không có cách nào khác.4.9 Kh i đ ng Linux t MS-DOS b ng loadlin. 1. và hư ng d n cách đưa các tham s DOC\PARAMS. 3.PAR. G n phân vùng DOS (gi thi t là /dev/hda1.22 /mnt/C/loadlin/vmlinuz 4. và ch có ý nghĩa thu n ti n cho s d ng): [root]# cp /boot/vmlinuz-2. t p tin tham s ví d DOC\TEST. Có th tìm t p tin ch a nh c a nhân c n thi t nh t p tin /etc/lilo.4.” và b n đ c s th y tên c n thi t phía bên ph i d u b ng.exe 41 • Chương trình loadlin. Thu n ti n hơn đ đ c hư ng d n này khi ch y chương trình v i tham s more (gi ng trong Linux): C:\LOADLIN> loadlin | more Bây gi chúng ta có th xem xét các bư c cài đ t Linux khi s d ng loadlin. LILO c n cài đ t vào sector đ u tiên c a phân vùng Linux đ không ghi đè lên MBR và không b m t kh năng kh i đ ng vào Windows. Sao chép t p tin vmlinuz-2. Chia các phân vùng cho Linux (cách làm xem ph n 2. Cài đ t Linux vào phân vùng đã chia.exe không có tham s C:\LOADLIN> loadlin thì s nh n đư c hư ng d n s d ng ng n g n. Sau khi vào DOS hãy chuy n sang thư m c C:\LOADLIN: CD \LOADLIN r i th c hi n l nh: . Ví d tên c a t p tin này là vmlinuz-2.TXT.TGZ. Có th tìm th y trên đĩa phân ph i d ng không nén hay trong gói LOADLIN16.

(Đ ch y giao di n đ h a. Có th vi t thêm l nh g i loadlin vào t p tin autoexec. V n đ ch . Bây gi b n đ c có th s d ng cách này đ kh i đ ng Linux.edu/~gpg109/BootPrompt-HOWTO. Mô t đ y đ t t c các tham s c a câu l nh loadlin.html.bat). và DOS s đư c kh i đ ng thay cho Windows 95/98. C n nói thêm r ng. sau đó thì ch y Linux.exe có th tìm th y trong t p tin PARAMS. Tác gi cho r ng nh ng thông tin đã đưa ra trên đ đ t o t p tin bat c n thi t. n u b n đ c mu n n p nhân cùng v i đĩa RAM: C:\LOADLIN> LOADLIN vmlinuz /dev/ram rw initrd=diskimage Còn có th ghi t t c các tham s c a l nh loadlin. Dòng Logo=0 t t vi c hi n th bi u tư ng Windows (c a s ). linux.SYS (đây là t p tin văn b n thông thư ng). đ i v i m t s c c màn hình Linux s đưa ra m t màn hình tr ng r ng sau khi kh i đ ng.42 Cài đ t h đi u hành Linux C:\LOADLIN> LOADLIN vmlinuz /dev/hda3 ro vga=ask ho c.edu/mdw/HOWTO/BootPrompt-HOWTO.bat ho c t o m t t p tin l nh (ví d . không đư c kh i đ ng Linux t giao di n đ h a DOS/Windows và c n t t m t vài tùy ch n trong t p tin n C:\MSDOS.DOC ho c Internet trên trang http://sunsite.anu. Công vi c duy nh t còn l i là làm sao đ không ph i gõ l nh loadlin v i t t c các tham s sau m i l n kh i đ ng l i. và khi ch y t p tin này.unc. c n nh p câu l nh C:\> win). máy tính s chuy n vào ch đ DOS trư c. n u như có hi n th bi u tư ng Windows. b ng cách thêm vào hai dòng sau (n u chưa có): BootGUI=0 Logo=0 Dòng đ u tiên t t giao di n đ h a. .exe vào t p tin (ví d v i tên params) và g i câu l nh đó d ng sau: C:\LOADLIN> LOADLIN @params Kh năng này đ c bi t có ích khi đưa nhi u tham s dòng l nh và khi dòng l nh dài hơn 127 ký t .html và http://rsphy1.

3. ng i nhìn. Ph i làm gì đ có th ti p t c làm vi c v i h th ng Linux? Sau khi làm vi c xong thì t t máy th nào? Có nh ng chương trình nào nên bi t? Trong khi làm vi c có v n đ n y sinh thì tìm câu tr l i đâu? Trong chương này chúng ta s tìm th y câu tr l i cho nh ng câu h i trên.1 Kh i đ ng HĐH Linux Như v y là vi c cài đ t Linux đã hoàn thành. Hình 3.1. đ i h th ng kh i đ ng xong và .. B t máy tính lên. thì sau nh ng dòng ch BIOS thư ng đưa ra s xu t hi n màn hình d ng như trong hình 3. N u ngư i dùng đã cài đ t GRUB làm trình kh i đ ng..1: Màn hình kh i đ ng c a GRUB .Chương 3 Kh i đ ng Linux l n đ u V n s kh i đ u nan – Trung Qu c Sau khi cài đ t r t có th b n đ c s không bi t bư c ti p theo ph i làm gì.

2 Đăng nh p vào h th ng Như b n đã bi t.44 Kh i đ ng Linux l n đ u N u không ch m vào bàn phím. N u có đ kiên nh n đ đ c h t cu n sách này. th m chí làm h ng h th ng. H th ng s đưa ra câu h i m t kh u: Password: T t nhiên là b n c n nh p vào m t kh u tương ng v i ngư i dùng đã đưa ra. N u b n đã ch n t đ ng ch y ch đ đ ho thì hãy nh n <Ctrl>+<Alt>+<F1> đ th y màn hình đăng nh p như sau: ThinhQuyen login: Màn hình đăng nh p này xu t hi n trên máy c a tác gi khi kh i đ ng Debian Linux. Tuy nhiên bây gi v n còn s m đ nói v v n đ này. M t kh u này là m t kh u đã đưa ra cho ngư i dùng root trong quá trình cài đ t.v. T t nhiên màn hình đăng nh p c a b n đ c s khác. đây là m t kh u c a root. thì trên màn hình s xu t hi n r t nhi u thông báo mà t m th i chúng ta s không xem xét ý nghĩa c a chúng1 . Trong trư ng h p đó. Sau khi nh p đúng m t kh u. ví d đưa ra nh ng câu chào d ng “Xin chào! Hôm nay là 02 tháng 09 năm 2006. . thì trên màn hình kh i đ ng GRUB s xu t hi n danh sách các h đi u hành tìm th y. khi hi n ra dòng m i này thì đ u tiên c n nh p vào tên ngư i dùng. có th thêm. Đây là ngư i dùng duy nh t luôn luôn có tài kho n đư c t o ra trong quá trình cài đ t. Ngư i dùng này là ch s h u có toàn quy n đ i v i h th ng bây gi cũng như sau này. sau đó nh p vào m t kh u khi có yêu c u đ vào h th ng. d ng h th ng v. Nh ng thao tác không c n th n c a ngư i dùng này có th d dàng d n đ n nh ng h u qu khó lư ng. N u đã ch n kh i đ ng Linux thì cu i cùng ngư i dùng ph i th y dòng login:. xóa nh ng ngư i dùng khác. Do đó có th b n đ c s không th y nh ng thông báo này. thì h th ng s t đ ng quay tr l i dòng h i tên ngư i dùng login:. vì th hãy nh p “root” vào dòng login: r i nh n phím <Enter> (<Return>). Tuy nhiên chúng ta đang trong trư ng h p này. b n s th y dòng như sau: Trong nh ng b n phân ph i Linux m i. Có th ch n HĐH mu n kh i đ ng b ng các phím <↑> và <↓> r i nh n phím <Enter>. Sau khi nh p m t kh u cũng nh n <Enter>. N u đây là l n đăng nh p đ u tiên vào h th ng ngay sau khi cài đ t. có s d ng màn hình flash. Phím này thư ng là <Esc>. thì hãy nh p vào tên ngư i dùng “root” (ngư i dùng cao c p). 3. Cu i cùng xu t hi n màn hình cho phép ngư i dùng đăng nh p vào h th ng. t c là dòng m i nh p vào tên đăng nh p. và trong khi cài đ t b n quên t o thêm ngư i dùng. . t c là có quy n truy c p không gi i h n đ n các tài nguyên. Vì th thư ng ch đăng nh p dư i tên ngư i dùng này khi th c hi n các công vi c qu n tr h th ng. ví d SuSE Linux. hãy nh n phím tương ng đ chuy n v màn hình kh i đ ng bình thư ng. N u sau khi nh p vào tên ngư i dùng r i r t lâu sau không vào m t kh u. N u Linux không ph i là h đi u hành (HĐH) duy nh t trên máy tính. N u kh i đ ng b ng đĩa m m thì quá trình cũng tương t nhưng ch m hơn m t chút. Hãy nh p vào tên ngư i dùng và m t kh u”. thì b n s bi t cách thay đ i màn hình này. 1 .

k c d u sao ‘*’ như thư ng th y. nhimlui: [root]# useradd nhimlui Ngay sau khi nh n phím <Enter> đ ch y l nh này. “m tài kho n cho ngư i dùng nhimlui”).3. ví d . Sau này b n có th thay đ i d ng c a d u nh c này. “đăng nh p”) dư i tên ngư i dùng này. Đ h th ng cho phép ngư i dùng m i nhimlui làm vi c. Trong t t c các ví d ti p theo chúng ta s s d ng d u nh c ch g m có tên ngư i dùng. N u b n đã nh p đúng t t c . c n ph i “t o” thêm cho ngư i dùng này m t kh u b ng câu l nh: [root]# passwd nhimlui S xu t hi n dòng: Changing password for nhimlui. Tuy nhiên v n chưa th vào h th ng (thư ng nói. thì s xu t hi n dòng c nh báo (d ng Bad password: too short). c n nói r ng trên b t kỳ h th ng UNIX nào ki u ch cũng đ u đóng vai trò quan tr ng. Trư c khi đ ngh b n đ c nh p vào câu l nh đ u tiên. th i đi m này nó có nghĩa là b n đã đăng nh p vào h th ng m t cách thành công. Reenter New Password: Đ ng ng c nhiên. Xu t hi n d u nh c có nghĩa là h th ng đã s n sàng ti p nh n và th c hi n câu l nh c a ngư i dùng. Chúng ta s g i ch đ này là văn b n đ phân bi t v i ch đ đ ho c a h th ng X Window. tên h th ng (ThinhQuyen) và thư m c hi n th i (/root). Sau khi nh p xong. thì s xu t hi n thông báo thành công d ng: Password changed. Vì th c n nh p vào t t c các câu l nh cũng như tham s c a chúng như ch ra trong ví d . Trong ví d đưa ra trên d u nh c g m tên ngư i dùng (root). cũng nh n phím <Enter>. t c là có phân bi t ch hoa và ch thư ng. . nhưng h th ng v n ti p nh n m t kh u và cho phép ngư i dùng m i đăng nh p vào h th ng. Sau tên c a câu l nh c n kho ng tr ng và sau đó là tên ngư i dùng. b n s không nhìn th y m t kh u vào vì h th ng s không hi n th gì ra. Trong MS-DOS và Windows(TM) màn hình đen và d u nh c h th ng thư ng đư c g i là ch đ dòng l nh. k c ki u ch .2 Đăng nh p vào h th ng [root@ThinhQuyen /root]# 45 Dòng này đư c g i là d u nh c. N u nh p vào m t kh u không t t (m t kh u quá ng n ho c quá đơn gi n). trên h th ng s bi t r ng ngư i dùng nhimlui t n t i (chúng ta nói. Câu l nh đ u tiên chúng ta s nh p vào là useradd. và s l i xu t hi n d u nh c c a h th ng. h th ng s h i nh p m t kh u m t l n n a đ ki m tra. New Password: Hãy nh p vào m t kh u.

Do đó b n s nh n đư c nh ng trang này b ng ti ng Anh.3 Console. Vì thông tin thư ng không th n m g n trên m t màn hình nên khi xem c n s d ng các phím <PageUp>. B n đ c còn có th th ch y thêm m t vài câu l nh n a và theo dõi xem h th ng làm gì. có th đ c v nh ng câu l nh chính trong b t kỳ cu n sách nào nói v UNIX.1: Nh ng câu l nh đơn gi n c a Linux Câu l nh Mô t ng n g n whoami Thông báo tên đăng nh p c a b n w ho c who Cho bi t nh ng ngư i dùng nào hi n đang làm vi c trên h th ng pwd Cho bi t tên c a thư m c hi n th i ls -l Hi n th danh sách t p tin và thư m c con c a thư m c hi n th i cd tên_thư_m c Chuy n thư m c hi n th i đ n tên_thư_m c ps ax Hi n th danh sách các ti n trình đang ch y Hãy xem mô t v nh ng câu l nh này b ng man. Bây gi xin b n đ c hãy th xem thông tin v hai câu l nh đã đ c p đ n trên – login và passwd. Chúng ta s không xem xét chi ti t danh sách t t c nh ng câu l nh có th g p. thì hay kiên nh n đ c cu n sách này ho c m t cu n sách khác cùng đ tài. terminal o và shell Như v y là b n đ c đã có kinh nghi m làm vi c đ u tiên ch đ văn b n (hay còn g i là kênh giao tác “console”) c a h th ng Linux. Chú ý là có th xem thông tin v chính b n thân câu l nh man. <PageDown>. ngư i dùng s d n d n làm quen v i chúng trong quá trình đ c cu n sách này và th c hành trên HĐH Linux c a mình. Ví d . man là h th ng tr giúp luôn luôn đi kèm v i h th ng Linux. N u như b n không có kh năng đ c ti ng Anh. hãy th nh ng câu l nh li t kê trong b ng 3. B ng 3.46 Kh i đ ng Linux l n đ u Như v y là b n đ c đã làm quen v i hai câu l nh đ u tiên c a h th ng Linux: useradd và passwd. và phím tr ng. Vì th nh t. 3. Hãy nh n phím <Q> b t kỳ th i đi m nào đ thoát ra kh i màn hình xem man và quay l i dòng nh p l nh. Hãy ch y l nh: [root]# man man R t ti c theo như tác gi bi t thì hi n th i các trang thông tin man còn chưa đư c d ch sang ti ng Vi t.1 (hãy nh p chúng cùng v i nh ng tham s có trong b ng). Câu l nh ti p theo mà b t kỳ ngư i dùng Linux nào cũng c n ph i bi t đó là câu l nh man. Chúng ta s còn g p . Th hai. Ví d : [root]# man passwd K t qu là b n s nh n đư c m t văn b n mô t câu l nh tương ng ho c thông tin v đ tài mà t khoá đưa ra. C n ph i nh p vào câu l nh này v i m t tham s – tên c a câu l nh khác ho c t khóa.

L nh này s đưa ra tên c a terminal d ng: /dev/tty2. Đ ng quên r ng Linux là HĐH nhi u ti n trình (multiproccess) và nhi u ngư i dùng (multiuser). . terminal o và shell 47 thư ng xuyên nh ng khái ni m trình l nh “terminal” và “console”. Tuy nhiên n u làm vi c ch đ đ ho thì không th không dùng phím <Ctrl>. xin b n hãy th c hi n nh ng l i khuyên trên. h u h t các b n phân ph i Linux l n (Red Hat. Terminal – thi t b dùng đ giao ti p gi a ngư i dùng và máy tính. Máy tính cá nhân c a b n đ c là máy tính th h m i. Và hơn th n a còn cung c p kh năng làm vi c v i m t vài terminal o t m t console duy nh t. M t ngư i dùng nào đó d ng công vi c không có nghĩa là c n ph i t t máy. T h p phím nói trên ch đơn gi n là d ng phiên làm vi c hi n th i c a m t ngư i dùng. Đi m m nh c a gi i pháp này ch t t c nh ng chương trình cũ đã dùng đ qu n tr h th ng UNIX có th làm vi c không có v n đ gì trên d ng console m i này. Mainframe có m t terminal đ c bi t dành cho nhà qu n tr (system administrator) h th ng. Cũng có th d ng phiên làm vi c b ng m t trong hai câu l nh logout ho c exit. ngoài console Linux còn cho phép k t n i các terminal xa t i máy tính. Thao tác này không t t máy và cũng không kh i đ ng l i h th ng. Xin nói ngay l p t c n u b n mu n thoát kh i m t trong các terminal thì có th th c hi n b ng t h p phím <Ctrl>+<D>. đây b n đ c có th đăng nh p dư i tên ngư i dùng khác. do đó ch c s không có terminal xa nào k t n i t i. Đ chuy n gi a các terminal o chúng ta s d ng các t h p phím <Ctrl>+<Alt>+<F1> — <Ctrl>+<Alt>+<F6>. Do đó. Nhưng đây không ph i là làm vi c l i t đ u v i h th ng mà b n đ c ch chuy n sang m t terminal o khác. Debian. Nhân ti n cũng c n nói luôn. Tuy nhiên. B n đ c s l i th y dòng m i đăng nh p login:. do đó tác gi gi i thích k hơn nh ng khái ni m này. C n nói thêm là khi làm vi c ch đ văn b n (không ph i đ ho ) thì cũng có th s d ng các t h p phím <Alt>+<F1> — <Alt>+<F6> và thu đư c k t qu tương t . Hãy nh n t h p phím <Ctrl>+<Alt>+<F2>. nhưng v n có bàn phím và màn hình th c hi n vai trò terminal đ i v i ngư i dùng. Như v y r t thu n ti n cho s d ng. t t hơn h t là làm quen ngay t đ u v i t h p 3 phím. ) m ra 6 phiên làm vi c song song (terminal o) như v y khi kh i đ ng. Bây gi khi đã bi t cách b ng đ u và k t thúc phiên làm vi c trên h th ng. Sau đó hãy nh n t h p phím <Ctrl >+< Alt>+<F1>. còn có nh ng ngư i dùng khác v n ti p t c làm vi c. Hãy th vào h th ng b ng tên ngư i dùng v a m i t o ra (nhimlui). máy tính còn r t to (mainframe) và ngư i dùng làm vi c trên nh ng máy tính này qua m t h th ng nh ng giao di n k ti p nhau dùng đ k t n i các terminal xa. t c là vào h th ng dư i tên ngư i .. Ngoài ra thêm vào thành ph n c a terminal bây gi còn có chu t. và h th ng s hi n th l i trên terminal này d u m i đăng nh p (login:) mà b n đ c đã th y. Khi h th ng UNIX đ u tiên m i đư c t o ra. thư ng g m màn hình và bàn phím. B n s quay l i màn hình ban đ u. n u trong quá trình làm vi c b n đ c không nh đang n m trong terminal o nào thì hãy s d ng câu l nh tty. . Console thư ng k t n i t i máy tính không qua giao di n k ti p nhau mà qua m t c m riêng (đôi khi thi t b đưa ra không ph i là màn hình mà là m t thi t b in). do đó bàn phím và màn hình máy tính cá nhân ngày nay làm vi c gi ng như console ngày xưa. Theo m c đ nh. đư c g i là console. Vì trên các h th ng UNIX ngư i ta thư ng tuân theo các truy n th ng. SuSE.3.3 Console.

Hãy đóng t t c nh ng phiên làm vi c mà root m ra. có m t lo t các thao tác. B n ch c n nh p vào l nh bash (đây cũng là tên c a chương trình h v trên ph n l n các h th ng Linux) và như v y là đã ch y m t shell m i. nhưng theo m c đ nh s ch y bash. Khi thoát kh i h v m i này (b ng câu l nh exit ho c t h p phím <Ctrl>+<D>). Còn bây gi c n nói vài dòng v h v . Trong khi đó. câu l nh login s ch y cho ngư i dùng này m t b x lý l nh – shell. d u nh c c a t t c nh ng ngư i dùng còn l i – ký t $. ch có ngư i dùng cao c p m i có th th c hi n. vì m i thao tác không c n th n c a ngư i dùng này có th d n đ n nh ng h u qu không mong mu n. Cũng có th s d ng nh ng h v này trên Linux. Có nghĩa b n đ c cũng là ngư i dùng root c a h th ng. D u nh c c a ngư i dùng root có ký t # cu i. Đ ng kh i đ ng l i máy tính m i l n như v y! Câu l nh su giúp đ gi i quy t nh ng trư ng h p như v y. Vì h v bash đóng m t vai trò h t s c quan tr ng trong Linux. ví d : help cd. Trong bash có đ y đ các câu l nh tích h p (n i b ) và các toán t . Không ch duy nh t l nh login có kh năng ch y shell. Máy tính c a ngư i dùng thông thư ng là máy cá nhân (personal computer hay nói g n là PC) dù nhà hay cơ quan. ít nh t b n đ c cũng không th xóa ho c làm h ng các t p tin h th ng (system files) do s không c n th n c a mình. Sau khi th c hi n xong các công vi c qu n tr h th ng. Có th xem danh sách các câu l nh tích h p trong bash b ng l nh help. Nhưng như đã nói trên. r i vào h th ng dư i tên ngư i dùng m i t o ra. và ngoài ra còn có th s d ng các chương trình khác n m trên đĩa làm câu l nh. đăng nh p dư i tên ngư i dùng cao c p này là không nên. Nói m t cách ch t ch thì câu “h th ng hi n th d u nh c” là không đúng.48 Kh i đ ng Linux l n đ u dùng bình thư ng (không có quy n cao “c p” c a ngư i dùng root). Ch c n nh p câu l nh su và shell hi n th i (hay nói không đúng là “h th ng”) s ch y m t shell m i mà khi vào trong đó b n s ch y t t c các l nh v i quy n c a root. vì d u nh c này là do shell đưa ra đ đ i ngư i dùng nh p vào câu l nh ti p theo. ví d g n h th ng t p tin. hãy thoát kh i h v và b n . H v bash không ch là b x lý l nh mà còn là m t ngôn ng l p trình m nh. Bây gi chúng ta s xem xét thêm m t câu l nh n a mà b n đ c c n bi t. b n s quay l i h v ban đ u (h v mà t đó b n đã ch y l nh bash). T t nhiên là đ có quy n này b n c n nh p m t kh u c a root vào dòng yêu c u hi n ra (Password:). M i l n ngư i dùng nào đó vào h th ng. H v hay shell (t này thư ng không d ch mà đ nguyên ti ng Anh) là chương trình th c hi n vi c giao ti p c a h th ng v i ngư i dùng. vì th shell còn có th g i là b x lý l nh (thu t ng quen thu c đ i v i ngư i dùng DOS). Cũng c n lưu ý là đ i v i các h th ng UNIX các nhà phát tri n đã vi t ra nhi u h v khác thay th cho bash. nên tác gi s dành riêng m t chương c a cu n sách này đ nói v nó. Chính shell nh n t t c nh ng câu l nh mà ngư i dùng nh p vào t bàn phím và t ch c vi c th c hi n nh ng câu l nh này. Khi đăng nh p dư i tên ngư i dùng thông thư ng. Hãy th l nh này! Xem thông tin chi ti t v m t l nh nào đó cũng b ng l nh help này v i tham s là tên c a l nh. T t nhiên là b n có th tìm th y nh ng thông tin tương t trong b t kỳ cu n sách nào v UNIX. N u b n đ c đăng nh p vào h th ng t terminal th hai dư i tên ngư i dùng nhimlui (ho c dư i tên ngư i dùng b n đã ch n). thì hãy chú ý đ n s khác nhau trong d u nh c c a hai ngư i dùng root và nhimlui.

G i chương trình con này b ng m t ho c hai l n nh n phím <Tab> sau khi nh p m t vài ký t . . còn có th vào h th ng dư i tên m t ngư i dùng b t kỳ mà b n bi t m t kh u2 (nói cách khác là “ch y m t h v shell m i dư i tên ngư i dùng khác”). ví d : [user]$ su nhimlui Câu l nh su trư c không kèm theo tên nào. Đ có thêm thông tin hãy s d ng câu l nh man bash ho c info bash. panel . Sau khi làm xong nh ng thao tác mà ch có ngư i dùng cao c p m i có th làm. vì chúng đư c Midnight Commander dùng đ di chuy n dòng chi u sáng trong b ng3 hi n th i. trên h th ng có th làm vi c cùng lúc nhi u ngư i dùng. Nhưng dù sao cũng có ích n u đưa ra danh sách ng n g n nh ng câu l nh (hay nói đúng hơn là phím và t h p phím) dùng đ so n th o dòng l nh. Như v y b n đ c s không có nguy cơ làm h ng h th ng khi còn chưa có nhi u kinh nghi m s d ng Linux. b n s dùng tài kho n ngư i dùng cao c p (root). ) b n có th th c hi n b ng tài kho n bình thư ng. Xin lưu ý b n đ c trong h v bash có chương trình tích h p giúp d dành nh p câu l nh trên dòng l nh. Vì th có th làm vi c dư i tên ngư i dùng root trên terminal o th nh t.3. Danh sách nh ng câu l nh (t h p phím) có th dùng không ch gi i h n trong ph m vi b ng 3. cũng như gây nh hư ng đ n cách làm vi c c a shell b ng bàn phím (b ng 3. còn trên terminal o th hai – dư i tên ngư i dùng bình thư ng. B ng cách tương t như vào h th ng dư i tên root trên.4 So n th o dòng l nh. . Nhưng trong HĐH Linux còn có thêm m t kh năng chuy n t m th i vào tài kho n c a ngư i dùng root đ th c hi n các ch c năng qu n tr . Nhưng m t s t h p phím dùng v i <Ctrl> và <Esc> thì v n dùng đư c bình thư ng. Hãy nh r ng Linux là h th ng nhi u ngư i dùng. chúng ta s nói v chu t m t ph n riêng). L ch s l nh 49 s tr thành ngư i dùng bình thư ng v i nh ng quy n c a mình. Ghi chú: N u b n làm vi c trong chương trình Midnight Commander.4 So n th o dòng l nh. theo m c đ nh s đ t tên ngư i dùng cao c p root vào. Đ th c hi n l a ch n này b n ch c n nh n <Ctrl>+<Alt>+<F1> và s có ngay quy n c a nhà qu n tr . 3. <Del> đ làm các công vi c như b ng trên. còn khi c n th c hi n các công vi c qu n tr . N u nh ng ký t này là ph n 2 3 Ngư i dùng root không c n ph i bi t m t kh u đ làm vi c này. <←>. thì có th s không th s d ng nh ng phím như <→>. Tác gi cho r ng n u trong quá trình nh p l nh có x y ra l i thì b n có th đoán đư c cách s a chúng.. Nhưng c n ch ra tên c a ngư i dùng này trên dòng l nh. <Home>. <End>. nhưng chúng ta ch xem xét nh ng câu l nh đơn gi n và c n thi t trong l n làm quen đ u tiên v i Linux này. L ch s l nh Trong nh ng ph n trư c tác gi đã đ ngh b n đ c th c hi n m t vài l nh c a HĐH Linux. hãy quay l i tài kho n c a ngư i dùng bình thư ng ngay l p t c b ng t h p phím <Ctrl>+<Alt>+<F2>.2. Nh ng công vi c thư ng ngày (so n th o văn b n. đ c thư.2.

ngư i dùng không k p th y chúng. Đ t (dán) đo n dòng l nh đã c t cu i cùng vào v trí con tr . Di chuy n sang ph i m t t . Có ích khi có câu l nh nào đó đưa ra màn hình r t nhi u thông tin ch y nhanh qua màn hình. D ng th c hi n câu l nh v a ch y (mà v n đang ch y). Di chuy n sang trái m t ký t . <Ctrl>+<B> <Esc>+<F> <Esc>+<B> <Home>. C t ph n dòng l nh b t đ u t ký t n m t i v trí con tr đ n cu i dòng (ph n dòng l nh c t ra đư c lưu trong b đ m và có th đ t vào v trí khác). Chuy n ký t t i v trí con tr thành vi t hoa r i di chuy n con tr t i d u cách đ u tiên bên ph i so v i t hi n th i. <Ctrl>+<A> <End>. C t ph n dòng l nh b t đ u t v trí con tr đ n d u cách bên trái. sau đó di chuy n con tr sang ph i m t ký t . Di chuy n sang trái m t t . B t đ u th c hi n câu l nh. Đ i ch hai ký t : ký t n m t i v trí con tr và ký t n m bên trái con tr . Di chuy n v đ u dòng l nh. Chuy n t t c các ký t b t đ u t v trí con tr thành vi t HOA r i di chuy n con tr t i d u cách đ u tiên bên ph i. Nh ng t h p phím này cho phép xem các trang màn hình đã hi n th . Xóa ký t n m t i v trí con tr . Xóa ký t n m bên trái con tr . C t ph n dòng l nh b t đ u t v trí con tr đ n đ u t (n u t i v trí con tr là d u cách thì c t toàn b t n m bên trái nó). <Ctrl>+<F> <←>. Thoát ra kh i h v bash. S lư ng nh ng trang này ph thu c vào b nh c a c c màn hình.50 Kh i đ ng Linux l n đ u B ng 3. D n màn hình và đưa dòng l nh hi n th i lên dòng đ u tiên. <Esc>+<T> <Ctrl>+<K> <Ctrl>+<U> <Esc>+<D> <Esc>+<Del> <Ctrl>+<W> <Ctrl>+<Y> <Esc>+<C> <Esc>+<U> <Esc>+<L> <Shift>+<PgUp>. <Ctrl>+<M> <Ctrl>+<L> <Ctrl>+<T> Ph n ng c a h th ng Di chuy n sang ph i m t ký t (trong khuôn kh nh ng ký t đã nh p c ng thêm m t ký t s nh p). Chuy n t t c các ký t b t đ u t v trí con tr t i cu i t thành vi t thư ng r i di chuy n con tr t i d u cách đ u tiên bên ph i. Di chuy n v cu i dòng l nh.2: Nh ng phím so n th o dòng l nh Phím <→>. <Ctrl>+<E> <Del>. C t ph n dòng l nh b t đ u t v trí con tr đ n cu i t (n u t i v trí con tr là d u cách thì c t toàn b t n m bên ph i nó). Đ i ch hai t : t n m t i v trí con tr và t n m bên trái con tr . <Ctrl>+<D> <Backspase> <Enter>. C t ph n dòng l nh b t đ u t ký t n m bên trái con tr đ n đ u dòng (ph n dòng l nh c t ra đư c lưu tron b đ m và có th đ t vào v trí khác). <Shift>+<PgDown> <Ctrl>+<C> <Ctrl>+<D> .

thì s hi n th danh sách t t c nh ng phương án có th ch n. đôi khi có th d n đ n không kh i đ ng đư c máy trong l n sau. và sau l n nh n <Tab> th hai s xu t hi n m t dòng d ng Display all 2627 possibilities? (y or n) (Hi n th t t c 2627 kh năng? c n ch n y – có ho c n – không). Tương t như v y có th đoán ph n còn l i c a các bi n môi trư ng4 . Khi làm vi c v i HĐH Linux không th t t máy b ng cách ng t ngu n đi n như đ i v i MS-DOS.5 Ng ng làm vi c v i Linux M c dù máy tính làm vi c dư i s đi u khi n c a HĐH Linux có th đ ch y su t ngày đêm. 3. ch c n s d ng t h p phím <Esc>+<$> thay cho <Tab>. Do đó c n bi t d ng h th ng m t cách đúng đ n trư c khi t t máy. Nh đó ngư i dùng có kh năng nh p thêm m t vài ký t n a làm gi m s phương án ch n xu ng còn 1 r i là dùng phím <Tab> m t l n n a. nhưng ph n l n ngư i dùng máy tính cá nhân đã quen v i vi c t t máy sau khi làm vi c xong. thì h v bash s coi như b n đang tìm tên t p tin đ dùng làm tham s cho l nh này. thì h v s thêm ph n còn l i c a câu l nh này vào dòng l nh.bash_history). L ch s l nh đư c lưu trong t p tin xác đ nh b i bi n HISTFILE (thư ng là $HOME/.3. Đ làm vi c v i l ch s câu l nh trong h v bash ngư i ta s d ng nh ng t h p phím trong b ng 3. Đây là tính năng tr giúp c a bash trong trư ng h p ngư i dùng quên tên t p tin trong khi làm vi c căng th ng. n u đã nh p vào m t ph n tên t p tin thì ph n còn l i s đư c t đ ng thêm vào. N u s phương án ch n là r t nhi u (ví d nh n phím <Tab> hai l n khi dòng l nh tr ng r ng) thì b n đ c s nghe th y ti ng bíp sau l n nh n <Tab> đ u tiên. N u nh n hai l n phím <Tab> sau tên c a m t câu l nh và m t kho ng tr ng. đây b n c n s d ng các t h p phím <Shift>+<PgUp> và <Shift>+<PgDown> đ xem danh sách (có th ) r t dài này. N u chúng là ph n đ u c a duy nh t m t câu l nh. và bash s đưa ra danh sách t p tin c a thư m c hi n th i. N u ng t ngu n đi n thì nh ng thay đ i này s không đư c lưu và s b m t. t c là bash ch tìm th y có m t câu l nh này. bash ghi nh m t s câu l nh (theo m c đ nh là 1000 l nh. Công vi c này do câu l nh (chương trình) shutdown đ m nhi m. N u bash tìm th y nhi u câu l nh có ph n đ u này. Nhưng nguyên nhân quan tr ng hơn là ch m t s ti n trình này có th đang làm vi c v i các t p tin. và h th ng còn chưa ghi nh t t c các thay đ i v i nh ng t p tin lên đĩa mà ch lưu t m chúng trong b nh (cache). Cũng gi ng như trư ng h p câu l nh. xem chương 5) và cho phép g i l i chúng b ng cách ch n t danh sách. Đây đư c g i là l ch s l nh. Trong khi làm vi c v i h v s có ích n u bi t r ng.3. 4 environment variable . B n có th th y đi u này b ng cách th c hi n l nh: [nhimlui]$ ps ax Th c hi n l i l nh này m t l n n a đ xem l i. giá tr này đư c đ t trong bi n HISTSIZE. thì có hai kh năng x y ra. Vì trong b t kỳ th i đi m nào trên h th ng cũng có r t nhi u quá trình đang làm vi c. Có th xem l ch s l nh b ng câu l nh history.5 Ng ng làm vi c v i Linux 51 đ u c a ít nh t m t trong nh ng câu l nh mà bash bi t.

<N> Th c hi n câu l nh th n tính t cu i danh sách <!>.52 Kh i đ ng Linux l n đ u B ng 3. Đi u đó có nghĩa là bash không bi t tìm chương trình đây. b n s nh n đư c câu tr l i “bash: shutdown: command not found”.3: T h p phím đi u khi n l ch s l nh Phím Ph n ng c a h th ng <↑> ho c <Ctrl>+<P> Chuy n t i (g i vào dòng l nh) câu l nh trư c trong danh sách (di chuy n ngư c l i danh sách) <↓> ho c <Ctrl>+<N> Chuy n t i câu l nh ti p theo trong danh sách (di chuy n theo danh sách) <PgUp> Chuy n t i câu l nh đ u tiên trong danh sách l ch s l nh <!>. <N> Th c hi n (không c n nh n <Enter> câu l nh th n trong danh sách <!>. Tham s th i_gian dùng đ “h n gi ” th c hi n câu l nh (không nh t thi t ph i th c hi n câu l nh ngay l p t c). Vi c tìm dòng l nh c n thi t s đư c th c hi n t cu i t p tin l ch s và dòng l nh đ u tiên tìm th y s đư c th c hi n <Ctrl>+<O> Cũng gi ng như nh n phím <Enter>. có ph n đ u trùng v i dòng_ký_t . vì t p tin chương trình c a shutdown n m t i /sbin. Ví d . <->. sau đó hi n th câu l nh ti p theo trong l ch s l nh Ch có ngư i dùng root m i có th th c hi n câu l nh shutdown này5 . ho c dùng câu l nh su đ có đ quy n tương ng. Câu l nh shutdown có cú pháp như sau: [root]# shutdown <tùy_ch n> <th i_gian> <dòng_thông_báo> Ghi chú: R t có th khi ch y l nh. n u b n mu n kh i đ ng l i sau 5 phút thì hãy nh p vào câu l nh: [root]# shutdown -r +5 5 Cũng có th c u hình đ nh ng ngư i dùng khác th c hi n đư c shutdown. . s t t máy) • -r – kh i đ ng l i h th ng (reboot). Th i gian h n gi đư c tính t lúc nh n phím <Enter>. Trong trư ng h p đó b n c n nh p vào đư ng d n đ y đ đ n chương trình. do đó b n c n đăng nh p vào h th ng dư i tên ngư i dùng này. ví d qua sudo. đây là /sbin/shutdown. dòng_ký_t Th c hi n dòng l nh. Thư ng s d ng hai trong s các tùy ch n c a chương trình shutdown: • -h – d ng hoàn toàn h th ng (halt.

Nhưng tôi s ph i “đi trư c” k v cách nh n thông tin tr giúp trong giao di n đ ho (X Window). Đ i v i chúng ta thì t m th i câu l nh sau s thích h p hơn: [root]# shutdown -h now Câu l nh này s t t máy ngay l p t c. Các phiên b n Linux có hàng nghìn trang tài li u d ng t p tin.org) • câu l nh locate C n nói ngay l p t c là ph n l n thông tin t nh ng ngu n này b ng ti ng Anh. Tác gi cũng mong cu n sách này s th c hi n vai trò tr giúp trong th i gian đ u tiên này. nhưng c n ng t ngu n đi n trong khi h th ng b t đ u kh i đ ng l i. . do đó câu tr l i cho câu h i c a b n đã n m trong lòng bàn tay.6.6 Tr giúp khi dùng Linux Như v y là b n đ c đã k t thúc phiên làm vi c đ u tiên v i HĐH Linux và tôi mong r ng b n chưa c n tr giúp trong m t tình hu ng nào đó.3. thì t t nh t hãy tìm tr giúp ngay trong h th ng. Các d án d ch chúng sang ti ng Vi t còn chưa đư c t ch c ho c còn chưa đư c hoàn ch nh.1 Các ngu n thông tin tr giúp N u rơi vào tình hu ng mà b n không bi t ph i làm gì đ có đư c k t qu mong mu n. Tương đương v i câu l nh này là l nh halt. tldp. 3. Vì th tác gi s đưa ra ngay l p t c nh ng ngu n thông tin khác. Sau khi nh n t h p phím “n i ti ng” <Ctrl>+<Alt>+<Del> trên Linux s th c hi n các hành đ ng tương t v i l nh [root]# shutdown -r now B ng cách này cũng có th t t máy. nhưng có th nó không gi i quy t đư c t t c nh ng v n đ c a b n. Do đó chúng ta s xem xét t ng ngu n thông tin này m t cách c th hơn. Có m t vài ngu n đ c l p ch a thông tin v h u h t các m t c a h th ng Linux: • các trang tr giúp man • tr giúp siêu văn b n info • tài li u đi kèm v i ph n m m • HOWTO và FAQ c a d án The Linux Document Project (http://www. 3.6 Tr giúp khi dùng Linux 53 Câu l nh này có nghĩa là “d ng h th ng sau 5 phút và kh i đ ng l i sau khi hoàn thành công vi c”. Tác gi coi cách gi i quy t này là đúng vì ngư i dùng c n bi t trư c cách thoát kh i nh ng trư ng h p khó khăn.

ví d man(7). thì nó s xem các thư m c con này theo th t đã ch ra trong b ng 3. Vì th n u mu n xem tr giúp v g i h th ng swapon c n ch y l nh [user]$ man 2 swapon đ ch ra s th t c a ph n tr giúp c n tìm ki m thông tin. do đó có kh năng xem thông tin theo t ng màn hình và di chuy n màn hình này xu ng dư i và lên trên và đ di chuy n có th s d ng các phím như trong chương trình less. b ng câu l nh này ngư i dùng trong hình hu ng khó khăn luôn luôn có th tìm tr giúp v b t kỳ câu l nh nào c a h th ng.4.54 Kh i đ ng Linux l n đ u 3. v đ nh d ng t p tin. Các trang tr giúp man chia thành các ph n như trong b ng 3. Nh ng phím thư ng dùng nh t là: N u b n không thích đ c t màn hình mà c m tay đ c. hàm trong thư vi n c a ng d ng) Thi t b (t p tin đ c bi t. V n đ ch các t p tin ch a thông tin c a tr giúp man n m trong các thư m c con manx (x là tên c a ph n) c a thư m c /usr/share/man và khi câu l nh man tìm ki m thông tin c n thi t. N u b n ch y l nh [user]$ man swapon thì s nh n đư c tr giúp v câu l nh swapon n m trong ph n 8.4. groff(7) Nhân (kernel routines) các l nh Tcl/Tk Th t li t kê đây không có s nh m l n nào. Đây là cách nh n tr giúp chính trong t t c các h th ng UNIX.2 Các trang tr giúp man Như đã nói ng n g n trên v câu l nh man. ví d /etc/passwd Trò chơi Khác (bao g m các gói macro và quy ư c.6. thì có th in ra trang man tương ng b ng l nh [user]$ man tên_câu_l nh | lpr ho c n u máy in là postscript thì dùng: [user]$ man -t tên_câu_l nh | lpr .4: Các ph n chính c a tr giúp man Ph n 0 1 8 2 3 4 5 6 7 9 n N i dung Các t p tin header (thư ng n m trong /usr/include) Chương trình ho c câu l nh c a ngư i dùng Câu l nh dùng đ qu n tr h th ng G i h th ng6 (hàm do nhân cung c p) G i thư vi n7 (chương trình con. và v các g i h th ng (system call). B ng 3. Các trang man đư c xem b ng chương trình less (ho c chương trình xác đ nh b i bi n PAGER). thư ng n m trong /dev) Đ nh d ng t p tin và quy ư c.

Đ nh n thông tin v m t câu l nh nào đó. thì đ u tiên c n t o ra cơ s d li u v các câu l nh có trên máy b ng cách ch y l nh makewhatis. dòng ký t .5: Phím s d ng đ xem trang man Phím Ch c năng <Q> Thoát kh i chương trình <Enter> Xem t ng dòng <Space> Hi n th màn hình thông tin ti p theo <B> Quay l i màn hình trư c </>. c n nh p vào info cùng v i m t tham s là tên c a câu l nh quan tâm. Trong trư ng h p ngư c l i khi tìm ki m b n s nh n đư c thông báo “nothing appropriate”.3 Câu l nh info Câu l nh info là d ng tr giúp thay th và tương đương v i man. Câu l nh apropos th c hi n tìm ki m theo các ph n c a t khóa. Ch có ngư i dùng root m i có quy n ch y câu l nh makewhatis. Hãy th ch y l nh sau: [user]$ man -k net C n ph i nói luôn là đ cho các câu l nh man -k.6 Tr giúp khi dùng Linux 55 B ng 3. L nh này ch đưa ra nh ng trùng l p chính xác v i t khóa tìm ki m. Cu i cùng tác gi mu n nói r ng.3. . Nh đó b n có kh năng xem các ph n khác nhau c a tr giúp mà không c n ph i thoát ra kh i chương trình xem này. <Enter> Tìm ki m dòng ký t ch ra <N> L p l i tìm ki m v a th c hi n. Trong trư ng h p này có th dùng hai câu l nh whatis và apropos. whatis và apropos làm vi c. Tuy nhiên đ có th nh n đư c thông tin mong mu n thì còn c n ph i bi t ch tìm thông tin đó. thì cũng gi ng như man. Tương t như l nh apropos là câu l nh man v i tham s -k. 3.6. Câu l nh whatis tìm ki m t khóa đưa ra trong cơ s d li u bao g m danh sách các câu l nh và mô t ng n g n c a chúng. Trong khi làm vi c ch đ văn b n. b n có th 8 cron là chương trình đ ch y t đ ng các công vi c theo th i gian đã đ nh. Và theo ý ki n c a nhi u ngư i dùng là v chi u hư ng t t hơn. Chúng dành cho nh ng ngư i dùng có kinh nghi m c n có “s tay tra c u” v đ nh d ng. Ví d : [user]$ info man Thông tin màn b n s th y trên màn hình trong ph n l n trư ng h p s khác v i nh ng gì mà câu l nh man đưa ra. các trang tr giúp man không dành cho th i gian làm quen đ u tiên v i Linux. Nhưng s khác nhau cơ b n nh t ch info đưa ra thông tin d ng siêu văn b n (hypertext) gi ng như các trang web. N u b n đ c đ máy ch y c đêm thì t t nh t ch y câu l nh này d ng công vi c cho ti n trình cron8 . tuỳ ch n và cú pháp c a l nh trong quá trình làm vi c đ không ph i nh m t s lư ng l n nh ng thông tin này trong đ u.

56

Kh i đ ng Linux l n đ u

ch y câu l nh info trên m t trong các terminal o (hãy nh đ n các t h p phím <Ctrl>+<Alt>+<F2>, <Ctrl>+<Alt>+<F3> v.v. . . ) đ có th chuy n sang terminal o đó tìm tr giúp khi c n thi t. Trong trư ng h p b n không bi t tìm thông tin c n thi t đâu thì có th chuy n sang các ph n khác nhau b ng các siêu liên k t (hyperlink) mà info t o ra. Nh ng liên k t này đư c đánh d u b ng ký t sao (*), khác v i cách đánh d u liên k t trên các trang Web nhưng v n gi nguyên đư c s thu n l i. Có th di chuy n qua các liên k t b ng phím <Tab>. Sau khi di chuy n đ n liên k t mong mu n, hãy nh n phím <Enter>. Phím <P> đưa ngư i dùng tr l i trang v a xem, phím <N> đưa đ n trang ti p theo, còn <U> chuy n lên trên m t b c trong c u trúc phân b c c a các trang tài li u này. Ngoài ra, còn có th chuy n theo liên k t b ng cách khác tương t như h th ng trình đơn. Đ u tiên c n nh n phím <M>, sau đó nh p vào dòng Menu item: cu i màn hình m t vài ký t đ u tiên c a tên c a ph n tr giúp c n thi t. Tên c a nh ng ph n tr giúp này đư c hi n th trên màn hình. S ký t ph i đ sao cho ch tương ng v i m t ph n tr giúp, n u không thì chương trình s yêu c u nh p thêm vào. Thoát ra kh i info b ng phím <Q>.

3.6.4

Câu l nh help

Như đã nh c đ n trên, h th ng tr giúp v các l nh tích h p c a h v bash là câu l nh help. N u ch y l nh help không có tham s thì s nh n đư c danh sách c a t t c các l nh tích h p c a bash. N u ch y help tên, trong đó tên là tên c a m t trong nh ng câu l nh nói trên, thì b n s nh n đư c gi i thi u ng n g n v cách s d ng câu l nh này.

3.6.5

Tài li u đi kèm v i b n phân ph i và chương trình ng d ng

N u trong quá trình cài đ t không b đi nh ng gói tài li u, thì sau khi k t thúc b n s tìm th y trong thư m c /usr/share/doc (ho c /usr/doc) các thư m c con HOWTO, FAQ,. . . Nh ng thư m c này ch a tài li u đ y đ v h th ng Linux nói chung cũng như nh ng ph n riêng r c a nó. Nh ng tài li u này có d ng văn b n ASCII và có th xem chúng b ng các câu l nh more tên ho c less tên ho c b ng chương trình xem có trong Midnight Commander. Ph n l n các chương trình ng d ng có kèm theo tài li u hư ng d n cài đ t và s d ng. N u cài đ t chương trình t gói (package) d ng rpm (Fedora Core, SuSE, Mandriva,. . . ) thì tài li u s n m trong thư m c con tương ng c a thư m c /usr/share/doc. Tên c a nh ng thư m c con này tương ng v i tên c a chương trình và phiên b n c a nó. Ví d , chương trình nh p ti ng Vi t mà tôi đang dùng đ gõ nh ng dòng này xvnkb phiên b n 0.2.9 có thư m c con tương ng xvnkb-0.2.9 n m trong /usr/share/doc sau khi cài đ t. Đôi khi đ tìm t p tin tr giúp mong mu n b n s c n đ n câu l nh locate. Câu l nh này trong m t ch ng m c nào đó tương t v i các l nh whatis và apropos. Khi ch y locate nó s tìm t t c nh ng t p tin có tên ch a t khóa đưa ra. Ví d locate net s tìm t t c nh ng tên t p tin có tên ch a “net”. Nh ng t p tin này có r t nhi u trên máy. Trong t khóa (m u) có th s d ng các ký t thay th *, ?, []. Tuy nhiên câu l nh locate không tìm ki m theo các

3.6 Tr giúp khi dùng Linux

57

thư m c c a h th ng t p tin, mà theo cơ s d li u đ c bi t ch a tên các t p tin đư c t o ra (và đôi khi c n c p nh t) b ng l nh updatedb. Trong m t s b n phân ph i locate đư c thay th b i slocate (secure locate). slocate t t o cho mình cơ s d li u nói trên sau khi ch y v i tham s tương ng.

3.6.6

Câu l nh xman

Đây là chương trình cho phép xem các trang tr giúp man khi làm vi c giao di n đ ho (GUI). Vi c tìm ki m và hi n th các trang tr giúp đư c th c hi n b ng cách nh n các nút và trình đơn. Còn l i (theo thông tin hi n th ) xman cũng gi ng như man.

3.6.7

Câu l nh helptool

Sau khi ch y l nh helptool s hi n ra m t c a s đ ho , có m t ô nh p vào đ ngư i dùng đưa ra thu t ng đang quan tâm. Chương trình s xem t t c các t p tin tài li u (b n có th c u hình đ ch n nh ng tài li u nào c n xem khi tìm ki m). Sau khi hoàn thành tìm ki m chương trình s hi n ra danh sách nh ng t p tin có ch a thu t ng này. N u nh n chu t vào m t t p tin trong danh sách thì s hi n ra m t c a s khác n i dung c a t p tin đã ch n. Khi này t p tin s đư c hi n th d ng lưu trên đĩa: trang info, trang man, v.v. . .

3.6.8

Sách và Internet

T t nhiên, h c Linux d dàng và đơn gi n nh t khi có m t cu n sách t t. Trư c tiên b n c n đ c tài li u hư ng d n đi kèm v i b n phân ph i c a mình. Các b n phân ph i l n như Debian, SuSE, Fedora,. . . đ u đã có nh ng tài li u này (r t có th đã đư c d ch sang ti ng Vi t). R t ti c ngư i d ch chưa đ c cu n sách ti ng Vi t nào v Linux do đó không th gi i thi u v i b n đ c. T t nhiên n u b n có k t n i Internet (bây gi không còn quá xa x ) và m t chút ti ng Anh thì có th tìm đư c câu tr l i cho m i câu h i c a mình. Tôi xin đưa ra m t s đ a ch sau làm bư c kh i đ u cho b n đ c trong bi n thông tin vô b b n này.

Các trang ti ng Vi t
1. http://vnoss.org – trang web dành cho ngư i dùng ng d ng mã ngu n m (MNM) Vi t Nam. Có nhi u thông tin v Linux, tài li u v Linux, di n đàn cho phép b n đ t câu h i c a mình. Trang web do bác Nguy n Đ i Quý đang s ng và làm vi c t i B qu n lý. 2. http://vnoss.net – tin t c v Linux và MNM. 3. http://vnlinux.org – đây là trang web dành cho nhóm ngư i dùng Linux Vi t Nam (vietlug). B n s tìm th y nhi u thông tin có ích đây và có th đăng ký tham gia nhóm thư vietlug đ đ t câu h i. Trang này do anh Larry Nguy n, m t Vi t Ki u M , qu n lý.

58

Kh i đ ng Linux l n đ u 4. http://vnoss.net/dokuwiki/doku.php?id=linux:tailieutiengviet – trên trang này có t ng h p t t c nh ng tài li u ti ng Vi t v Linux, r t có th b n s tìm th y tài li u v đ tài mình c n tìm hi u trên trang này. 5. http://kde-vi.org – trang web c a nhóm d ch giao di n KDE sang ti ng Vi t.

Các trang ti ng Anh
1. http://www.linux.com 2. http://www.linux.org 3. http://www.linux.org.uk – Trang web Linux c a Châu Âu. Do Allan Cox m t trong các nhà phát tri n Linux h tr . 4. http://www.tldp.org – Trang web chính ch a tài li u v Linux. R t nhi u tài li u bao g m HOWTO, FAQ, sách. . . 5. http://freshmeat.net/ – Thông báo hàng ngày v nh ng chương trình ng d ng m i ra dành cho Linux. Kho ph n m m kh ng l cho Linux. 6. http://www.li.org – T ch c Linux International. 7. http://www.linuxstart.com 8. http://oreilly.linux.co – 9. http://www.linuxplanet.com 10. http://www.kde.org – Trang ch c a môi trư ng làm vi c KDE. 11. http://www.gnu.org – Các ng d ng dành cho Linux, trong đó n i ti ng nh t là trình so n th o Emacs (GNU’s Not UNIX). 12. http://slashdot.org – Nh ng tin t c m i nh t v công ngh máy tính trong đó có Linux. Có các bài báo và l i bình c a ngư i đ c (không qua ki m duy t). 13. http://www.linuxtoday.com – Danh sách dài nh ng tin t c, thông báo qu ng cáo và các thông tin khác. Xem trang này b n s bi t ph n l n nh ng s ki n trong th gi i Linux. 14. http://www.lwn.net – Tin t c hàng tu n v Linux. Thông tin chia thành t ng h ng m c: thông tin chung, thương m i, thông tin v nhân Linux, công c phát tri n chương trình m i, chương trình cho Linux, v.v. . . N u b n mu n tin tư ng r ng Linux phát tri n r t nhanh và mu n nh n tr giúp c a các công ty thương m i l n thì nh t đ nh ph i thăm trang này. Tin t c trên tu n báo này đư c ban biên t p chú thích r t t t. 15. http://www.linuxnewbie.org – Trang web t t cho nh ng ngư i dùng m i. đây b n s tìm th y r t nhi u tài li u.

3.6 Tr giúp khi dùng Linux

59

16. http://www.linuxjournal.com – t p chí Linux. Thư ng đăng nh ng bài báo v nhi u đ tài. 17. http://www.linuxgazette.com – t báo Linux này s thú v đ i v i c ngư i dùng m i và ngư i dùng có kinh nghi m. 18. http://www.linuxfocus.org – T p chí phi thương m i toàn c u. 19. http://www.linuxworld.com – M t trang web t t có r t nhi u bài báo hay. 20. http://www.linux-mag.com – Linux Magazin, m t t t p chí r t thú v . 21. http://www.penguinmagazine.com. T t nhiên đây không ph i là danh sách đ y đ nh ng trang web nói v Linux. Nh ng trang nói trên ch là đi m kh i đ u đ t đó b n s tìm đư c nh ng trang web khác trong bi n thông tin Internet. Đi đ n đâu là ph thu c vào ý mu n c a b n. N u có v n đ trong lúc cài đ t, thì hãy h i d ch v khách hàng c a phân ph i đĩa. N u b n mua đĩa c a m t công ty chuyên môn thì s có đ a ch liên l c c a d ch v này. N u b n mua đĩa ghi l i ho c t ghi đĩa t t p tin ISO nh n đư c qua Internet thì r t có th l i cài đ t là do khi ghi đĩa gây ra. Hãy s d ng h p thư đi n t . B n nên đăng ký v i m t vài nhóm thư chung (mailing list) nào đó, ví d mailto:vietlug-users@userforge.net. Cách đăng ký còn ph thu c vào t ng nhóm thư (nói chính xác hơn là ph thu c vào máy ch đi u khi n nhóm thư này). Nhưng hi n nay thư ng có hai cách đăng ký: g i thư đ n m t đ a ch xác đ nh đ yêu c u, đăng ký qua giao di n web. Thông tin này b n có th tìm th y trên trang web gi i thi u v nhóm thư chung. Tuy nhiên b n c n bi t là đ đ c đư c t t c thư chung thì c n r t nhi u th i gian, và còn ph i đ c r t nhi u thư c a nh ng ngư i dùng m i khác (ví d “Console là gì?”), ho c th m chí có c nh ng lá thư “ng ng n” (ví d “Hôm nay dùng Debian th t vui”) và t t nhiên là ph i đ c c nh ng thư tr l i cho nh ng câu h i này c a nh ng ai bi t m t chút gì đó. Do đó n u mu n b n có th xem kho lưu tr nh ng lá thư này b ng trình duy t, r t có th đã có câu tr l i cho câu h i c a b n đó. Và như v y b n không c n ph i đăng ký cũng như vi t thư vào nhóm thư chung n a. T t nhiên n u không tìm th y thì đ ng ng i ng n đ t câu h i. Ngư i dùng Linux h t s c vui lòng tr l i thư c a b n. B o đ m là b n s nh n đư c câu tr l i, n u không hi u thì còn có th yêu c u gi i thích thêm. Khi đ t câu h i có liên quan đ n h th ng Linux c a b n, c n luôn luôn thêm vào thư c a mình càng nhi u chi ti t càng t t (nhưng đ ng thêm thông tin th a) bao g m: tên c a b n phân ph i (Debian, SuSE, Fedora, hay m t cái nào khác), phiên b n nhân, có v n đ v i ph n c ng nào (phiên b n, dòng ch ghi trên m ch đi n t ), thông báo nào hi n ra khi có v n đ . Đ ng đòi h i ngư i dùng khác g i câu tr l i th ng đ n đ a ch c a b n, “vi t thư vào nhóm thư chung là t th hi n, vi t thư đi n t cũng là s h tr k thu t. Vi t thư thì mi n phí, nhưng s h tr k thu t thì không”. Xin hãy luôn nh đi u đó!

Tuy nhiên còn có nhi u ký t n a có ý nghĩa đ c bi t trong h v shell và do đó không nên dùng đ đ t tên t p tin. ngư i dùng thư ng không c n quan tâm đ n. v. C n nói thêm là chúng ta s xem xét m t h th ng t p tin c th ext3fs. Trong chương hi n t i chúng ta s xem xét m t quay v phía ngư i dùng c a h th ng t p tin. gi ng như m t cái đĩa ăn. chúng ta t m g i nó là m t trư c. Vì th . . M t m t c a nó luôn quay v phía ngư i dùng (hay nói chính xác hơn là quay v phía ng d ng). M t còn l i. H th ng t p tin – là c u trúc nh đó nhân c a h đi u hành có th cung c p cho ngư i dùng và các ti n trình tài nguyên c a h th ng d ng b nh lâu dài trên các đĩa lưu1 thông tin: đĩa c ng. mà ngư i dùng không th y. th c hi n vi c truy c p (ch n thông tin c n thi t) và nhi u thao tác khác. T phía m t trư c này ngư i dùng th y h th ng t p tin là m t c u trúc lôgíc c a các thư m c và t p tin. đĩa t . H đi u hành không quan tâm đ n đ nh d ng bên trong c a t p tin. Mà thông tin trên m i HĐH đư c lưu d ng t p tin trên các đĩa lưu. M i h th ng t p tin. Còn có nh ng h th ng t p tin khác nhưng chúng ta s đ c p đ n chúng mu n hơn. có hai m t.Chương 4 Làm quen v i h th ng t p tin ext3fs Bây gi b n đã bi t cách kh i đ ng và d ng h th ng Linux. chúng ta t m g i là m t sau.v. M t này c a h th ng t p tin có c u trúc không đơn gi n chút nào.1 T p tin và tên c a chúng Máy tính ch là công c đ làm vi c v i thông tin không hơn không kém. quay v phía chính b n thân đĩa lưu t o thành m t vùng bên trong c a h th ng t p tin đ i v i ngư i dùng. . M t còn l i s dành cho m t chương sách sau. đã đ n lúc làm quen v i m t trong nh ng thành ph n chính và quan tr ng c a Linux – đó là h th ng t p tin. Vì đây th c hi n các cơ ch ghi t p tin lên các đĩa lưu khác nhau. h th ng t p tin cơ b n c a Linux đ n th i đi m hi n nay. . Tên t p tin trong Linux có th dài 255 ký t bao g m b t kỳ ký t nào tr ký t có mã b ng 0 và ký t d u g ch chéo (/). Nhưng nó c n đ t cho t p tin m t cái tên nào đó đ ngư i dùng (hay nói đúng hơn là chương trình ng d ng) có th làm vi c v i t p tin. CD. 4. đ i v i ngư i dùng thì h th ng t p tin là m t c u trúc lôgíc c a các thư m c và t p tin. 1 M t s tác gi thích dùng thu t ng “v t ch a” đây. T phía c a HĐH thì t p tin là m t chu i liên t c các byte v i chi u dài xác đ nh. Làm sao đ ngư i dùng có th làm vi c v i t p tin đó là công vi c c a h th ng t p tin. DVD.

t c là ph i l p l i d u này hai l n). b i vì có th gây ra v n đ cho m t s ng d ng khi c n s d ng nh ng t p tin như v y và c khi di chuy n nh ng t p tin đó lên h th ng t p tin khác.tar.gz có th n m trong cùng m t thư m c và là tên c a các t p tin khác nhau. ví d .2. Vì th l4u-0.1 T p tin và tên c a chúng Đó là nh ng ký t sau: ! @ # $ & ~ % * ( ) [ ] { } ’ " \ : . ví d xvnkb-0.2. > < ‘ d u cách 61 N u tên t p tin ch a m t trong nh ng ký t này (không khuyên dùng nhưng v n có th ) thì trư c nó ph i đ t m t d u g ch chéo ngư c (\) (đi u này v n đúng trong trư ng h p có chính b n thân d u g ch chéo ngư c. Khi này khái ni m ph n m r ng t p tin (thư ng dùng trong DOS) không còn có ý nghĩa gì. Tuy nhiên t t nh t là không s d ng nh ng ký t này k c d u cách trong tên t p tin và thư m c. thì t p tin này s là n (thu c tính hidden) đ i v i m t s câu l nh.gz dùng đ ký hi u các t p tin nén2 ). m c dù v n dùng ph n cu i cùng c a tên t p tin sau d u ch m đ làm ký hi u v các d ng t p tin đ c bi t (. Tuy nhiên n u nhìn t phía h đi u hành và h th ng t p tin thì không ph i 2 3 thư ng g i theo ti ng lóng là tarball. Đ i v i d u ch m thì không ph i như v y. Đi u này cũng đúng đ i v i tên t p tin.9. Còn có th đ t tên t p tin ho c thư m c v i nh ng ký t nói trên vào d u ng c kép. Chúng ta đã quen v i vi c t p tin đư c xác đ nh hoàn toàn theo tên c a nó. N u nó là d u ch m đ u tiên trong tên. Ví d : [user]$ mkdir \\mot\&hai s t o thư m c \mot&hai.tar. chúng ta s đ c p đ n sau. Ví d . đ t o thư m c có tên “mot hai ba” chúng ta c n dùng câu l nh sau: [user]$ mkdir "mot hai ba" vì câu l nh [user]$ mkdir mot hai ba s t o ba thư m c: “mot”. Trong Linux ngư i dùng thư ng đ t nhi u d u ch m trong tên c a t p tin.gz. Làm tương t như v y đ i v i nh ng ký t khác.tar. Đi u này lúc đ u có th gây khó khăn cho ngư i dùng Windows nhưng sau khi quen thì b n s th y nó th t s có ích.9.3 Như đã nói chương trư c trong Linux có phân bi t các ký t vi t hoa và vi t thư ng.4. Trên Linux các t p tin chương trình và t p tin bình thư ng không phân bi t theo ph n m r ng c a tên (trong DOS t p tin chương trình có ph n m r ng exe) mà theo các d u hi u khác. “hai” và “ba”. Đ c thêm ls(1) đ bi t chi ti t. D u ch m có ý nghĩa đ c bi t trong tên t p tin.gz và L4U-0. t c là có th thêm chúng vào tên t p tin (thư m c) n u đưa tên vào trong d u ngo c kép ho c dùng d u g ch chéo ngư c đ b đi ý nghĩa đ c bi t c a chúng. qu bóng tar Nhưng l nh ls -a s hi n th .9.2. l nh ls không hi n th nh ng t p tin như v y. .tar.

thì nó đư c lưu đ n lúc h th ng ( ng d ng) gi i phóng nó. thông tin v d ng t p tin và nhi u thông tin khác. Các ch s inode n m trong m t b ng đ c bi t g i là inode table. Th m chí c khi b n đ c đã xóa đi liên k t cu i cùng thì cũng không có nghĩa là đã xóa n i dung c a t p tin: n u t p tin đang đư c h th ng hay m t ng d ng nào đó s d ng.tex N u b n dùng SuSE Linux thì có th nh p vào l nh ll. .2. hay còn g i là “inode” (t m th i chưa có thu t ng ti ng Vi t chính xác nên xin đ nguyên t ti ng Anh). V n đ ch m i t p tin trong Linux có m t “ch s ký hi u” (index descriptor) tương ng. Các inode trong b ng đư c đánh s theo th t . Bây gi có th dùng ~/l4u. nó ch thư m c cá nhân (home directory) c a ngư i dùng. Chúng ta s g i ch s này là ch s c a t p tin.9. và chính ch s này m i là tên th c s c a t p tin trên h th ng. Vì th m i t p tin có th có bao nhiêu tên tùy thích.2.pdf đ thay cho đư ng d n dài hơn projects/l4u/l4u-0. Chính inode lưu t t c nh ng thông tin c n thi t cho h th ng t p tin v t p tin.9. Tác gi đưa ra nh ng thông tin trên ch đ nói r ng tên c a b t kỳ t p tin nào trong Linux không ph i gì khác mà chính là liên k t đ n ch s inode c a t p tin. bao g m thông tin v v trí c a các ph n c a t p tin trên đĩa lưu. Ngay phía sau quy n truy c p đ n t p tin là m t s cho bi t s lư ng nh ng liên k t c ng này: [user]$ ls t ng 1280 -rw-r--r-drwxr-xr-x -rw-r--r--rw-r--r-4 -l 1 2 2 1 teppi82 teppi82 teppi82 teppi82 users 81409 2006-09-06 03:43 bash.pdf ~/l4u. chúng ta s d ng câu l nh ln d ng sau: ln tên_đã_có tên_m i Ví d : [user]$ ln projects/l4u/l4u-0.pdf Ký t ∼ có ý nghĩa đ c bi t. Đ có th thêm tên khác cho t p tin ho c thư m c (t o liên k t c ng). M i đĩa lưu dù là th t s hay lôgíc thì đ u có m t b ng các ch s inode c a riêng mình. Tuy nhiên đ i v i ngư i dùng thì nh ng tên như v y th t s không thu n ti n. Nh ng tên này còn đư c g i là liên k t “c ng” (hard link) (chúng ta s làm quen k hơn v i khái ni m liên k t và cách t o nh ng liên k t này trong chương sau).tex users 4096 2006-09-06 02:16 images users 82686 2006-09-06 14:32 l4u-0. Chi ti t v câu l nh ln b n có th đ c trong trang man c a nó. nhưng bây gi cũng c n đ c p đ n m t chút v ch s “inode”.pdf users 3069 2006-09-06 13:52 l4u.pdf. Không ph i ai cũng có kh năng nh đã ghi gì trong t p tin v i s 12081982 (nói chính xác hơn là ch có m t s r t ít ngư i có kh năng này). Chúng ta s nói k v m t sau c a h th ng t p tin trong m t s chương sách s p t i.9. Vì th các t p tin còn đư c đ t thêm m t tên thân thi n v i ngư i dùng và hơn th n a còn đư c nhóm vào các thư m c.2. chúng ta s nói k hơn v ký t này ngay sau đây.62 Làm quen v i h th ng t p tin ext3fs như v y. B ng này đư c t o ra trên đĩa lưu cùng lúc v i h th ng t p tin. Khi b n đ c xóa m t t p tin có nhi u tên (liên k t c ng) thì trên th c t ch xóa đi m t liên k t (mà b n ch ra trên dòng l nh xóa). Có th tìm ra s lư ng liên k t c ng đ n t p tin (t c là s lư ng tên c a t p tin) b ng l nh ls v i tham s -l4 .

Ghi chú: n u nói m t cách chính xác. Vì th mà các t p tin đư c t ch c vào các thư m c. m t h th ng Linux hoàn ch nh s có s lư ng t p tin còn l n hơn th .tex là tên đ y đ c a t p tin tôi đang nh p vào trên máy c a mình. vì th đôi khi ch y m t chương trình nào đó trong shell có th d n đ n vi c thay đ i thư m c hi n th i sau khi chương trình đó hoàn thành công vi c. M i thư m c (con) có th ch a các t p tin riêng l và các thư m c con c a nó. phương án d ch “thư m c cá nhân” đư c ưu tiên hơn. K t qu là chúng ta thu đư c m t c u trúc thư m c có phân b c b t đ u t m t thư m c g c.v. Hãy tư ng tư ng b n có m t danh sách kho ng vài nghìn t p tin! Xin đ ng nghi ng . v. b t đ u t thư m c g c “/” và k t thúc là b n thân tên c a t p tin. r t khó có th tìm đ n t p tin c n thi t. . Có m t câu l nh cho bi t tên c a thư m c hi n th i. Và nói chung ngoài c u trúc bên trong c a mình thì thư m c không khác gì so v i nh ng t p tin thông thư ng. trên đó m i thư m c đó là m t nút c a “cây”. Ví d /home/teppi82/projects/l4u/ext3fs. H v shell lưu giá tr c a “thư m c hi n th i”. Trên MS Windows ho c DOS c u trúc thư m c như v y có trên m i đĩa (t c là chúng ta có không ph i m t “cây” mà m t “r ng” thư m c) và thư m c g c c a m i c u trúc t p tin đư c đánh d u b ng m t ch cái Latinh (và do đó đã có m t s h n ch ). thì thư m c hi n th i luôn đi li n v i m i ti n trình đã ch y (trong đó có h v shell). Trong đư ng d n này tên c a các thư m c con cách nhau b i d u g ch chéo “/” dùng đ ký hi u thư m c g c như đã nói trên. thay đ i quy n truy c p đ n chúng.2 Thư m c N u như c u trúc t p tin không cho phép s d ng gì khác ngoài tên t p tin (t c là t t c các t p tin n m trên m t danh sách chung gi ng như các h t cát trên bãi bi n) thì th m chí c khi không có gi i h n v đ dài c a tên.2 Thư m c (Danh sách b c t b t vì không c n thi t). và chúng ta s dùng thu t ng này trong cu n sách l4u).v. ví d t p tin văn b n (text file). 63 4. đó là l nh pwd. Có th đưa vào thư m c g c này m t s lư ng không h n ch các thư m c n m trên các đĩa lưu khác nhau (thư ng nói là “g n h th ng t p tin” ho c “g n đĩa lưu”). Tên đ y đ c a t p tin (ho c còn g i là “đư ng d n”5 đ n t p tin) là danh sách tên c a các thư m c bao g m thư m c ch a t p tin đó và các thư m c m . các thư m c có th n m trong các thư m c khác. . Trong c u trúc thư m c c a Linux nh ng thư m c cá nhân c a ngư i dùng thư ng n m trong thư m c /home và thư ng có tên trùng v i tên đăng nh p c a 5 6 đây là đư ng d n tuy t đ i Nói chính xác hơn là: có toàn quy n đ n khi nào root chưa thay đ i chúng :). Đó là thư m c trong đó ngư i dùng có toàn quy n6 : có th t o và xóa các t p tin. t c là thư m c mà ngư i dùng đang làm vi c trong đó. còn t p tin – là các “lá”.4. . C u trúc phân b c c a thư m c thư ng đư c minh ho b ng “cây thư m c”. . và thư m c g c duy nh t c a c u trúc này đư c ký hi u b ng d u g ch chéo “/”. . v. Tên c a thư m c cũng đư c đ t theo nh ng quy đ nh như đ i v i tên t p tin. Trên Linux và UNIX nói chung ch có m t c u trúc thư m c duy nh t cho t t c các đĩa lưu. Ngoài thư m c hi n th i m i ngư i dùng còn có m t “thư m c nhà” (home directory.

Đư ng d n tương đ i đó là danh sách các thư m c c n ph i đi qua trong cây thư m c đ có th chuy n t thư m c hi n th i đ n thư m c khác (chúng ta g i nó là thư m c đích). ho c “cháu”. thì c n ph i đưa cho câu l nh ls đư ng d n tuy t đ i ho c tương đ i đ n thư m c đó. N u thư m c đích n m phía dư i trong c u trúc thư m c. thư m c cá nhân s tr thành thư m c hi n th i c a ngư i dùng này. t c là n m trong m t thư m c con. bây gi chúng ta s nói rõ hơn v khái ni m đư ng d n tương đ i. sau đó thư m c con c a thư m c con (thư m c “cháu”). N u ch y câu l nh ls không có tham s thì chúng ta ch th y tên c a các t p tin c a thư m c hi n th i.’). r i t đó h xu ng thư m c vnoss/doc thì c n ch y l nh: [user]$ cd . Trong m i thư m c có hai b n ghi đ c bi t. N u mu n xem n i dung c a m t thư m c khác. Khái ni m đư ng d n đ y đ (tuy t đ i) đã gi i thích trên. thì ch c n ch y l nh: [user]$ cd . thì đơn gi n: ch c n ch ra thư m c con c a thư m c hi n th i. Ví d . ch có các danh sách t p tin thông thư ng xác đ nh t p tin hi n th i thu c v m t thư m c nào đó.. Ví d : [user]$ ls projects BanTin drupal-vn bashscripts fluxbox chem-tex gnomevi debian HocTap KDE-vi l4u manvi mc mrtg others SuSE syslinux Xfce vim vnlinux vnoss .. thì ph c t p hơn m t chút.64 Làm quen v i h th ng t p tin ext3fs ngư i dùng đó. nó ch đ n thư m c m . đ dùng thư m c m làm thư m c hi n th i. nhưng khi đó c n ph i nh p vào m t đư ng d n r t dài.. m i thư m c ch là m t t p tin bình thư ng. T t nhiên trong b t kỳ trư ng h p nào cũng có th s d ng đư ng d n tuy t đ i. Tham s c a l nh này là đư ng d n đ y đ ho c đư ng d n tương đ i đ n thư m c mà b n mu n dùng làm hi n th i. Chính nh ng d u hai ch m này đư c dùng đ ghi đư ng d n tương đ i. cho đ n khi nào t i đư c thư m c đích. T c là không có các h p đ c bi t ch a các t p tin. “ch t” nào đó c a thư m c hi n th i. t c là ngư i dùng nhimlui có th làm vi c v i thư m c /home/nhimlui/hinhanh b ng ~/hinhanh. ho c n m hoàn toàn trên m t “cành” khác c a cây thư m c. Còn đ chuy n “leo” lên hai b c c a cây thư m c.. .’) và ch đ n chính b n thân thư m c này. N u như thư m c đích n m cao hơn trong c u trúc thư m c. V n đ này đư c gi i quy t như sau: m i thư m c (tr thư m c g c) có duy nh t m t thư m c m trong cây thư m c. C n lưu ý là trên th c t n câu l nh ls ch đưa ra n i dung c a t p tin mô t thư m c này. M i ngư i dùng có th làm vi c v i thư m c c a mình b ng ký hi u ~. ./vnoss/doc Câu l nh ls dùng đ đưa ra màn hình danh sách các t p tin và thư m c con c a thư m c hi n th i. Như đã nói trên. Khi ngư i dùng vào h th ng. trong đó có li t kê t t c nh ng t p tin và thư m c con c a thư m c này. còn b n ghi th hai có ký hi u là hai d u ch m đơn (‘. và không x y ra b t kỳ nào thao tác làm vi c v i t p tin c a thư m c. M t trong s chúng có ký hi u là d u ch m (‘. Ví d : /home/nhimlui./. Câu l nh cd dùng đ thay đ i thư m c hi n th i..

Tiêu chu n này đư c g i là Filesystem Hierarchy Standart (FHS). các chương trình thư ng đư c cài đ t vào C:\Program Files. và .r ho c g p l i như th này: [user]$ ls -lir Chúng ta d ng mô t ng n g n v câu l nh ls đây (chi ti t v l nh này có th xem trên các trang man ho c info tương ng) và chuy n sang xem xét các thư m c chính c a c u trúc t p tin trong Linux.v. N u ch y câu l nh ls v i tham s -l thì không ch có tên t p tin mà s hi n th c d li u v quy n truy c p đ n t p tin (chúng ta s nói đ n sau). C n chú ý r ng có th li t kê các tham s m t cách riêng r như th này: [user]$ ls -l -i .tex caidat. Đ th y đư c nh ng thông tin chi ti t đó. thì bi t r ng m c dù ngư i dùng có toàn quy n t ch c c u trúc thư m c. tên ch s h u t p tin. Hơn n a có m t tiêu chu n xác đ nh c u trúc thư m c cho các HĐH dòng UNIX. Tham s -u dùng đ hi n th th i gian truy c p cu i cùng thay vào ch th i gian s a đ i. . .. Trong Linux cũng có m t c u trúc thư m c ki u như v y và th m chí còn nghiêm ng t hơn.tex N u đưa thêm tham s -i thì trong c t đ u tiên s hi n th ch s inode c a t p tin. N u có mong mu n b n có th đ c toàn b tiêu chu n này t i đ a ch . 4.tex images l4u. Tham s -r đ o ngư c l i tr t t c a s p x p (c n ph i s d ng cùng v i các tham s -l ho c -t). thì c n dùng các tham s m r ng khác c a câu l nh ls. v.tex ChangeLog ext3fs. kích thư c t p tin và th i gian s a đ i cu i cùng.3 Công d ng c a các thư m c chính N u như b n đ c đã t ng dùng Windows (ví d 2000 hay XP). s lư ng liên k t c ng hay s lư ng tên (n u là thư m c thì ngay t đ u đã có hai liên k t như v y là .tex gioithieu. tên nhóm s h u t p tin (xin đư c g i t t là “nhóm t p tin” m c dù t i nghĩa). Ví d các t p tin h th ng thư ng n m trong thư m c C:\Windows. Khi dùng tham s -t vi c s p x p đư c th c hi n không theo tên mà theo th i gian s a đ i t p tin.3 Công d ng c a các thư m c chính 65 B n ghi v t p tin trong thư m c tương ng ngoài tên còn có r t nhi u thông tin v t p tin này. nhưng m t s truy n th ng v n đư c tuân theo.4. do đó s này b ng s thư m c con công thêm 2). M t ví d minh h a khác: [user]$ ls t ng 1316 -rw-r--r--rw-rw-r--rw-r--r--rw-r--r--rw-r--r-drwxr-xr-x -rw-r--r--l 1 1 1 1 1 2 1 teppi82 teppi82 teppi82 teppi82 teppi82 teppi82 teppi82 users users users users users users users 81629 98135 783 20778 2013 4096 3267 2006-09-08 2006-09-08 2006-09-08 2006-09-09 2006-09-08 2006-09-08 2006-09-08 22:11 13:54 21:58 02:48 21:34 14:25 23:13 bash..

Dư i đây chúng ta s xem xét công d ng c a m t vài(!) thư m c con c a thư m c /etc. Các b n phân ph i Linux l n đ u tuân theo tiêu chu n này. xorg.pathname. /etc/skel Khi t o ngư i dùng m i. /etc Thư m c này và các thư m c con c a nó lưu ph n l n nh ng d li u c n cho quá trình kh i đ ng ban đ u c a h th ng và lưu nh ng t p tin c u hình chính.com/fhs/. B ng 4. B n đ c có th xem qua man mknod (mknode(1)).d Thư m c này lưu nh ng t p tin s d ng trong quá trình kh i đ ng h th ng.66 Làm quen v i h th ng t p tin ext3fs http://www. còn c t th ba cu i cùng đưa ra mô t ng n g n v công d ng c a nh ng thư m c này. /dev Thư m c các t p tin đ c bi t ho c các t p tin thi t b ph n c ng.1: C u trúc thư m c c a Linux Công d ng Thư m c này g m ch y u các chương trình. và t p tin ngư i dùng passwd. B ng 4. c t bên trái li t kê các thư m c con c a thư m c g c. /boot G m các t p tin c đ nh c n cho kh i đ ng h th ng. /home Thông thư ng trong thư m c này là các thư m c cá nhân c a ngư i dùng (tr root). thì nh ng t p tin trong thư m c này s đư c sao chép vào thư m c cá nhân c a ngư i dùng đó. T p tin trong thư m c này ch c n trong th i gian kh i đ ng7 .pathname. /etc/sysconfig Thư m c lưu m t vài (không ph i t t c ) t p tin c u hình h th ng. Ví d . /etc/rc.1 dư i đây đưa ra danh sách ng n g n nh ng thư m c chính đư c t o ra trong c u trúc t p tin theo tiêu chu n nói trên.com/fhs/.conf). Thư m c /etc không đư c lưu các t p tin chương trình (c n đ t chúng trong /bin ho c /sbin. M t ph n các t p tin c u hình có th n m trong các thư m c con c a /usr. ph n l n trong s chúng c n cho h th ng trong th i gian kh i đ ng (ho c trong ch đ m t ngư i dùng khi b o trì h th ng). /etc/X11 Thư m c dành cho các t p tin c u hình c a h th ng X11 (ví d . Chúng ta s nói đ n nh ng t p tin này ngay sau trong m t ph n riêng. trong đó có nhân (kernel). đây có lưu r t nhi u nh ng câu l nh thư ng dùng c a Linux. chi ti t hơn b n có th đ c trong tiêu chu n FHS có trên http://www. còn c t th hai li t kê m t vài (không ph i t t c ) thư m c con. . Thư m c /bin 7 do đó m t s nhà qu n tr không t đ ng g n phân vùng /boot vào trong quá trình kh i đ ng. trong /etc có t p tin inittab xác đ nh c u hình kh i đ ng. Mô t trong b ng này là h t s c ng n g n. Chúng ta s đ c p chi ti t v nh ng t p tin này và quá trình kh i đ ng nói riêng trong m t vài chương s p t i.

.3 Công d ng c a các thư m c chính Thư m c /lib 67 /lost+found /mnt /tmp /root /sbin /proc Công d ng Thư m c này lưu các thư vi n chia s c a các hàm mà trình biên d ch C và các môđun (các driver thi t b ) c n. vì th không nên lưu đây nh ng t p tin mà b n có th s c n đ n. shutdown. CD. arp. H th ng s t đ ng d n d p thư m c này theo đ nh kỳ. Đây là thư m c cá nhân c a ngư i dùng cao c p root. halt.*. vì chúng đư c nhi u chương trình s d ng. Trong trư ng h p ngư c l i thì cùng m t mã l p l i nhi u l n trong các chương trình khác nhau.v. Chi ti t b n có th đ c trong man 5 proc. Ít nh t trong thư m c này ph i có init. v các thi t b tính. fsck. Hãy chú ý là thư m c này không n m cùng ch v i thư m c cá nhân c a nh ng ngư i dùng khác (trong /home). Vì thư m c m b m t. Nh ng thư vi n này ch n p vào b nh khi có nhu c u th c hi n hàm nào đó. tr khi khi b n bi t r ng t p tin ho c nhóm t p tin nào đó đang gây nh hư ng đ n công vi c c a h th ng. swapon. thì có th t o trong thư m c này các thư m c con cho t ng đĩa lưu. Các t p tin đ c bi t c a thư m c này s d ng đ nh n và g i d li u đ n nhân. Đây là đi m g n h th ng t p tin proc cung c p thông tin v các ti n trình đang ch y. Đây là h th ng t p tin o. . Tuy nhiên không nên xóa nh ng t p tin trong thư m c này.*. N u b n thư ng g n m t vài đĩa lưu đ ng như đĩa m m. N u fsck tìm ra t p tin mà không xác đ nh đư c thư m c m thì nó s đưa t p tin đó vào thư m c /lost+found. b t kỳ th i đi m này ngư i dùng root cũng có th xóa t p tin kh i thư m c này mà không làm nh hư ng l n đ n ngư i dùng khác. Thư m c dành cho các t p tin t m th i. . swapoff. route. . . Thư m c này s d ng đ ph c h i h th ng t p tin b ng l nh fsck.v. mkswap. Vì thư m c /bin ch y u lưu các t p tin th c thi (chương trình và ti n ích c a HĐH) s d ng trong quá trình kh i đ ng và do nhà qu n tr ch y. v. flash. Th m chí n u trên h th ng không có trình biên d ch C nào. reboot. mkfs. như v y cho phép gi m kích thư c mã chương trình n m trong b nh . N u trên máy tính có đ ng th i Linux và Windows (DOS) thì thư m c này thư ng dùng đ g n các h th ng t p tin FAT. Đây là đi m g n (mount) nh ng h th ng t p tin g n t m th i. ifconfig. fdisk. đĩa c ng ngoài. thì các thư vi n chia s v n c n thi t. nên t p tin s nh n đư c tên trùng v i ch s inode c a nó. Trong tiêu chu n FHS có nói r ng c n đ c trong thư m c này nh ng t p tin th c thi s s d ng sau khi g n thành công h th ng t p tin /usr.4. DVD.v. v nhân.

Trong thư m c này là các thư vi n object c a các chương trình con. Trong các thư m c con c a /usr là t t c các ng d ng chính. • /usr/local/lib – thư vi n và t p tin c a các chương trình và h th ng n i b . /usr/bin/X11 là nơi thư ng dùng đ lưu các chương trình ch y trên X Window.68 Thư m c /usr Làm quen v i h th ng t p tin ext3fs Công d ng Thư m c này r t l n và c u trúc c a nó nhìn chung l p l i c u trúc c a thư m c g c. . • /usr/local/src – mã ngu n c a các chương trình. • /usr/local/sbin – các chương trình dành cho nhà qu n tr . /usr/lib/X11 – nơi thư ng dùng đ đ t các t p tin có liên quan đ n X Window và các t p tin c u hình c a h th ng X Window. Trên Linux đó thư ng là liên k t m m đ n thư m c /usr/X11R6/lib/X11. Phân vùng ho c đĩa đó thư ng g n ch đ c và trên đĩa (phân vùng) là các t p tin c u hình cũng như t p tin th c thi dùng chung. ng d ng. Các chương trình (ti n ích và ng d ng) thư ng đư c ngư i dùng bình thư ng s d ng. các t p tin tài li u. các ti n ích h th ng và c các t p tin thêm vào (t p tin d ng include). m t s chương trình không th g i tr c ti p. vì chúng đã đư c các nhà phát tri n h th ng ki m duy t k càng (không l b n bi t v h th ng t t hơn các nhà phát tri n). Theo tiêu chu n FHS thì nên dành cho thư m c này m t phân vùng riêng ho c đ t hoàn toàn trên đĩa s d ng chung trong m ng. Thư m c con này lưu mã ngu n c a các thư vi n tiêu chu n c a ngôn ng C. /usr/sbin /usr/lib Thư m c này g m các chương trình th c thi dành cho nhà qu n tr và không s d ng trong th i gian kh i đ ng. • /usr/local/man – các trang tr giúp man. bao g m: • /usr/local/bin. các thư vi n đ ng (dynamic library). Dù trong trư ng h p nào cũng đ ng s a nh ng t p tin trong thư m c này. Ngư i dùng c n có ít nh t là quy n đ c đ i v i thư m c này. đây thư ng đ t các chương trình và các thư m c con (n i b ) ch dành cho máy tính này. Và đây cũng thư ng là liên k t đ n /usr/X11R6/bin. Các h th ng ph c t p (ví d Debian Linux) có th có các thư m c con c a mình trong thư m c này. đây thư ng lưu nh ng chương trình /usr/bin /usr/include /usr/local • /usr/local/doc – các tài li u đi kèm v i chương trình ng d ng.

. Dung lư ng thông tin trong thư m c này có th thay đ i trong m t kho ng l n. ng d ng. Các t p tin b n ghi (log). Lưu các thông tin v tài kho n và thông tin chu n đoán dành cho nhà qu n tr . /var/adm /var/lock /var/log . v. • /usr/share/man – các trang tr giúp man. khóa locking. các t p tin t m th i. vì thư m c gi các t p tin như b n ghi (log). ví d i386. /usr/src /usr/tmp /usr/X11R6 Mã ngu n c a các thành ph n khác nhau c a Linux: nhân. /var Trong thư m c này là các t p tin lưu các d li u bi n đ i (variable). C n chú ý là thư m c này không dùng đ chia s gi a các HĐH khác nhau ho c gi a các phiên b n khác nhau c a cùng m t HĐH. spool. Chúng ta xem xét m t vài thư m c con c a thư m c này: • /usr/share/dict – các danh sách t (word list) c a ti ng Anh dùng cho các chương trình ki m tra chính t như ispell. Tiêu chu n FHS khuyên dùng thư m c con cho m i chương trình. misc (nh ng gi li u tùy theo ki n trúc khác nhau). M t nơi n a đ lưu các t p tin t m th i. Thông thư ng đây là liên k t m m đ n /var/tmp. ng d ng c a h • /usr/X11R6/lib – các t p tin và thư vi n có liên quan đ n X-Window. M i ph n c a man n m trong m t thư m c con riêng trong thư m c này. • /usr/share/misc (đã nói trên). Các t p tin đi u khi n h th ng dùng đ d tr tài nguyên. Các t p tin thu c v h th ng X Window.4. và PPC có th dùng chung m t thư m c /usr/share n m trên m t phân vùng ho c đĩa chia s trên m ng.v.3 Công d ng c a các thư m c chính Thư m c /usr/share 69 Công d ng Thư m c này dùng cho t t c các t p tin d li u dùng chung và có quy n truy c p là ch đ c. . • /usr/X11R6/bin – các chương trình th ng này. Alpha. . . Nh ng thư m c sau ho c liên k t m m sau ph i có trong /usr/share: man (các trang tr giúp man). Nh ng d li u này xác đ nh c u hình c a m t s chương trình trong l n ch y sau ho c là nh ng thông tin lưu t m th i s s d ng sau. Thư ng dùng đ chia s gi a các ki n trúc khác nhau c a HĐH.

Do đó ngoài các t p tin thông thư ng và thư m c. Chúng lưu thông tin v s ti n trình (PID) và ghi thông tin hi n gh i (utmp). • /var/spool/lpd — t p tin trong hàng đ i in.v. /var/tmp Các t p tin t m th i. Nh v y có th dùng khái ni m t p tin cho các thi t b và các đ i tư ng khác. chuy n d li u lên các thi t b và trao đ i d li u gi a các ti n trình b ng cách tương t như nhau. Nh ng trên Linux còn có m t vài d ng t p tin n a. vì có th th c hi n ghi d li u vào t p tin. bàn phím. Có hai d ng thi t b : ký t (hay còn g i là các thi t b trao đ i theo byte) và kh i (trao đ i theo kh i). Trong t t c các trư ng h p này s d ng cùng m t phương pháp d a trên ý tư ng chu i các byte. Đi u này đơn gi n hoá s t ch c và trao đ i các d li u. máy scan.4 D ng t p tin Trong các ph n trư c chúng ta đã xem xét hai d ng t p tin đó là t p tin thông thư ng và các thư m c. T p tin trong thư m c này thư ng đư c d n s ch trong th i gian kh i đ ng Linux. v. 4. ) đ u là các t p tin. môđem. . T p tin đư c đ t vào hàng đ t c a các chương trình khác nhau. . đ i v i h đi u hành thì t p tin ch là m t chu i các byte liên t c.70 Thư m c /var/run Làm quen v i h th ng t p tin ext3fs Công d ng Các t p tin bi n đ i trong th i gian th c hi n các chương trình khác nhau. máy in. /var/spool 4. Chúng ta s làm quen v i chúng trong ph n này. • /var/spool/uucp – t p tin c a h th ng uucp. Như đã nói. tháo r i. S khác nhau gi a hai d ng này n m cách đ c và ghi . chu t. nh ng thành ph n sau cũng đư c Linux coi là t p tin: • các t p tin thi t b • các ng (kênh) có tên (named pipe) • các socket (t v i nghĩa như t chim) • các liên k t m m (symlinks). đ i v i Linux thì t t c các thi t b k t n i vào máy tính ( c ng. • /var/spool/mail – t p tin thùng thư c a ngư i dùng. thì h th ng th c hi n thao tác ghi vào t p tin /dev/tty1. terminal. Ví d . n u c n đưa ra màn hình terminal th nh t thông tin nào đó. • /var/spool/cron – t p tin c a h th ng Verb+cron+.1 Các t p tin thi t b Như đã nói.4. ví d : • /var/spool/at – các công vi c mà at đã ch y.

2 cho bi t nh ng t p tin thư ng dùng nh t. t c là trong trư ng h p này t p tin có c b ng 0. /dev/null Thi t b này có th g i là “l đen”. đĩa /dev/hda. Còn thông tin đư c đ c và ghi vào các thi t b kh i theo các kh i. N u s d ng /dev/null làm thi t b nh p vào. Vì th các t p tin thi thư ng có hai s : l n (major) và nh (minor). Trao đ i d li u v i các thi t b trên Linux do các driver thi t b đ m nhi m. Trên Linux nh ng t p tin này h tr các terminal o (hãy nh l i chương trư c). thì b n s th y m t lư ng kh ng l nh ng t p tin thi t b . Ví d thi t b d ng này là terminal. Đ i v i các t p tin thi t b . B ng 4. /dev/ttS0 tương ng v i COM1 trong DOS. Các thi t b ký t trao đ i thông tin theo t ng ký t (theo t ng byte) trong ch đ chu i các byte. M i d ng thi t b có th có m t vài t p tin thi t b . Nh ng driver này ho c n m trong nhân ho c n m riêng d ng môđun và có th g n vào nhân sau. /dev/cua Các t p tin cho môđem. B ng 4. t c là đĩa Primary Master. Tên g i v n đư c lưu k t khi k t n i teletype vào các h th ng UNIX làm terminal. /dev/tty Các t p tin h tr terminal c a ngư i dùng. /dev/fd Các t p tin đĩa m m. thì s thu đư c m t chu i các s 0. Thi t b /dev/hda1 tương ng v i phân vùng đ u tiên c a đĩa c ng đ u tiên. Không th đ c t đĩa c ng và ghi lên đó t ng byte. /dev/pty Các t p tin h tr terminal gi . /dev/hd Các c ng v i giao di n IDE. /dev/ttS1 tương ng v i COM2. Ph n l n nh ng t p tin như v y đã đư c t o s n t trư c và n m trong thư m c dev. còn s nh cho bi t c n ph i làm vi c v i thi c th nào c a d ng này. Ví d các c ng.2: Nh ng t p tin thi t b chính T p tin Ý nghĩa /dev/console Console h th ng t c là màn hình và bàn phím k t n i t i máy tính. trao đ i thông tin v i đĩa ch có th theo t ng kh i. đ u tiên là /dev/fd0. S l n c a thi t b cho nhân bi t p tin này thu c v driver nào. câu l nh ls -l cho bi l n và s nh đã nói thay vì kích thư c c a t p tin. Nh ng ngư i vi t script thư ng chuy n nh ng thông báo không c n thi t vào thi t b này. N u nhìn vào thư m c /dev (t c là chuy n vào thư m c đó b ng l nh cd r i ch y ls).4 D ng t p tin 71 thông tin vào các thi t b . Đ trao đ i v i các ph n khác c a h đi u hành m i driver t o ra m t giao di n liên l c có v ngoài gi ng như t p tin.4. S d ng cho các k t n i t xa qua telnet. /dev/ttS T p tin h tr làm vi c v i các c ng k t ti p nhau (các c ng COM). T t c nh ng gì ghi vào /dev/null s m t vĩnh vi n. tb t là tb ts . th hai là /dev/fd1. /dev/sd c ng v i giao di n SCSI.

liên k t m m có th ch đ n nh ng t p tin n m trong h th ng t p tin khác. thì trao đ i đư c th c hi n mà không c n đ n socket: d li u do nhân chuy n tr c ti p t chương trình này đ n chương trình khác. 8 thu t ng này v n chưa đư c th ng nh t. N u b n đ c xóa m t trong s nh ng t p tin này (nói đúng hơn là m t trong s nh ng tên này). 4. Nhưng trên Linux còn có m t d ng liên k t khác g i là (liên k t tư ng trưng8 ). đư ng ng). Sau khi đã t o ra k t n i. và do đó liên k t c ng ch có th dùng cho t p tin c a cùng m t h th ng t p tin. trong đó có Linux: socket là khái ni m then ch t c a TCP/IP và như v y là d a trên socket đã xây d ng toàn b Internet.4 Liên k t m m Trong ph n v tên t p tin chương trư c chúng ta đã nói r ng t p tin trong Linux có th có vài tên hay liên k t c ng. thì t p tin v n còn đư c lưu trên đĩa cho đ n khi v n còn ít nh t m t tên. ho c th m chí trên m t máy tính khác.72 Làm quen v i h th ng t p tin ext3fs 4. ví d b ng chương trình mkfifo. Đi m đ c bi t c a liên k t c ng là nó ch th ng đ n ch s inode. h th ng in và h th ng syslog. cho phép chúng giao ti p mà không ch u nh hư ng c a các ti n trình khác. nhưng chúng là nh ng t p tin khác – nh ng t p tin liên k t m m. N u t p tin ban đ u b xóa. R t khó phân bi t tên đ u tiên c a t p tin và nh ng liên k t c ng đư c t o ra sau đó. T p tin d ng này ch y u dùng đ t ch c trao đ i d li u gi a các chương trình khác nhau (pipe d ch t ti ng Anh sang là ng. ví d trên nh ng đĩa lưu đ ng. t c là trên cùng m t phân vùng (đĩa lưu). Sau khi t o liên k t c ng không th phân bi t đâu là tên t p tin còn đâu là liên k t. do đó đưa ra c hai trư ng h p có th g p. nhưng nh ng ti n trình không tham gia vào k t n i hi n th i không th th c hi n b t kỳ thao tác đ c hay ghi nào lên t p tin socket.4. . Nh ng liên k t này cũng có th coi là tên ph cho t p tin. Liên k t c ng ch là m t tên khác cho t p tin ban đ u. Khi này b n thân t p tin ng ch tham gia vào s kh i đ u trao đ i d li u. Tuy nhiên t phía h th ng t p tin socket th c t không khác các ng có tên: đó ch là các đi m cho phép n i các chương trình v i nhau. Khác v i liên k t c ng.4. Nói chung socket và s trao đ i qua socket đóng vai trò h t s c quan tr ng trên t t c các h th ng UNIX. hay b đ m FIFO (First In – First Out). Trong s nh ng h th ng s d ng socket c n k đ n X Window. Nó đư c ghi trong mô t inode c a t p tin đó. 4. M t trong nh ng ng d ng c a liên k t c ng đó là ngăn ch n kh năng xóa t p tin m t cách vô tình. M t ti n trình có th đ c t t c nh ng gì mà m t ti n trình khác đ t vào ng. Trong trư ng h p ngư c l i c n t o ra m t ng có tên.3 Các socket Socket đó là k t n i gi a các ti n trình.4. thì ng có th không có tên. M c dù nh ng ti n trình khác có th th y các t p tin socket.2 Các ng có tên (pipes) Còn có m t d ng t p tin thi t b n a đó là các ng có tên. Vì v y ch dùng liên k t c ng nh ng nơi không c n bi t s khác nhau. N u có hai ti n trình đư c sinh ra t cùng m t ti n trình m trao đ i thông tin (thư ng x y ra). ng là phương ti n h t s c thu n ti n và s d ng r ng rãi đ trao đ i thông tin gi a các ti n trình.

thì s th y nh ng thay đ i này khi xem t p tin qua tên khác. Ngoài ra. ho c khi t p tin n m trên m t h th ng t p tin khác.4. Vi c t o b t kỳ m t liên k t nào cũng gi ng như sao chép t p tin.5 Quy n truy c p đ n t p tin và thư m c B i vì Linux là h đi u hành nhi u ngư i dùng.2. thì trong danh sách s có m t dòng như sau: lrwxrwxrwx 1 teppi82 users 20 2006-09-10 06:39 l4u. T o và xóa các nhóm là công vi c c a ngư i dùng cao c p root. ví d nhóm các nhà qu n tr có quy n nhi u hơn so v i nhóm các nhà l p trình. .” (liên k t đ n thư m c m ) trong tên t p tin ch đ n.9. T t nhiên đi u này có th th y rõ trong ph n cu i (ph n tên t p tin). N u b n t o trong thư m c mot m t liên k t m m ch đ n m t thư m c khác.” luôn luôn là thư m c m c a thư m c hi n th i. và root có th thay đ i thành ph n c a m t nhóm nào đó. hãy h n ch s d ng “. đó sau tên t p tin c a liên k t là m t mũi tên → ch đ n t p tin ban đ u. Thành viên c a các nhóm khác nhau có th có quy n truy c p khác nhau đ n t p tin.pdf. trên h th ng còn có các nhóm ngư i dùng. nhưng khác ch là tên ban đ u c a t p tin cũng như liên k t cùng ch đ n m t t p tin th c s trên đĩa. thì có th di chuy n thư m c mot đi đâu tùy thích. và Linux cho phép m t ngư i dùng có th n m trong m t ho c nhi u nhóm.5 Quy n truy c p đ n t p tin và thư m c 73 thì liên k t m m tuy không b xóa nhưng tr thành vô giá tr . Và bây gi n u xem danh sách t p tin trong thư m c b ng câu l nh ls -l.pdf -> projects/l4u/l4u-0. Nhưng khi t o liên k t m m. b i vì v trí c a liên k t m m có th thay đ i. nó cho chúng ta bi t t p tin là m t liên k t m m. Vì th n u b n đ c thay đ i t p tin qua m t tên nào đó c a nó. Đ t o liên k t m m c n s d ng câu l nh ln đã nói đ n và thêm vào tùy ch n -s: [user]$ ln -s tên_t p_tin tên_liên_k t Ví d : [user]$ ln -s projects/l4u/l4u-0.. Cơ ch quy đ nh truy c p đư c phát tri n cho h th ng UNIX vào nh ng năm 70 c a th k trư c r t đơn gi n nhưng có hi u qu đ n n i đã đư c s d ng hơn 30 năm.pdf Hãy chú ý đ n ký t đ u tiên c a dòng này.. Cơ s c a cơ ch quy đ nh quy n truy c p đó là tên ngư i dùng và tên nhóm c a ngư i dùng.2. Như b n đã bi t trong Linux m i ngư i dùng có m t tên riêng không l p l i dùng đ đăng nh p vào h th ng.9. mà “.pdf ~/l4u. và hi n th i v n còn đư c s d ng đ gi i quy t bài toán này. Cũng như v y đ i v i chính b n thân liên k t m m.pdf Sau khi th c hi n câu l nh này trong thư m c cá nhân c a tôi xu t hi n t p tin l4u. 4. Hãy s d ng liên k t m m trong nh ng trư ng h p b n mu n tránh s l m l n mà liên k t c ng có th gây ra. nên yêu c u quy đ nh truy c p đ n các t p tin và thư m c là m t trong nh ng yêu c u thi t y u nh t mà h đi u hành ph i gi i quy t. liên k t m m khi đó v n làm vi c đúng.

Sau ký t xác đ nh d ng t p tin là ba nhóm. Bây gi hãy th c hi n m t l n n a câu l nh ls -l. Trong ví d c a chúng ta quy n truy c p c a ch s h u là rwx. w. . có nghĩa là ch s h u root có quy n đ c (r). vùng xác đ nh d ng t p tin và quy n truy c p đ n nó. [user]$ ls -l /bin/bash -rwxr-xr-x 1 root root 501804 2006-04-23 05:46 /bin/bash Như b n đ c th y. Thay b t kỳ ký t nào trong s nh ng ký t này b ng d u g ch ngang có nghĩa là ngư i dùng b tư c m t quy n tương ng.74 Làm quen v i h th ng t p tin ext3fs Trong mô t inode c a m i t p tin có ghi tên c a ch và nhóm s h u t p tin. có nghĩa là h không th s a t p tin và nói chung là không th thay đ i t p tin b ng cách nào đó. trong trư ng h p này ch s h u là ngư i dùng root. tên c a nhóm s h u cũng đư c ghi vào theo thông tin tên nhóm c a ti n trình t o t p tin. m i nhóm g m ba ký t xác đ nh quy n truy c p tương ng cho ch s h u. Ngày t đ u khi t o t p tin ch c a nó là ngư i dùng đã t o ra nó. ghi vào t p tin (w) và ch y t p tin này (x). Quy n truy c p và thông tin v d ng t p tin trên các h th ng UNIX đư c lưu trong mô t inode d ng c u trúc 2 byte (16 bit). Vùng này trong ví d trên là chu i các ký t t m th i chưa nói lên đi u gì “-rwxr-xr-x”. Nhưng bây gi trên dòng này chúng ta s quan tâm hơn đ n vùng đ u tiên. Có th thay đ i ch và nhóm s h u trong quá trình làm vi c sau này b ng hai câu l nh chown và chgrp (chúng ta s đ c p k hơn v hai l nh này ngay sau đây). Nhân ti n. nhóm s h u – root. Đi u này là t t nhiên vì máy tính ch làm vi c d a trên các bit ch không ph i d a trên các ký t r. Nó có th là m t trong s nh ng ký t sau: • – (g ch ngang) – t p tin thông thư ng • d – thư m c • b – t p tin thi t b kh i • c – t p tin thi t b ký t • s – socket • p – ng có tên (pipe) • l – liên k t m m (symbolic link). hãy chú ý kh năng này c a câu l nh ls -l – hi n th thông tin v m t t p tin c th nào đó ch không ph i t t c các t p tin trong thư m c m t lúc. Nh ng ký t này có th t m chia thành b n nhóm. Cùng lúc v i ch s h u. Cũng trong ví d trên chúng ta th y. Nói chính xác hơn là ngư i dùng mà ti n trình t o t p tin đã ch y dư i tên h . Nhóm th nh t ch g m m t ký t xác đ nh d ng t p tin (m t trong b n d ng đã nêu ph n trên). nhưng có thêm m t tham s n a đó là tên c a m t t p tin c th nào đó. nhóm s h u t p tin và cho nh ng ngư i dùng khác. Ví d t p tin chương trình c a h v bash /bin/bash. t t c nh ng ngư i dùng khác (k c nh ng ngư i dùng c a nhóm root) b tư c m t quy n ghi vào t p tin này.

n u th c hi n câu l nh: [user]$ ls -l /usr thì s th y dòng tương ng v i thư m c share như sau: drwxr-xr-x 128 root root 4096 2006-09-07 02:20 share T t nhiên là đ i v i thư m c thì ý nghĩa c a các khái ni m “quy n đ c”. và khác v i các HĐH c a Microsoft không ph i ai cũng có quy n g i t p tin. t c là thêm vào ho c xóa kh i thư m c dòng lưu thông tin v m t t p tin nào đó và các liên k t tương ng. Nhưng khi so n th o b n s không th lưu nh ng thay đ i trong t p tin lên đĩa. 9 bit này chia thành ba nhóm. w. nhưng ngư c l i n u t p tin là chương trình mà không có quy n g i thì cũng không th ch y chương trình đó. perl. Hơn n a còn c n ph i cho ngư i dùng “quy n g i” đ i v i t t c các thư m c n m trư c thư m c này trong cây thư . . còn “0” th hi n d ng d u g ch ngang. còn n u b ng “0” thì quy n đó b tư c m t. Quy n ghi cũng d hi u. ba bit cu i cùng – quy n c a nh ng ngư i dùng còn l i (t c là t t c nh ng ngư i dùng.4.5 Quy n truy c p đ n t p tin và thư m c 75 x. B n th y không. . T t nhiên n u trên th c t t p tin không ph i là chương trình (ho c các script shell. ví d more. x nói trên đư c dùng đ xác đ nh quy n truy c p đ n thư m c. m i nhóm 3 bit. B n bit trong s 16 bit này đư c dùng cho b n ghi v d ng t p tin. Cho nên n u ngư i dùng có quy n đ c thư m c. Quy n đ c r t p tin có nghĩa là ngư i dùng có th xem n i dung t p tin b ng các chương trình xem khác nhau. t c là cho nh ng ngư i dùng khác “quy n g i” (th c thi) thư m c. Trong trư ng h p này quy n g i ch quy n chuy n vào thư m c này. Khi này n u bit tương ng có giá tr b ng “1”. w ho c x). Ba bit đ u tiên xác đ nh quy n c a ch s h u. thì có quy n đó. t t c đ u do tính ch t “th c thi” đ t ra. ) thì không th g i t p tin. . Và cu i cùng 9 bit cu i cùng xác đ nh quy n truy c p đ n t p tin. Quy n đ c đ i v i thư m c thì h t s c d hi u. N u b n đ c là ch s h u thư m c và mu n cho nh ng ngư i dùng khác quy n xem m t t p tin nào đó trong thư m c c a mình thì c n ph i cho h quy n truy c p (chuy n) vào thư m c này. “quy n ghi” và “quy n g i” có thay đ i m t chút. n u chúng ta nh r ng thư m c cũng ch là t p tin lưu danh sách các t p tin khác trong thư m c đó. ho c b ng các trình so n th o văn b n. Khi có quy n này. d ng ch cái thì “1” đư c thay th b ng các ch cái tương ng (r. tr ch s h u và nhóm s h u t p tin). Quy n th c thi (tôi thích dùng thu t ng quy n g i) có nghĩa là b n đ c có th n p t p tin vào b nh và th ch y mã này gi ng như trư ng h p chương trình. Ba bit ti p theo xác đ nh các tính ch t đ c bi t c a t p tin th c thi (chúng ta s nói đ n m t chút sau). Quy n g i đ i v i thư m c có hơi khó hi u m t chút. Ví d . ph n m r ng c a t p tin đây không có liên quan gì. N u v n th c hi n câu l nh ls -l nhưng tham s không ph i là tên t p tin mà là tên thư m c thì chúng ta s th y thư m c cũng có quy n truy c p và cũng v n nh ng ch cái r. Như v y là chúng ta đã bi t đư c trên Linux nh ng t p tin nào là có th th c thi. thì t c là có th xem n i dung c a thư m c (có th nói khác là xem danh sách t p tin trong thư m c). ngư i dùng có th t o và xóa các t p tin trong thư m c. n u không có quy n ghi w vào t p tin này. ba bit ti p theo – quy n c a nhóm s h u.

N u có quy n truy c p t i m t thư m c con nào đó c a thư m c này. Có hai cách s d ng l nh này. ch X là m t trong các ký t sau: . ngư i dùng root có th tư c b m t s quy n c a ch s h u t p tin. n u không s ph i ph c h i l i nó trư c khi có th đ c các t p tin. N u ngư i dùng không ph i là ch s h u và cũng không n m trong nhóm s h u. N u ch s h u không có quy n nào đó. nhóm và nh ng ngư i dùng còn l i. nhưng c n ph i nh tên c a thư m c con này. Tuy nhiên v n có s khác nhau gi a hai quy n này. và không chú ý đ n các quy n c a ch s h u và nh ng ngư i dùng còn l i. Và t t nhiên n u mu n ngăn ch n truy c p vào thư m c thì ch c n b đi quy n chuy n vào thư m c (r) c a t t c ngư i dùng (k c nhóm s h u). Đ ng tư c b quy n này c a chính b n thân mình. N u ch đưa ra quy n g i. N u có thì kh năng truy c p đ n t p tin đư c xác đ nh b ng quy n truy c p c a nhóm. thì quy n c a h đư c xác đ nh b ng nhóm tính ch t th ba (nhóm dành cho nh ng ngư i dùng còn l i). thì th m chí h th ng không ki m tra quy n có th có nhóm s h u và nh ng ngư i dùng khác mà đưa ra luôn thông báo l i không th th chieejn đư c hành đ ng yêu c u (d ng “Permission denied”). Đ ng ng c nhiên khi ch s h u l i không có t t c m i quy n. Khi dùng cách th nh t b n ph i ch ra rõ ràng thêm quy n nào cho ai ho c tư c quy n nào và c a ai như sau: [user]$ chmod wXp tên_t p_tin Trong đó. vì s không th y b t kỳ danh sách và t p tin thư m c nào (trư ng h p này gi ng như khi chúng ta đi trong màn đêm không th y đư ng. thì ki m tra xem ch s h u có các quy n truy c p tương ng (đ c. Chính vì v y mà theo m c đ nh t t c các thư m c có đ t quy n g i cho ch s h u cũng như nhóm và nh ng ngư i dùng khác. Như v y nhóm tính ch t th ba trong quy n truy c p là dành cho t t m i ngư i dùng. nhưng s không th y đó b t kỳ m t t p tin nào khi ch y l nh ls (có th th y rõ hơn n u b n s d ng chương trình Midnight Commander). tr ch s h u và nh ng ngư i dùng n m trong nhóm s h u. ch nh hư ng đi). ghi và g i) không. Đ u tiên h th ng ki m tra xem tên ngư i dùng có trùng v i tên ch s h u t p tin hay không. ch ký t w ph i đ t m t trong các ký t sau: • u – ch s h u • g – nhóm s h u g • o – nh ng ngư i dùng còn l i • a – t t c bao g m ch s h u. thì s đư c cho phép th c hi n thao tác tương ng. N u có quy n truy c p đó. thì ngư i dùng có th vào thư m c. Đ thay đ i quy n truy c p t i t p tin ngư i ta s d ng l nh chmod (change mode). thì b n có th chuy n sang thư m c con b ng l nh cd. N u hai tên này trùng nhau (t c là ch s h u đang dùng t p tin c a mình). Cơ ch ki m tra quy n ngư i dùng khi s d ng t p tin như sau. N u tên ngư i dùng không trùng v i tên ch s h u thì h th ng ki m tra xem ngư i dùng này có n m trong nhóm s h u hay không.76 Làm quen v i h th ng t p tin ext3fs m c. Sau khi đ c đo n trên có th th y “quy n đ c” thư m c là th a thãi vì không cho ra tính năng gì m i so v i “quy n g i”.

Chúng ta c n đ t ba s này phía sau tên l nh và phía trư c tham s th hai (tên t p tin). ch p là m t trong nh ng ký t sau: • r – quy n đ c • w – quy n ghi • x – quy n g i (quy n th c hi n. nhóm s h u và nh ng ngư i dùng còn l i). Ký t r đư c mã hóa b ng s 4. nhưng l i thư ng xuyên đư c các nhà qu n tr cũng như ngư i dùng có kinh nghi m dùng. Ví d . Đ xác đ nh quy n c a ngư i dùng c n c ng các s tương ng l i v i nhau. n u c n cho ch s h u m i quy n (4+2+1=7). thì dùng l nh sau: . w – s 2. N u không ch ra ai đư c thêm quy n truy c p. Sau khi thu đư c ba giá tr s (cho ch s h u. Sau đây là m t s ví d s d ng câu l nh chmod: [user]$ chmod a+x tên_t p_tin thêm quy n g i t p tin tên_t p_tin cho m i ngư i dùng c a h th ng. [user]$ chmod go-rw tên_t p_tin tư c b quy n đ c và ghi c a m i ngư i dùng tr ch s h u t p tin. chúng ta đưa ba s này vào dùng làm tham s cho l nh chmod. Nó d a trên mã hóa quy n truy c p d ng s . nh ng ngư i dùng còn l i ch có quy n g i (th c hi n).go=x tên_t p_tin 77 cho ch s h u có t t c m i quy n (đ c.5 Quy n truy c p đ n t p tin và thư m c • + – thêm quy n • – – tư c b quy n • = – dùng quy n ch ra thay cho quy n đã có. x – s 1. [user]$ chmod u=rwx. ghi. cho nhóm s h u quy n đ c và ghi (4+2=6) và nh ng ngư i dùng còn l i quy n g i (1=1). [user]$ chmod ugo+rwx tên_t p_tin [user]$ chmod a+rwx tên_t p_tin cho m i ngư i dùng quy n đ c.4. g i). ghi và g i (th c hi n). thì s áp d ng cho t t c m i ngư i dùng. t c là có th dùng l nh: [user]$ chmod +x tên_t p_tin đ thay cho [user]$ chmod a+x tên_t p_tin Phương án s d ng th hai c a câu l nh chmod có khó hi u hơn m t chút trong th i gian đ u s d ng Linux.

chúng chi m các v trí 5 – 7 ngay sau mã cho bi t d ng t p tin. N u s d ng phương án xác đ nh tính ch t d ng s c a l nh chmod. Như v y bit này còn có th g i là “bit thay đ i ID ch s h u ti n trình”. Chúng ta s dùng thu t ng “bit lưu chương trình” vì đúng v i ng c nh này hơn. thì giá tr c a ba tính ch t v a nói ph i n m trư c nh ng s xác đ nh quy n truy c p (t c là s đ u tiên trong dãy 4 s xác đ nh t t c các tính ch t c a t p tin). thì chương trình nh n đư c quy n truy c p đ n t p tin và thư m c c a ch s h u t p tin chương trình. Ý nghĩa c a bit này như sau. Tính ch t đ u tiên đó là “bit thay đ i ID9 ngư i dùng”. Ví d : Identificator. Ví d ID c a ngư i dùng cao c p root là 0. Đó là nh ng tính ch t cho các t p tin th c thi. Ch có ch s h u t p tin ho c ngư i dùng cao c p m i có kh năng thay đ i quy n truy c p b ng câu l nh chmod. Trong mô t inode. vì trong trư ng h p này s ti t ki m đư c th i gian n p chương trình vào b nh m i l n ch y. Ngư i dùng cao c p root có th đ t “bit thay đ i ID ngư i dùng” b ng l nh: [root]# chmod +s tên_t p_tin Tương t như v y chúng ta có “bit thay đ i ID nhóm”. m i ngư i dùng có m t ID d ng s như v y. ID c a ngư i dùng là duy nh t. khi ngư i dùng g i th c hi n m t chương trình nào đó. T t c m t kh u đư c lưu trong t p tin /etc/passwd (ho c m t t p tin mã hóa nào khác. nhóm s h u và nh ng ngư i dùng còn l i. Thông thư ng. Vì th chương trình n u do ngư i dùng ch y s không th th c hi n l nh ghi vào t p tin này. Bit này ch h th ng bi t sau khi d ng chương trình c n lưu l i nó trong b nh . thì ch s h u (không ph i root) ph i là thành viên c a nhóm đó. R t thu n ti n khi đ t bit này cho nh ng chương trình thư ng g i. T t nhiên là trong chương trình passwd đã có mã đ ngư i dùng ch đư c phép thay đ i m t dòng trong t p tin này – dòng tài kho n c a ngư i dùng đó. không trùng l p. Trên nh ng máy “top model” (high end) hi n đ i thì r t hi m khi s d ng. Bit này ch c n thi t trên nh ng máy cũ. Đ có th thay đ i quy n c a nhóm s h u. M t tính ch t n a c a t p tin th c thi đó là “bit dính” (chính xác hơn là “bit lưu chương trình”) hay thu t ng ti ng Anh là “sticky bit”. trong đa s trư ng h p là /etc/shadow) mà ch s h u là ngư i dùng cao c p root. thì hi u r ng nh ng s đ ng sau tên l nh không ph i gì khác mà chính là b n ghi h cơ s tám c a 9 bit xác đ nh quy n truy c p cho ch s h u. ph n c u trúc 2 byte xác đ nh tính ch t t p tin.78 [user]$ chmod 761 tên_t p_tin Làm quen v i h th ng t p tin ext3fs N u b n bi t v mã đôi c a h cơ s tám. Có nghĩa là ngư i dùng không th thay đ i m t kh u c a mình. thì chương trình này nh n đư c nh ng quy n truy c p đ n t p tin và thư m c c a ngư i dùng đã ch y nó. Ví d đi n hình nh t là câu l nh thay đ i m t kh u passwd. Do đó chương trình thay đ i m t kh u passwd đư c ch y v i quy n root và nh n đư c quy n ghi vào t p tin /etc/passwd. Đi u này cho phép gi i quy t m t s v n đ khó th c hi n. Ý nghĩa c a bit này cũng gi ng như trên nhưng ch thay th “ngư i dùng” b ng “nhóm”. N u như có đ t “bit thay đ i ID ngư i dùng”. và root là ch s h u t p tin chương trình này. 9 . Đ k t thúc bài h c v quy n truy c p đ n t p tin c n nói thêm v nh ng tính ch t khác có th g p c a t p tin mà cũng xác đ nh b ng l nh chmod. Nhưng t p tin /usr/bin/passwd có “bit thay đ i ID ngư i dùng”.

) [user]$ touch vidu [user]$ chmod 7766 vidu [user]$ ls -l vidu -rwsrwSrwT 1 teppi82 users 0 2006-09-11 12:46 vidu 4. thì thay th ký t x trong ph n xác đ nh quy n truy c p c a nh ng ngư i dùng còn l i b ng ký t t. ls. m c dù trong k t qu c a l nh ls -l không có nh ng v trí riêng đ hi n th k t qu c a ba bit (“bit thay đ i ID ngư i dùng”. . N u “bit thay đ i ID ngư i dùng” b ng 1. N u “bit lưu chương trình” (sticky bit) b ng 1. t c là dùng nhi u t p tin làm tham s cho l nh ls. Lúc này n u ch s h u có quy n g i t p tin thì ký t x đư c thay th b ng ch cái s nh . chúng ta v n có th th y đư c nh ng thông tin này. Như v y. M t vài ví d : [user]$ ls -l /usr/bin/passwd /usr/bin/write -rwsr-xr-x 1 root shadow 72836 2006-05-02 12:50 /usr/bin/passwd -rwxr-sr-x 1 root tty 8936 2006-05-02 10:50 /usr/bin/write ( đây chúng ta th y có th li t kê nhi u t p tin trên dòng l nh ls -l. còn ngư c l i (ví d t p tin không ph i là chương trình). thì ký t x trong ph n xác đ nh quy n truy c p c a ch s h u s đư c thay th b ng ký t s. Trong ph n này chúng ta s xem xét m t cách ng n g n m t vài câu l nh thư ng dùng n a. thì thay th x b ng ch cái S l n. b ng ký t T. chmod. n u nh ng ngư i dùng còn l i có quy n th c hi n t p tin. S thay th như v y cũng x y ra n u có đ t “bit thay đ i ID nhóm”. cd.6 Các câu l nh cơ b n đ làm vi c v i t p tin và thư m c Trong nh ng ph n trư c chúng ta đã đ c p đ n m t vài câu l nh đ làm vi c v i t p tin và thư m c. n u ngư c l i.4. đó là pwd. t t nhiên là s thay th ký t x trong ph n xác đ nh quy n truy c p c a nhóm s h u. ln. N u có (nh ng) bit nào đó trong s ba bit này đư c đ t (nh n giá tr 1). thì s có thay đ i c a k t qu c a l nh ls -l trong ph n quy n truy c p (ph n đ u tiên).6 Các câu l nh cơ b n đ làm vi c v i t p tin và thư m c [root]# chmod 4775 tên_t p_tin 79 Khi này cũng v n s d ng phép c ng như đ i v i trư ng h p quy n truy c p và các tính ch t có giá tr như sau: • 4 – “bit thay đ i ID ngư i dùng” • 2 – “bit thay đ i ID nhóm” • 1 – “bit lưu chương trình” (sticky bit). “bit thay đ i ID nhóm” và “bit lưu chương trình”).

1 Câu l nh chown và chgrp Nh ng câu l nh này dùng đ thay đ i ch s h u và nhóm s h u t p tin. nhưng khi này c n ph i ch ra đư ng d n t i đó.80 Làm quen v i h th ng t p tin ext3fs 4. (liên k t đ n chính b n thân thư m c này) và . (liên k t đ n thư m c m ). Cú pháp c a hai câu l nh này tương t nhau: [root]# chown tên_ngư i_dùng tên_t p_tin [root]# chgrp tên_nhóm tên_t p_tin 4. Ví d : [user]$ mkdir ~/projects/l4u/images (hãy nh l i ký hi u ∼ dùng đ ch c a ngư i dùng). n u dùng thu t ng c a Hoá h c là “s c ng” các t p tin). còn thay đ i nhóm s h u t p tin có th là root ho c ngư i dùng ch s h u. Ch có ngư i dùng cao c p root m i có quy n thay đ i ch s h u. Trong thư m c v a t o s t đ ng t o ra hai m c: . Vì nó đư c t o ra cho s móc n i (concatenate. Có th t o ra thư m c con trong m t thư m c khác thư m c hi n th i.2 Câu l nh mkdir Câu l nh mkdir cho phép t o thư m c con trong thư m c hi n th i. Có th dùng các tùy ch n sau c a câu l nh mkdir: • -m mode – xác đ nh quy n (ch đ ) truy c p cho thư m c m i (ví d : -m 700) • -p – t o ra các thư m c trung gian ch ra trong đư ng d n (n u chưa có chúng). t c là s k t h p các t p tin khác nhau vào m t: . Ví d : teppi82@ThinhQuyen:~> mkdir mot/hai mkdir: cannot create directory ’mot/hai’: No such file or directory teppi82@ThinhQuyen:~> mkdir -p mot/hai teppi82@ThinhQuyen:~> ls -l mot t ng 4 drwxr-xr-x 2 teppi82 users 4096 2006-09-11 13:36 hai 4. b n đ c c n ph i có quy n ghi vào thư m c hi n th i.6. Tham s c a câu l nh này là tên c a thư m c mu n t o ra. m c dù có th s d ng l nh touch. thì ch s h u còn ph i là thành viên c a nhóm s s h u t p tin này.6. L nh cat cũng đưa ra màn hình (đ u ra) n i dung c a (các) t p tin dùng làm tham s c a nó. Đ t o ra thư m c con. N u chuy n k t qu làm vi c c a l nh cat vào m t t p tin nào đó thì có th t o ra b n sao c a t p tin như sau: [user]$ cat t p_tin1 > t p_tin2 Chính b n thân câu l nh cat lúc đ u đư c phát tri n đ dùng cho vi c chuy n hư ng k t qu làm vi c..6. Đ có quy n thay đ i nhóm.3 Câu l nh cat Câu l nh cat thư ng dùng đ t o các t p tin.

t p_tinN > t p_tin_m i 81 Và cũng chính kh năng chuy n hư ng k t qu c a câu l nh này đư c dùng đ t o các t p tin m i. hãy nh n t h p phím <Ctrl>+<D> ho c <Ctrl>+<C>. Còn trong trư ng h p th hai thì t p tin có trong thư_m c_ngu n s đư c sao chép vào thư m c thư_m c_m i.4 Câu l nh cp M c dù đôi khi có th dùng câu l nh cat đ sao chép các t p tin..3. n u không thì s sao chép t p tin (n i dung) mà liên k t này ch đ n. N u không đưa ra tùy ch n này thì quy n truy c p c a t p tin s đư c thi t l p theo quy n c a ngư i dùng đã ch y l nh. N u s d ng m t t p tin đã có vào ch c a t p tin đích thì n i dung c a nó s b xóa m t.6 Các câu l nh cơ b n đ làm vi c v i t p tin và thư m c [user]$ cat t p_tin1 t p_tin2 . 4. –R ho c –r N u ngu n là thư m c thì sao chép thư m c đó cùng v i t t c nh ng gì (t p tin.. Khi này đ u vào c a l nh cat đó là dòng d li u nh p t bàn phím (đ u vào tiêu chu n). do v y khi sao chép c n ph i c n th n. V l i có th s d ng câu l nh cp v i tùy ch n -i. Câu l nh cp còn có m t vài tùy ch n có ích khác li t kê trong b ng 4. T t nhiên là như v y ch y u dùng cat đ t o các t p tin văn b n ng n. t c là gi l i đư c c u trúc c a thư m c b n đ u (recursive). R t nên dùng tùy ch n này. –d N u đưa ra tùy ch n này thì các liên k t m m s v n là các liên k t.3: Nh ng tùy ch n chính c a l nh cp Tùy ch n Ý nghĩa –p Gi l i th i gian s a đ i t p tin và c gi l i nh ng quy n truy c p có th gi l i. Đ sao chép thì c n có quy n đ c t p tin mu n sao chép và quy n ghi vào thư m c s sao chép đ n (“thư m c đích”). Khi đó trư c khi ghi chèn lên t p tin đã có h th ng s h i l i ngư i dùng. .6. thư m c con) n m trong nó. Có th áp d ng m t trong hai d ng c a l nh này: [user]$ cp [tùy_ch n] ngu n đích [user]$ cp [tùy_ch n] thư_m c_ngu n thư_m c_m i Trong trư ng h p th nh t sao chép t p tin (ho c thư m c) ngu n vào t p tin (ho c thư m c) đích. nhưng trong Linux có m t câu l nh chuyên dùng cho vi c này – l nh cp. và t t c nh ng gì b n đã gõ s đư c lưu l i trong t p tin t p_tin_m i.4. còn đ u ra s là t p tin m i: [user]$ cat > t p_tin_m i Sau khi nh p vào nh ng gì mu n nh p. –f Ghi chèn t p tin khi sao chép mà không h i l i hay c nh báo. B ng 4.

Các tùy ch n c a nó cũng ng như c a cp.6. Đ xóa thư m c thì c n xóa t t c nh ng t p tin có trong nó.82 Làm quen v i h th ng t p tin ext3fs 4. Tuy nhiên có th xóa thư m c không r ng cùng v i t t c nh ng t p tin và thư m c có trong nó.6 Câu l nh rm và rmdir Đ xóa nh ng t p tin và thư m c không c n thi t trên Linux có các câu l nh rm (xóa t p tin) và rmdir (xóa thư m c r ng). 10 . Vì th hãy khi hai l n trư c khi xóa gì đó và đ ng quên tùy ch n -i.odt s không làm vi c. sau đó xóa b n th n thư m c b ng l nh rmdir. trên Linux không có câu l nh ph c h i t p tin sau khi xóa. th m chí c khi v a xóa xong10 . Hơn n a. tùy ch n này có nh ng câu l nh cp. Ch c n đ t vào ch hai tham s tên cũ và tên m i c a t p tin như th này: [user]$ mv tên_cũ tên_m i Nhưng hãy chú ý là câu l nh mv không cho phép đ i tên m t vài t p tin cùng lúc b ng cách s d ng các m u tên. 4.tldp. Các thư m c con không b đ ng t i. t c là di chuy n chúng trong ph m vi c a m t thư m c.6. Khi s d ng l nh mv cũng gi ng như khi s d ng cp. thì hãy dùng tùy ch n -i (r t d nh . do đó không xem xét chúng. Đ xóa c t p tin và thư m c con c a thư m c hi n th i c n dùng tùy ch n -r k trên. Do đó câu l nh: [user]$ mv *. n u s d ng câu l nh rm v i tùy ch n -r. thì s xóa t t c nh ng t p tin có trong thư m c hi n th i. thì có th s d ng câu l nh mv.5 N m t m gi Câu l nh mv u b n không c n sao chép. và sau đó m i xóa t p tin (thư m c) ban đ u. N u mu n câu h i xác nh n s cho phép c a ngư i dùng xu t hi n trư c khi xóa t p tin. Khi này quy n thay đ i chính b n thân các t p tin và thư m c là không c n thi t. N u ch y l nh rm *. mà c n di chuy n t p tin t m t thư m c này vào t thư m c khác. T t nhiên b n có th tham kh o tài li u HOWTO có trên http://www. nhưng chúng ta là nh ng ngư i dùng m i. Đ s d ng nh ng câu l nh này. b n đ c c n có quy n ghi vào thư m c lưu nh ng t p tin ho c thư m c mu n xóa. đ ng quy n thêm vào tùy ch n -i đ hi n ra c nh báo khi có t p tin s b ghi chèn. Câu l nh mv không ch dùng đ di chuy n. Cú pháp c a l nh này tương như cú pháp c a cp. đây là thư m c). Theo tôi nghĩ b t kỳ ngư i dùng Linux nào cũng có th chia s v i b n c m giác b m t t p tin “ngay trư c m t”. Có m t s cách ph h i t p tin đã xóa trên h th ng t p tin cũ ext3fs. l nh này đ u tiên sao chép t p tin (hay thư c). Tuy nhiên c n luôn luôn nh r ng.doc *. N u dùng câu l nh rm (không có tùy ch n) đ xóa thư m c thì s xu t hi n thông báo d ng “cannot remove ‘l4u’: Is a directory” (không th xóa b . mà còn dùng đ thay đ i tên t p tin và thư m c.org này trong trư ng h p kh n c p. mv đã k trên).

và có thêm m t vài s m r ng khác. theo kích thư c. vì có m t dòng cu i cùng dành cho đ hi n th tr ng thái (status)). và cũng không đưa ra danh sách các tùy ch n c a l nh more. Nh n phím <Enter> đ đ c m t dòng ti p theo. Câu l nh (b l c) more đưa n i dung c a t p tin ra màn hình theo t ng trang có kích thư c b ng kích thư c màn hình (nói chính xác thì là g n b ng.6. less có t t c các ch c năng và l nh đi u khi n c a more. Hãy nh l i.6. thì s hi n th đo n văn b n tương ng sao cho dòng tìm th y n m trên cùng. <PgUp>. 4. Câu l nh find có th tìm ki m t p tin theo tên. vì s “l c soát” t t các thư m c k c nh ng h th ng t p tin g n vào. trong đó có th có các thư m c m ng . Cú pháp chung c a câu l nh find có d ng sau: find [danh_sách_thư_m c] tiêu_chí_tìm_ki m Trong đó tham s “danh sách thư m c” xác đ nh nơi tìm ki m t p tin mong mu n. Đ xem trang ti p theo c n nh n vào phím tr ng <Space> (phím dài nh t trên bàn phím hi n nay). <Home>. Ti n ích less là m t trong nh ng chương trình đư c d án GNU phát tri n. nhưng chúng ta s không li t kê đ y đ nh ng phím này đây. <PgDown>) đ di chuy n trong văn b n. cho phép s d ng các phím đi u khi n con tr (<↑>. t c là dùng đ “c ng” các t p tin. Đơn gi n nh t là dùng thư m c g c “/” làm nơi kh i đ u tìm ki m. còn đ xem n i dung c a các t p tin văn b n chúng ta dùng các l nh more và less ho c các trình so n th o khác.6 Các câu l nh cơ b n đ làm vi c v i t p tin và thư m c 83 4. <End>. trong less có th dùng t h p phím <Shift>+<N> đ tìm ki m theo hư ng ngư c l i. T t c các tuỳ ch n c a l nh more b n có th đ c trong trang hư ng d n man (more(1)) ho c info c a nó.4. Bây gi b n đ c ch c n nh phím <Q> dùng đ thoát ra kh i ch đ xem c a more. chúng ta đã nói v đi u này khi nói v h th ng tr giúp man. sau đó nh p vào “string” vào dòng “/” cu i màn hình. tuy nhiên r t ít khi l nh cat đư c s d ng cho m c đích này. N u tìm th y t khóa trong t p tin. Ví d . Đ tìm ki m t khóa “string” (m t c m ký t nào đó) thì đ u tiên c n nh n “/” đ chuy n vào ch đ tìm ki m.8 Câu l nh tìm ki m find và m u tên t p tin Còn có m t câu l nh thư ng dùng đ làm vi c v i t p tin trong Linux đó là câu l nh tìm ki m t p tin find. Nguyên nhân là n i dung c a t p tin l n s ngay l p t c ch y qua màn hình và ngư i dùng ch th y nh ng dòng cu i cùng c a t p tin. n u không thì b n s ph i nh n phím <Space> cho đ n khi h t t p tin (ch ng may n u nó quá dài thì b n s m t r t nhi u th i gian). <↓>. trong đó l nh less cho phép tìm ki m theo hai hư ng: t trên xu ng dư i và ngư c l i. Vì th cat dùng ch y u theo ch c năng chính c a nó. và ch dùng đ hi n th nh ng t p tin có dung lư ng r t nh . Tuy nhiên trong trư ng h p đó tìm ki m có th kéo dài r t lâu. <←>. ví d phím <B> đ quay l i màn hình trư c.7 Câu l nh more và less Câu l nh cat cho phép đưa ra màn hình (đ u ra tiêu chu n) n i dung c a b t kỳ t p tin này. th i gian t o ho c th i gian s a đ i t p tin và theo các tiêu chí khác. N u mu n ti p t c tìm ki m hãy nh n phím <N>. Các l nh more và less cho phép tìm ki m t khóa có trong t p tin đang xem. Ngoài <Space> và <Enter> còn có m t vài phím đi u khi n khác. <→>.

“)”.txt s tương ng v i các tên sau (taptin1. n u dùng m t danh sách nh ng thư m c. “. đây tiêu_chí_tìm_ki m có d ng “–name tên_t p_tin”. thì tìm ki m s b t đ u t thư m c hi n th i và đi sâu vào trong các thư m c con. Ngư i dùng thư ng th c hi n tìm ki m theo tên t p tin như ví d trên. khi đó câu l nh s tìm ki m s tương ng c a tên t p tin đ y đ bao g m c đư ng d n ch ra. Còn *[G-K4-7] tương ng v i nh ng t p tin có tên k t thúc b ng G. Ký t “*” s d ng đ thay th cho b t kỳ dòng ký t nào. chgrp. Ph n đ u này là tham s b t đ u b ng “–”.) ho c cu i cùng.. 4.” ho c “!”.*” tương ng v i t t c nh ng t p tin n (trong đó có thư m c hi n th i “. ch tên c a t p tin ho c thư m c chúng ta s d ng m t “m u tên”. B n đ c có th tìm th y thông tin chi ti t hơn v “m u 11 gi a tên interval . b.txt.*” ch tương ng v i nh ng t p tin và thư m c có d u ch m (. J. Trong ví d này. Ví d [xyz]* tương ng v i t t c nh ng tên t p tin b t đ u b ng a. ch tùy ch n -name có th s d ng tùy ch n -path. K. • “. • “*. nên chúng ta c n chú ý và dành th i gian đ nghiên c u các quy đ nh s d ng và vi t “m u tên”. Và b i vì m u tên t p tin không ch s d ng cho câu l nh find mà còn s d ng cùng v i nhi u câu l nh khác (bao g m c nh ng câu l nh đã nói đ n: chmod. 6. Trong hai d u ngo c này đ t danh sách các ký t (có th d ng kho ng11 ) có th g p. vì th taptin?. đ thay th cho thư m c g c. 7. T t nhiên đây ch đưa ra nh ng thông tin th t ng n g n v “m u tên” t p tin và các ký t thay th . Trong đa s trư ng h p m u tên t p tin đư c t o ra nh các ký t đ c bi t “*” và “?”. “(”. 5.txt. Ngoài “*” và “?” trong Linux còn s d ng các d u ngo c vuông ([]) đ t o “m u tên”. -path ’ . I. taptin9. mà t p tin có th n m trong. Trong Linux: • “*” tương ng v i t t c các t p tin tr nh ng t p tin n. Ký t “?” ch thay th m t ký t b t kỳ. chown. rm. Ví d . N u không ch ra m t thư m c nào.”).84 Làm quen v i h th ng t p tin ext3fs (và chuy n gì x y ra n u t c đ đư ng truy n th p). cat.” và thư m c m “./l*es’ s tìm th y trong thư m c hi n th i thư m c con l4u/images. c. Hãy chú ý là không có kho ng tr ng trong c hai ví d k trên. mv). taptin2. T t c các tham s đ ng trư c tiêu_chí_tìm_ki m đư c coi là tên thư m c c n “l c soát”.txt. Có th làm s kh i lư ng công vi c. câu l nh: [user]$ find . cp. H. Ví d : [user]$ find /usr/bin /sbin /bin /usr/local/bin -name cp Ph n đ u c a tiêu_chí_tìm_ki m xác đ nh xem chương trình find ph i tìm cái gì. • “*a*” tương ng v i May và march. • “a*p” tương ng v i anhchup và anhchep.

4. –type d ng_t p_tin Tìm t p tin d ng ch ra. tên” t p tin trong tài li u IBM LPI tutorial b n d ch ti ng Vi t do nhóm c ng tác c a vnoss.tex -and -name *. t c là có th dùng m t trong hai cách ghi: (-name *. 12 đ trong d u ngo c vì chúng ta bi t r ng trong Linux không có khái ni m ph n m r ng t p tin. Nh ng tiêu chí tìm ki m đơn gi n khác b n có th tìm th y trong trang man c a câu l nh find ho c trong tài li u LPI tutorial nói trên.6 Các câu l nh cơ b n đ làm vi c v i t p tin và thư m c 85 B ng 4.4: Tiêu chí tìm ki m c a câu l nh find. Còn bây gi sau khi đã làm quen v i “m u tên” t p tin. .org/pub. N u sau s có ký t c thì có nghĩa là kích thư c đư c tính theo byte (ký t . Ví d .tex.odt). d (thư m c). D ng t p tin đư c xác đ nh b ng m t trong các ký t sau: b (thi t b kh i).tex -name *. c (thi t b ký t ). Trư c d u ngo c c n đ t m t d u g ch chéo ngư c (\). Tùy ch n Giá tr –name m u_tên Tìm t p tin có tên tương ng v i m u_tên. –newer m u Tìm t p tin đư c thay đ i sau khi thay đ i t p tin có trong m u. ch không ph i theo kh i. còn sau d u ngo c c n đ t m t kho ng tr ng. –mtime s _ngày Tìm t p tin đư c thay đ i l n cu i cùng trư c s _ngày ch ra. M t vài ví d đơn gi n c a tiêu chí tìm ki m có trong b ng 4. –group tên Tìm t p tin thu c v nhóm ch ra. ho c kích thư c t p tin nh hơn 200KB.tex. –size s [c] Tìm t p tin có c b ng s kh i 512 byte (t c là b ng 512B x s ). chúng ta quay tr l i v i câu l nh find và nói chi ti t hơn v nh ng kh năng có th c a tiêu chí tìm ki m.tex -or -name *. Ví d .4.odt). ho c l (liên k t m m). thì coi như dùng and. N u không ch ra phép lôgíc c th . còn phép lôgíc or và các tiêu chí ph c t p hơn thì c n d u ngo c. n u b n mu n tìm t t c nh ng t p tin có “ph n m r ng”12 là . or ho c phép ph đ nh (ký hi u là d u ch m than “!”). Có th s d ng k t h p như v y m t s lư ng b t kỳ các tiêu chí k c tiêu chí ph c t p.odt và . f (t p tin thư ng). N u ch dùng m t phép lôgíc and ho c !. charater). thì có th dùng tiêu chí tìm ki m như sau: (-name *. C n nói r ng t nh ng tiêu chí đơn gi n có th t o ra nh ng tiêu chí ph c t p hơn nh các phép lôgíc and. n u b n đ c mu n tìm thư m c theo tên c a nó thì có th dùng l nh: [user]$ find /usr/share -name man1 -type d ho c dùng tiêu chí ph c t p: [user]$ find /usr/share \( -name man1 -and -type d \) Trong ví d sau chúng ta tìm t p tin theo tiêu chí như sau: ho c tên t p tin có “ph n m r ng” *.odt) ho c (-name *. p ( ng có tên pipe). thì có th b đi d u ngo c.org (trong đó có tôi) th c hi n có trên http://vnoss.

Đương nhiên là chưa ph i t t c nh ng kh năng c a l nh này đư c li t kê ra đây. Hãy tìm hi u trong trang tr giúp man ho c m t cu n sách dày c p nào đó v Linux.9 Câu l nh split Đôi khi chúng ta c n chia m t t p tin l n thành t ng ph n nh .6.2GB. n u b n mu n xóa t t c nh ng t p tin trong thư m c hi n th i mà ngư i dùng không “đ ng” đ n trong vòng 365 ngày ho c lâu hơn. Thao tác này đư c dùng theo m c đ nh. kho ng 1. Nhưng t p tin này không th n m g n trên m t CD (dung lư ng kho ng 700MB). Nói chung câu l nh cmd là m t câu l nh r t m nh. khi đó trư c khi th c hi n câu l nh cmd cho m i t p tin tìm th y h th ng s h i l i xem b n có mu n th c hi n th t không. Và hãy c n th n khi s d ng nh ng kh năng c a câu l nh này như g i nh ng câu l nh khác đ th c hi n trên t t c nh ng t p tin tìm th y.86 Làm quen v i h th ng t p tin ext3fs [user]$ find ~/projects \( \( -name *. Tham s c a l nh này là tên c a t p tin . thì hãy dùng câu l nh sau: [user]$ find . Ví d đơn gi n nh t là thao tác –print. Do đó có th chia t p tin này thành hai ph n m i ph n nh hơn 700MB sau đó s g p chúng l i. M t ví d khác là thao tác -exec cmd {}.) có d u g ch chéo ngư c “\” trư c (chúng ta s hi u rõ hơn tác d ng c a d u g ch chéo ngư c trong chương ngay sau). có ích và là m t công c tìm ki m t t trong h th ng t p tin. -type f -atime +365 -exec rm {} \. Tương t d u “+” có nghĩa là c n tìm t p tin có giá tr c a tham s l n hơn s đưa ra. Trong đó cmd là m t câu l nh b t kỳ nào đó c a h v shell. Và b n mu n sao chép t p tin này qua m t máy khác nhưng l i không có m t k t n i m ng. ch -exec có th dùng -ok. Câu l nh split cho phép sao chép t p tin b ng cách chia chúng ra thành t ng ph n nh theo kích thư c đã đ nh. N u không có d u “+” và d u “–” thì tìm t p tin có giá tr c a tham s b ng s đưa ra. [user]$ find ~/projects -name *. Đ k t thúc ph n v câu l nh find này. L y ví d b n có m t t p tin phim d ng mpg l n. Ví d .tex -print dùng đ đưa ra màn hình danh sách tên c a t t c nh ng t p tin tìm th y cùng v i đư ng d n đ y đ đ n t p tin. t c là luôn luôn đư c dùng khi không ch ra thao tác nào như trong các ví d trư c đây. Có nghĩa r ng c n tìm t p tin có giá tr c a tham s nh hơn s đưa ra. D u này có th s d ng v i b t kỳ tham s có giá tr s nào trong tiêu chí tìm ki m c a câu l nh find. Đ làm đư c vi c này chúng ta có th s d ng l nh split.tex \) -or \( -size -200 \) \) Trong ví d cu i cùng này hãy chú ý r ng trư c giá tr kích thư c t p tin có d u “–”. 4. Sau cmd {} là d u ch m ph y (. Hãy nh r ng s thay đ i thư ng là m t chi u. c n nói thêm r ng sau tiêu chí tìm ki m có th đưa ra ngay thao tác x lý t t c nh ng t p tin tìm th y. Trong trư ng h p này s th c hi n câu l nh cmd đ i v i t t c nh ng t p tin tìm th y. Và cũng không có ghi DVD mà ch có ghi CD.

v. Ví d : teppi82@ThinhQuyen:~> diff ChangeLog ChangeLog2 1c1 < 11 tháng 09 năm 2006. phiên b n 0.mpg Sau đó có th xóa đi các t p tin phimaa. Ngoài các tham s có th thêm vào tùy ch n -b đ xác đ nh kích thư c c a các t p tin t o ra (tính theo byte). ‘xac’. thì theo m c đ nh s d ng ‘x’. Đ gi i quy t bài toán đã đưa lúc đ u thì c n ch y l nh: [user]$ split -b 650m phim. r i sau đó quên luôn là t p tin nào m i hơn ho c t t hơn. phimab) lên hai đĩa CD-R(W). ‘xad’ v. Chúng ta có th chuy n hư ng báo cáo này vào m t t p tin: .6.3 --> 18 tháng 09 năm 2006. ‘ab’.6 Các câu l nh cơ b n đ làm vi c v i t p tin và thư m c 87 ban đ u và ph n đ u (prefix) tên c a các t p tin s t o ra. L nh này ch so sánh n i dung c a hai t p tin theo t ng byte: [user]$ cmp t p_tin1 t p_tin2 N u hai t p tin hoàn toàn trùng nhau. . t c là s thu đư c các t p tin ‘xaa’. v. phiên b n 0. ‘xab’.3 Thông báo v s khác nhau s hi n th trên màn hình (đ u ra tiêu chu n). Công c đơn gi n nh t trong s này là l nh cmp (compare). T t nhiên thông tin mà l nh cmp đưa ra hơi ít đ có th quy t đ nh ch n t p tin nào trong s hai t p tin này. (không có kho ng tr ng và các d u ch m gi a ph n đ u và nh ng ch cái này).9. . . còn n u chúng khác nhau thì đưa ra s th t c a dòng và byte ch có s khác nhau. r i đưa chúng (có nghĩa là dùng l nh cp) lên máy th hai vào m t thư m c nào đó.v. Là vì có th sao chép t p tin m t cách d dàng. Cu i cùng ph c h i t p tin ban đ u b ng l nh: [user]$ cat phim* > phim.mpg phim Sau đó dùng chương trình ghi đĩa sao chép hai t p tin thu đư c (phimaa. Vì th nh ng công c dùng đ so sánh t p tin là c n thi t và t t nhiên là có trong Linux. N u không đưa ra tùy ch n này thì theo m c đ nh kích thư c c a t p tin thu đư c b ng 1MB.4. ‘ac’. Các t p tin thu đư c s có tên g m ph n đ u (prefix) này và hai ch thêm vào đ chúng không trùng nhau: ‘aa’. ‘ad’. t p tin nào quan tr ng hơn. 4. Sau -b là m t s và sau đó là m t ch cái: k (kích thư c tính theo KB) ho c m (tính theo MB). N u không đưa ra ph n đ u.10 So sánh các t p tin và l nh patch Có th b n không đ ý nhưng khi làm vi c v i máy tính công vi c so sánh n i dung c a hai t p tin khác nhau g p m t cách thư ng xuyên. Ch c n cho câu l nh này bi t tên hai t p tin mà b n mu n so sánh.9. thì l nh hoàn thành công vi c mà không đưa ra thông báo gì. Vì th còn có th s d ng câu l nh diff đ bi t đư c s khác nhau gi a hai t p tin đây là gì. phimab. .

diff teppi@ThinhQuyen:~> more ChangeLog.2.88 Làm quen v i h th ng t p tin ext3fs teppi@ThinhQuyen:~> diff ChangeLog ChangeLog2 > ChangeLog. Còn có câu l nh diff3 cho phép so sánh 3 t p tin m t lúc.8. phiên b n 0. M i nhà phát tri n s đóng góp đo n mã c a mình b ng chính cách này. Trong trư ng h p chương trình ng d ng l n thì s ti t ki m này là đánh k .diff.9. thì chúng s cách nhau b i m t d u g ch th ng đ ng “|”.diff Như v y t t nhiên là kích thư c c a t p tin xvnkb. Sau đó nhà phát tri n s a các l i và c p nh t chương trình r i lưu mã ngu n trong m t t p tin khác xvnkb-0. s ti t ki m đư c dung lư ng truy n t i qua m ng Internet n u ch g i xvnkb.9.2.7 Các câu l nh lưu tr và nén t p tin Khi s d ng Linux r t có th b n s ít làm vi c v i ph n l n các l nh h v shell. phân cách nhau b i các kho ng tr ng.diff.diff > xvnkb-0. Mà s phát tri n c a ng d ng mã m m i là đi m chính.8. t c là k t qu báo cáo t o ra b ng l nh: [chuoi]$ diff xvnkb-0.2.9. Bây gi c n đưa nh ng thay đ i đã làm đ n cho ngư i dùng. Nhưng thư ng s d ng nh t trên các h th ng UNIX và Linux v n là câu l nh diff.2. Có th d dàng hi u đi u này n u bi t r ng k t qu báo cáo c a diff v s khác nhau gi a hai t p tin có th s d ng cho câu l nh patch. Tuy nhiên sau khi nh n đư c t p tin *.diff 1c1 < 11 tháng 09 năm 2006.9.c.c xvnkb. Chúng ta nh r ng m t ng d ng mã m đư c phát tri n b i c m t nhóm các nhà phát tri n và c ng đ ng.c.3 Đ đánh giá phiên b n c a m t t p tin thì thu n ti n hơn n u s d ng câu l nh sdiff.9.c > xvnkb.c.8.8.2.c.diff s nh hơn nhi u so v i xvnkb-0. Bài toán này là do patch gi i quy t.9.9. n u không có trong t p tin th hai – m t ký t “>”.2. L y ví d đơn gi n (“m t cách ngu ng c”).2.c.c xvnkb-0.3 --> 18 tháng 09 năm 2006. Tuy nhiên ti t ki m cho ngư i dùng không ph i là ng d ng chính. vì đã có nh ng chương trình ti n ích như Midnight Commander và các .c. N u m t dòng nào đó ch có trong t p tin th nh t thì nó đư c đánh d u b ng m t ký t “<”. N u hai c t có cùng s th t khác nhau. T t nhiên là ch c n g i cho ngư i dùng nh ng thay đ i. 4.c.2. K t qu so sánh khi này s hi n th d ng hai c t. Đã có xvnkb-0.2.diff thì c n ph i đưa nh ng s a đ i đã làm vào phiên b n hi n th i. phiên b n 0.c. m t chương trình ng d ng nào đó đư c đưa cho ngư i dùng d ng t p tin xvnkb-0. có ch a mã ngu n c a chương trình này trên ngôn ng C.c s thu đư c t p tin xvnkb-0. Thông thư ng kh năng này đư c dùng khi phân ph i b n c p nh t c a chương trình ng d ng. ch c n ch y l nh: [user]$ patch xvnkb-0.c và xvnkb.

lha. N u b n làm vi c v i các t p tin kho trên đĩa ch không ph i v i băng ghi (đây là đa s trư ng h p s d ng máy tính cá nhân). và s th y đây không ph i là m t y u đi m c a Linux mà còn là đi m m nh n u bi t cách k t h p “nh p nhàng” hai chương trình này. -r. . t c là chương trình này không nén các d li u mà ch k t h p chúng vào m t t p tin chung sau đó ghi t p tin này lên cách băng nh (tape) thư ng dùng đ lưu tr thông tin. --list Đưa ra danh sách các t p tin trong kho.4. --append Thêm t p tin vào cu i kho. rar v. -c. -x. GNOME. . Và các ti n ích và môi trư ng đó giúp b n làm vi c d dàng v i các t p tin nén s nói t i. --catenate. Chương trình tar có 8 tùy ch n khác v i nh ng tùy ch n còn l i ch khi ch y l nh tar thì c n ph i đưa ra m t trong s 8 tùy ch n này.5). Chúng ta s tìm th y câu tr l i cho câu h i này sau khi đ c xong hai ph n t i đây. --extract.v. Vì th bi t cách làm vi c v i tar và gzip đó là danh d c a b t kỳ ngư i dùng Linux nào. Nhưng là ngư i dùng Linux th c s b n cũng nên bi t nh ng câu l nh nén và gi i nén làm vi c trong h v shell. 4. --create T o kho m i. --get L y t p tin ra kh i kho (“gi i phóng”). --concatenate Thêm t p tin vào kho đã có. M c dù không ai c m b n s d ng các chương trình arj. thì c n s d ng l nh tar v i tùy ch n f. N u mu n t o t p tin này trên đĩa c ng. Phương ti n chính đ làm vi c v i các t p tin nén trong UNIX và Linux là hai chương trình tar và gzip. B ng 4.7 Các câu l nh lưu tr và nén t p tin 89 môi trư ng giao di n đ ho như KDE. --diff. Tên chương trình tar có nghĩa là tape archiver.1 Chương trình tar Nh ng ngư i dùng đã quen v i nh ng chương trình nén d ng winzip (đưa t t c t p tin vào m t “kho” r i sau đó nén chúng) thì có th s h i “T i sao l i c n hai chương trình?”. cũng gi ng như samurai ph i bi t s d ng ki m v y.5: Nh ng tùy ch n chính c a tar Tùy ch n Ý nghĩa -A. pkzip. --compare Tìm s khác nhau gi a các t p tin trong kho và trên h th ng t p tin (so sánh). sau đó ch ra tên t p tin. Nhưng truy n th ng c a Unix đó là tar và gzip và ph n l n mã ngu n (và không ch mã ngu n) c a các chương trình ng d ng đư c phân ph i d ng này. --update Ch thêm nh ng t p tin m i hơn b n sao trong kho (c p nh t kho). thì nh t đ nh ph i dùng .7. --delete Xóa t p tin kh i kho (không dùng cho băng ghi). -d. Tám tùy ch n này xác đ nh các ch c năng chính c a chương trình (xem b ng 4. -u. -t. Chúng s giúp b n làm vi c nhanh hơn v i nh ng t p tin nén thư ng g p trong Internet.

. Nh vào tính năng này có th lưu vào kho ngay l p t c nhi u t p tin b ng m t câu l nh r t ng n. . N u ch y l nh sau: [user]$ tar cvf tên_kho .tar trong thư m c hi n th i. bao g m c các ký t thay th đơn gi n như “*” và “?”. ho c “lưu toàn b c u trúc thư m c”)./. c n dùng l nh: [user]$ tar xvf tên_kho Hi n th danh sách các t p tin trong kho b ng l nh: . còn tuỳ ch n f cho bi t là kho này ph i đư c t o d ng t p tin có tên tên_kho phía sau tùy ch n. Chúng ta s th y ví d t i đây. Nh ng tùy ch n khác (tr 8 tùy ch n b t bu c k trên) là không c n thi t. thì ch c n g i l nh: [user]$ tar cf projects. mà còn lưu nh ng t p tin c a thư m c m . Trong t p tin kho c u trúc thư m c c a projects v n đư c gi nguyên. . đ t o ra kho ch a t t c các t p tin c a m t thư m c con c a thư m c hi n th i. Đ t o m t kho t p tin tar t vài t p tin c n s d ng m t trong hai l nh sau: [user]$ tar -cf tên_kho t p_tin1 t p_tin2 [user]$ tar cf tên_kho t p_tin1 t p_tin2 trong đó tùy ch n c (t bây gi tôi s b đi d u g ch ngang “–” phía trư c tuỳ ch n) cho bi t chương trình c n t o ra (create) kho t p tin. mà ch cho bi t m t s dòng l nh c n thi t nh t đ làm vi c v i các kho t p tin. Ví d . nh ng thư m c con còn l i c a projects s không đư c lưu. Có th li t kê các tuỳ ch n m t ch cái (c. Bây gi b n đ c đã bi t cách t o kho t p tin. chúng ch dùng đ thêm vào các ch c năng ph c th nào đó.* thì không ch lưu t t c các t p tin và thư m c con c a thư m c hi n th i. C n chú ý là trong ví d trên n u ch “*” đ t “*.90 Làm quen v i h th ng t p tin ext3fs tùy ch n f. Trong ph n tên t p tin mu n lưu vào kho có th s d ng các “m u tên”. tùy ch n v b t bu c chương trình ph i đưa ra danh sách các t p tin đưa vào kho. ) li n nhau và d u g ch ngang (–) phía trư c có th dùng nhưng không nh t thi t ph i có. gi s projects.tar projects Câu l nh này s t o ra kho projects. Như v y s có ích hơn trong th i gian này.*” thì s ch lưu nh ng t p tin n m tr c ti p trong thư m c projects và nh ng thư m c con có d u ch m trong tên (ít g p). f. Ví d .tar projects/* ho c th m chí còn đơn gi n hơn: [user]$ tar cf projects. Tôi s không đưa ra mô t t t c các tùy ch n c a l nh tar. Kho này không ch lưu t t c nh ng t p tin có trong thư m c projects mà còn lưu t t c nh ng thư m c con c a nó cùng v i t t c nh ng t p tin n m trong chúng (chúng ta dùng thu t ng “lưu đ quy”. Đ l y (gi i phóng) t t c t p tin ra kh i kho. Cũng trong ví d này n u không ch ra tên thư m c thì s lưu t t c các t p tin và thư m c con c a thư m c hi n th i.

. t o m t t p tin kho ch a: [user]$ tar cvf tên_kho thư_m c r i sao chép t p tin tên_kho lên m t thi t b lưu tháo r i ho c thư m c trên m ng nào đó (CD. flash. Trư ng h p đơn gi n nh t c a l nh này trông như sau: [user]$ gzip tên_t p_tin Trên dòng l nh có th đưa ra cùng lúc vài tên ho c “m u tên” t p tin. ch không t o m t t p tin chung. ftp. Ph c h i l i b ng l nh: [user]$ tar xpvf tên_kho N u có khó khăn khi s d ng l nh tar. ). Đ gi i nén t p tin hãy dùng m t trong hai câu l nh sau: [user]$ gzip -d tên_t p_tin ho c [user]$ gunzip tên_t p_tin . nó không nén kho này l i mà ch k t h p các t p tin riêng r vào m t t p tin chung.7 Các câu l nh lưu tr và nén t p tin 91 [user]$ tar tvf tên_kho | less Gi i phóng m t t p tin nào đó b ng: [user]$ tar xvf tên_kho tên_t p_tin Chương trình tar là phương ti n thu n l i đ t o các b n sao lưu tr (sao lưu) c a t p tin. nhưng như đã nói trên. DVD. Đ nén t p tin này l i thư ng s d ng câu l nh gzip. nhưng c khi b n đ c không bi t nh ng ti n ích này.4. . hãy đ c tr giúp man c a nó ho c đ c nh ng thông tin hi n ra khi ch y tar v i tùy ch n --help 4. . T t nhiên còn có nh ng ti n ích sao lưu chuyên dùng khác.2 Chương trình gzip M c dù chương trình tar t o ra kho t p tin. Nhưng khi này m i t p tin s đư c nén riêng r .7. thì v n có th sao lưu d li u quý báu c a mình lên đĩa m m b ng: [user]$ tar Mcvf /dev/fd0 thư_m c r i ph c h i thư m c b ng l nh: [user]$ tar Mxpvf /dev/fd0 Ho c đơn gi n hơn.

--test Th (ki m tra) tính nguyên v n c a t p tin nén. 4. ch còn l i t p tin đã nén. Còn khi gi i nén thì t p tin nén s b xóa. ch còn l i t p tin bình thư ng. Kích thư c t p tin thu đư c nh hơn nhưng t t nhiên là s lâu hơn.6: Nh ng tùy ch n chính c a chương trình gzip Tùy ch n Ý nghĩa -h. -1. đưa vào” m t kho. –S . -q. -L.3 Chương trình bzip2 Trong th i gian g n đây ngư i dùng Linux thư ng s d ng thêm m t chương trình nén n a đ thay th cho gzip – chương trình bzip2. —-suffix Thêm ph n sau (suffix) vào tên t p tin nén. --quiet B đi nh ng c nh báo. Các b n phân ph i Linux m i đã có cài đ t s n chương trình này. Chú ý: n u s d ng ph n sau khác “gz” thì khi gi i nén chương trình s đưa ra thông báo l i d ng “unknown suffix – ignored” (ph n sau không bi t – l đi).suf. -l. --help Hi n th tr giúp ng n g n v cách s d ng chương trình. -t. Theo . -r. Chương trình này nén m nh hơn (có m c đ nén cao hơn. --name Lưu ho c ph c h i tên ban đ u và th i gian t o t p tin. --version Hi n th phiên b n c a chương trình. Bây gi chúng ta s li t kê m t vài tùy ch n có ích c a chương trình gzip vào b ng 4.7. Chúng ta s xem xét v n đ này ngay sau. --list Đưa ra tên t p tin n m trong t p tin nén. B i vì chương trình gzip không có kh năng lưu nhi u t p tin vào trong m t t p tin.92 Làm quen v i h th ng t p tin ext3fs B ng 4. --verbose Đưa ra các thông báo ph trong khi làm vi c. S d ng trong trư ng h p có đưa ra “m u tên” t p tin. kích thư c c a nó và m c đ nén (tính theo %). . --best M c đ nén m nh hơn. --license Hi n th s phiên b n và b n quy n c a chương trình. Chúng ta có c m giác như t p tin đư c “đưa ra. -v. t o ra các t p tin nh hơn) và làm vi c nhanh hơn. Nhưng đó là nh ng t p tin hoàn toàn khác nhau! Hãy s d ng l nh ls -i đ ki m tra ch s inode c a chúng. -9. T p tin ban đ u sau khi nén s b xóa. --fast Nén nhanh (m c đ nén th p). Hơn n a còn có th s d ng “k t h p” hai chương trình này. -N. -n. --recursive Nén toàn b (đ quy) thư m c.suf m c đ nh s d ng ph n sau là gz. nên thư ng dùng gzip đ nén nh ng kho t p tin do tar t o ra. --no-name Không lưu ho c không ph c h i tên ban đ u và th i gian t o t p tin. -V.6.

bz2 2. Trong m t s trư ng h p t p tin nén có th còn l n hơn theo kích thư c so v i t p tin ban đ u.5%. Khi gi i nén bzip2 s đoán tên c a t p tin s t o ra theo quy lu t sau: • tên_t p_tin. ví d xvnkb-0. vì cơ ch nén s d ng ph n đ u (head) có kích thư c 50 byte. Do đó có kh năng ph c h i nh ng tính ch t này c a t p tin khi gi i nén. 4.7 Các câu l nh lưu tr và nén t p tin 93 Chương trình bzip2 làm vi c tương t như gzip.out Các tuỳ ch n c a bzip2 r t gi ng v i tùy ch n c a gzip nhưng không ph i t t c .sj.4 S d ng k t h p tar v i gzip và bzip2 T t nhiên không ai ngăn c n b n s d ng riêng r các câu l nh tar v i gzip và bzip2. hay gi i nén m t t p tin. quy n truy c p và có th c ch s h u như t p tin ban đ u. nhưng thêm vào ph n cu i là .tbz2 thay th b ng tên_t p_tin.7. dù tham s có m t d u g ch ngang đ u. Đi u này có th x y ra đ i v i nh ng t p tin có kích thư c nh hơn 100 byte.4. Tôi s đưa ra m t danh sách ng n nh ng tùy ch n c n thi t nh t trong b ng 4. thì kích thư c c a t p tin tăng lên kho ng 0. Ví d : teppi82@ThinhQuyen:~> bzip2 2 teppi82@ThinhQuyen:~> mv 2. T p tin nén có th i gian s a đ i.tar • tên_t p_tin.sj -. trong đó có các t p tin nén. Hãy tư ng tư ng b n nh n đư c m t t p tin.out.bz2 thay th b ng tên_t p_tin • tên_t p_tin.tar • tên_t p_tin khác thay th b ng tên_t p_tin.2. t c là thay th m i t p tin đưa vào dòng l nh b ng phiên b n đã nén c a t p tin đó.gz.tbz thay th b ng tên_t p_tin. Câu l nh bunzip2 ho c bzip2 –d gi i nén t p tin ch ra.sj teppi82@ThinhQuyen:~> bunzip2 2.bz thay th b ng tên_t p_tin • tên_t p_tin.tar.9.using 2. Tham s đ ng sau hai d u g ch ngang (--) và m t kho ng tr ng đư c coi là tên t p tin. Đ gi i nén t p tin này thông thư ng b n c n dùng hai câu l nh sau ti p n i nhau: . Nh ng t p tin g m m t chu i ng u nhiên (random) c a các ký t . N u t p tin này không ph i do bzip2 t o ra thì chương trình s không gi i nén mà đưa ra l i c nh báo.7.-tên_t p_tin Bây gi đã đ n lúc chúng ta h c cách k t h p tar v i hai câu l nh gzip và bzip2 đ làm vi c nhanh và có hi u qu hơn.bz2. Ví d : [user]$ bzip2 -.sj bunzip2: Can’t guess original name for 2. nhưng s nhanh hơn n u chúng ta ch c n s d ng m t câu l nh đ có th t o ra m t t p tin nén.

Tùy ch n -d b đi cơ ch này và b t bu c chương trình ph i gi i nén t p tin đã ch ra. -t. --test Th (ki m tra) tính nguyên v n c a t p tin nén.9.tar.94 Làm quen v i h th ng t p tin ext3fs B ng 4.2. --small Gi m yêu c u đ i v i dung lư ng b nh c n s d ng b ng cách gi m t c đ nén. Ch nên dùng tùy ch n này trên nh ng máy tính cũ có ít b nh (8MB ho c ít hơn). ngư i dùng không c n ph i gõ thêm m t l nh xoá t p tin. -q.gz [user]$ tar xvf xvnkb-0. M i chương trình tuỳ theo “ph n m r ng” t p tin mà quy t đ nh xem s làm gì v i t p tin đó. --verbose Đưa ra các thông báo ph trong khi làm vi c (ch có ý nghĩa chu n đoán). N u mu n ghi chèn thì hãy dùng tùy ch n này. --force Ghi chèn lên t p tin đã có. --quiet B đi nh ng c nh báo ít ý nghĩa. –V.tar.2.tar Nhưng trong s nh ng tùy ch n c a chương trình tar còn có m t tuỳ ch n đ c bi t z cho phép gi i nén t p tin b ng chương trình gzip (th c hi n vai trò c a l nh th nh t trong hai l nh k trên). –L.9.tar). Tùy ch n này c n thi t vì trên th c t bzip2.7: Nh ng tùy ch n chính c a chương trình bzip2 Tùy ch n Ý nghĩa -d.tar. —-version Gi ng như --L. Theo m c đ nh bzip2 không ghi chèn lên t p tin đã có trên đĩa.2.gz K t qu thu đư c là hoàn toàn như trên tr m t đi m: trong trư ng h p dùng 2 câu l nh thì trên đĩa s gi l i t p tin trung gian (xvnkb-0.9. bunzip2 và bzcat ch là m t chương trình.gz. Như v y cách th hai còn có m t ưu đi m n a là không gi l i các t p tin trung gian.gz thư_m c C n chú ý r ng trong trư ng h p này chương trình s không t đ ng thêm ph n đuôi . -f. .gz vào tên c a t p tin thu đư c. -s.9.tar. —-license Hi n th s phiên b n và b n quy n c a chương trình. [user]$ gzip -d xvnkb-0. Vi c t o t p tin b ng cách s d ng k t h p tar và gz cũng đư c th c hi n b ng tùy ch n z: [user]$ tar czvf tên_t p_tin.2. -z. Đ gi i nén t p tin k trên ch c n dùng m t câu l nh như sau: [user]$ tar xzvf xvnkb-0. --decompress B t bu c gi i nén t p tin. --keep Gi gìn (không xóa) t p tin ban đ u khi nén ho c gi i nén. Có l chúng ta không bao gi c n đ n tùy ch n này ho c ít nh t là hy v ng như v y. -v. Do đó c n đ t tên rõ ràng cho nó cùng v i ph n đuôi . --compress B t bu c nén t p tin (xem trên). -k.

tar. Khi chúng ta có m t đĩa lưu m i. nh t là đ i v i nh ng đĩa m i s n xu t g n đây có dung lư ng l n t vài ch c đ n vài trăm GB. nh ng đĩa không b chia có th coi là m t phân vùng.8 T o và g n các h th ng t p tin Trong nh ng ph n trư c chúng ta đã đ c p ng n g n m t s câu l nh chính đ làm vi c v i nh ng h th ng t p tin đã đ nh d ng s n. Và đ ng quên ch t o ra các t p tin nén b ng tar.rar thì cũng đ ng v i ch y sang nh m t máy s d ng Windows đ gi i nén. B n có th th các chương trình unzip và unrar có trên h th ng Linux c a mình. Tôi ch c ch n là b n s t gi i quy t đư c v n đ . Còn m t đi m n a cũng c n nói đ n là Linux có th làm vi c v i nhi u d ng h th ng t p tin khác nhau. Cây thư m c c a Linux đư c t o ra t nh ng “cành” riêng r tương ng v i các đĩa khác nhau. Vì th ti p theo chúng ta s nói v t o h th ng t p tin trên m t phân vùng.bz2 thư_m c Tôi nghĩ r ng nh ng thông tin k trên đã đ đ làm vi c m t cách có hi u qu v i các chương trình nén tar. mount). Nói như v y vì trong UNIX (và Linux) không có khái ni m “đ nh d ng đĩa” mà s d ng khái ni m “t o h th ng t p tin”. Nhưng h th ng t p tin g c c a nó là “h th ng t p tin m r ng” (extfs) phiên b n 2 và 3. ch c n đưa vào dòng l nh tên c a t p tin. tôi mu n nói thêm r ng. nhưng c n dùng tùy ch n j c a tar đ thay cho tuỳ ch n z. xác đ nh quy n truy c p. N u có gì khó khăn hãy th “unzip –help” ho c “unrar –help”. Như v y là có th nói g n h th ng t p tin ho c g n đĩa lưu cùng v i các h th ng t p tin có trên nó.4. đ ng th i tăng hi u su t làm vi c và làm gi m kh năng m t thông tin do chương trình gây ra. Ngoài hai h th ng t p tin này Linux còn có th làm vi c v i các “phiên b n” khác nhau c a h th ng t p tin FAT (FAT16 và FAT32). Vi c t o nh ng phân vùng như v y giúp th c hi n d dàng các thao tác như: sao lưu.tar. n u “không may” b n nh n đư c m t t p tin d ng *. T c là. Bây gi chúng ta s d ng l i v n đ làm sao đ t o ra h th ng t p tin và cách thay đ i nó. gzip ho c bzip2 vì b n là ngư i dùng Linux! 4. Đ có th s d ng h th ng t p tin này đ ghi các t p tin.zip hay *. h th ng t p tin ISO9660 s d ng đ ghi thông tin trên CD-ROM và . Cách s d ng nh ng l nh này h t s c đơn gi n. Còn c n ph i nói thêm r ng thông thư ng đĩa c ng đư c chia thành các phân vùng. ví d đĩa c ng. thì đ u tiên c n k t n i nó và cây thư m c chung (chúng ta s d ng thu t ng “g n”. chúng ta c n t o trên đĩa này h th ng t p tin.8 T o và g n các h th ng t p tin 95 S d ng k t h p tar và bzip2 là hoàn toàn tương t . Đ k t thúc ph n v nh ng chương trình làm vi c v i t p tin nén này.bz2 và t o t p tin nén b ng: [user]$ tar cjvf tên_t p_tin. T c là m i đĩa đư c đ t tương ng v i h th ng t p tin riêng. Đ có thêm thông tin hãy tìm hi u trang tr giúp man ho c các tài li u HOWTO tương ng. gzip và bzip2. Thư ng nói là cây thư m c đư c t o thành t các h th ng t p tin riêng. gi i nén t p tin b ng l nh: [user]$ tar xjvf tên_t p_tin.

C n ph i có thư m c /mnt/diaC trong cây thư m c. T c là khi t o và g n các h th ng t p tin c n luôn luôn nh r ng d ng h th ng t p tin trên các đĩa lưu khác nhau có th không gi ng nhau. Đ b t đ u làm vi c v i h th ng t p tin m i. s t o ra h th ng t p tin d ng ext3fs trong phân vùng ch ra. Trên các b n phân ph i Linux m i còn có th s d ng các câu l nh mkfs. Đ t o ra nh ng đĩa m m có th đ c trên DOS và Windows c n dùng tùy ch n -t v i giá tr vfat ho c nh ng ti n ích đ c bi t khác. câu l nh: [root]# mount /dev/hda10 /mnt/diaC s g n h th ng t p tin c a phân vùng /dev/hda10 vào thư m c /mnt/diaC. N u không đưa ra tùy ch n -t thì s dùng d ng h th ng t p tin m c đ nh (hi n nay là phiên b n cũ c a ext – ext2fs). C n chú ý là sau khi g n h th ng t p tin vào thư m c /mnt/diaC. b xóa. Trong trư ng h p đơn gi n nh t ch c n ch y l nh sau: [root]# mkfs -t ext3 /dev/hda2 T t nhiên là c n thay th /dev/hda2 b ng tên c a phân vùng trên máy c a b n. m t b ng các mô t inode. Thư m c này đư c chương trình fsck dùng trong nh ng trư ng h p kh n c p.ext2.96 Làm quen v i h th ng t p tin ext3fs các h th ng t p tin khác (k c NTFS13 ). Hãy c n th n khi vi t tên phân vùng. n u ghi nh m b n s b m t d li u. Th c hi n t t c nh ng vi c này b ng l nh mkfs14 . N i dung này s ch “quay tr l i” khi ngư i dùng b g n (unmount) h th ng t p tin ra kh i thư m c. T o h th ng t p tin d ng ext3fs có nghĩa là t o trên phân vùng này c a đĩa m t siêu kh i (superblock). mà ch t m th i b gi u đi. Đ u tiên chúng ta s xem xét trư ng h p c n t o h th ng t p tin trên m t phân vùng nào đó (đã có) c a đĩa. N u b n mu n t o h th ng t p tin trên đĩa m m thì c n ch y: [root]# mkfs -t ext3 /dev/fd0 Có th nói r ng chúng ta đã “đ nh d ng đĩa m m”. Ví d . N i dung cũ c a thư m c không b hu . thì ngư i dùng không còn truy c p đư c t i n i dung (bao g m c thông tin v ch s h u cũ và quy n truy c p t i chính b n thân thư m c) c a thư m c này n a.ext3 và các câu l nh tương t . nhưng c n bi t là v i h th ng t p tin ext3fs thì b n không đ c đư c đĩa m m này trên DOS ho c Windows (n u không dùng chương trình ho c driver đ c bi t). N u chưa có hãy t o ra b ng l nh mkdir. 14 13 . đ u tiên c n k t n i (g n) nó vào cây thư m c chung b ng l nh mount. tên phân vùng) và đi m g n (mount point). và dùng làm “thư m c g c” đ i v i h th ng t p tin g n vào (gi ng như nút n i gi a thân cây và cành cây). Ph i có ít nh t hai tham s cho câu l nh mount: thi t b (device. vì v y đ ng xóa nó. Vì th t t nh t là dùng các thư m c r ng đã chu n b s n t trư c đ S h tr đ c đã t t. Sau khi th c hi n câu l nh mkfs. mkfs. Trong h th ng t p tin m i s t đ ng t o ra m t thư m c v i tên lostfound+. Đi m g n là m t thư m c đã có trong cây thư m c. Ví d h th ng t p tin có d ng ext3fs. N u dùng chúng thì ch c n b đi ph n -t ext3 ho c -t ext2. tuy nhiên s h tr ghi lên NTFS chưa th t hoàn h o. và các kh i d li u.

M i dòng c a t p tin này ch a thông tin v m t h th ng t p tin và g m 6 vùng phân cách nhau b i các kho ng tr ng15 : • Tên thi t b (phân vùng). • Đi m g n. umsdos. D ng đơn gi n nh t trong ví d trên c a l nh mount ch làm vi c v i đi u ki n t t c nh ng tham s còn thi u có th tìm th y trong t p tin /etc/fstab. Kh năng này có ích trong trư ng h p s d ng câu l nh mount v i tham s -a (câu l nh mount v i tham s -a s g n t t c các h th ng t p tin li t kê trong t p tin /etc/fstab). msdos. hãy xem b ng 4. T p tin c u hình /etc/fstab ch y u dùng đ g n t đ ng các h th ng t p tin trong quá trình kh i đ ng Linux. sysv.). Hi n nay Linux h tr các h th ng t p tin sau: minix.1). ext2. smb. proc. ncpfs16 . N u b ng nhau thì s ki m tra song song (t t nhiên n u có th ). nfs. ext3. Vùng này đư c chương trình sao lưu dump s d ng. xia. như sau: [root]# mount -t d ng_httt thi t_b đư ng_d n trong đó d ng_httt xác đ nh d ng h th ng t p tin trên thi t_b (phân vùng). cũng như tên c a h th ng t p tin m ng NFS (ví d ThinhQuyen:/home/nhimlui – thư m c /home/nhimlui trên máy có tên ThinhQuyen).4. N u h th ng t p tin c n đư c sao lưu thì đây ph i có s 1. Ví d . Tên đ y đ bao g m c đư ng d n c a thư m c s g n t p tin vào. n u không – s 0. Trong trư ng h p đó câu l nh mount th t xác đ nh d ng c a h th ng t p tin đang g n. ch d ng h th ng t p tin trong vùng “d ng h th ng t p tin” và sau tùy ch n -t c a l nh mount có th đ t giá tr auto.8 T o và g n các h th ng t p tin 97 làm “đi m g n” (vì th mà trong tiêu chu n FHS có đ c p đ n thư m c /mnt. • D ng h th ng t p tin. hãy xem trang man c a dump. ext. • M c đ dump. H th ng t p tin v i giá tr nh hơn s đư c ki m tra trư c. Tuy nhiên trong m t s trư ng h p có th d n đ n l i. câu l nh: 15 16 Đ ti n đ c các vùng thư ng s p cho th ng hàng. còn đư ng_d n xác đ nh đi m g n. iso9660. Trong câu l nh mount còn có th đưa ra danh sách các d ng h th ng t p tin không c n g n b ng c (flag) no. . Hãy xem trang man fs đ đ c mô t ng n g n v nh ng h th ng t p tin này. • Các tuỳ ch n g n. Còn có th li t kê m t s d ng phân cách nhau b i d u ph y (. N u không có t p tin đó (ch khi nào b n c tình ho c vô tình xóa) ho c trong t p tin không có nh ng d li u c n thi t. Có th s d ng tên thi t b có trên máy (ví d /dev/hda10). vfat. Theo m c đ nh là rw (đ c và ghi). thì c n s d ng d ng đ y đ c a l nh mount. Có th có các giá tr khác. nhưng đi u đó là không nh t thi t. hpfs. • Th t ưu tiên ki m tra h th ng t p tin b ng câu l nh fsck. nên t t hơn h t là ch ra d ng m t cách chính xác.

T c là h th ng t p tin không đư c b n.v. Thao tác này đư c th c hi n b ng câu l nh umount (không ph i unmount!). Ví d . C n nói r ng n u so v i Windows thì làm vi c v i các đĩa r i (đĩa m m. N u mu n g n m t h th ng t p tin nào đó và ch cho phép đ c thì c n ch ra tùy ch n r (read only) trên dòng tương ng c a t p tin /etc/fstab (theo m c đ nh s d ng rw.user. thì ch c n đưa ra m t tham s : ho c tên c a thi t b (phân vùng) ho c đi m g n. Có th xem tr c ti p t p tin này b ng các chương trình xem t p tin (less. more ho c b ng câu l nh mount (không có tham s ). ho c s d ng câu l nh mount v i tham s -r Câu l nh mount và umount h tr b ng các h th ng t p tin đã g n. B ng này n m trên đĩa d ng t p tin /etc/mtab.ext Làm quen v i h th ng t p tin ext3fs g n t t c các h th ng t p tin tr các d ng smb (Samba17 ) và ext Khi g n h th ng t p tin có trong /etc/fstab. ) trên Linux có m t chút ph c t p hơn. n u trong t p tin /etc/fstab có dòng: /dev/hdd /media/dvd auto noauto. Ch có ngư i dùng đã g n h th ng t p tin và t t nhiên c ngư i dùng cao c p root m i có quy n b g n nó. . T t c các tham s khác câu l nh mount s l y t t p tin /etc/fstab.sync 0 0 thì b t kỳ ngư i dùng nào cũng có quy n g n h th ng t p tin trên đĩa DVD c a mình b ng câu l nh: [user]$ mount /dev/hdd ho c: [user]$ mount /media/dvd Trong b ng 4. v. Tham s c a câu l nh umount là tên thi t b (phân vùng) ho c đi m g n. CD.98 [root]# mount -a -t nosmb. Ch có th b g n h th ng t p tin khi không có t p tin nào c a nó m ra. Zip. không ti n trình nào đang ch y t t p tin chương trình n m trên h th ng t p tin này và trong h th ng không có ti n trình nào s d ng h th ng t p tin này. thì t t c m i ngư i dùng s có kh năng g n (b g n) h th ng t p tin đó. flash) ra kh i máy thì c n “tháo” (b g n) các h th ng t p tin có trên các đĩa tháo r i này. Trư c khi b các đĩa tháo r i (đĩa m m. . DVD. nhưng n u trong vùng các tùy ch n g n có ch ra tùy ch n user. Vì đ u tiên b n c n g n các đĩa này (nói chính xác là h th ng t p tin có trên đĩa) vào cây thư m c chung. Thông thư ng ch có ngư i dùng cao c p root m i có kh năng g n các h th ng t p tin. t c là đ c và ghi). Đ thay m t đĩa r i khác thì đ u tiên c n b g n (“tháo”) đĩa đã có ra r i m i g n 17 các chia s trong m ng c a Windows . Đ b t kỳ ngư i dùng nào cũng có th b g n h th ng t p tin thì trong t p tin /etc/fstab c n thay th tùy ch n user b ng tùy ch n users (trong vùng các tùy ch n g n).8 có đưa ra thêm m t vài tùy ch n có th s d ng trong câu l nh mount và trong t p tin/etc/fstab (vùng các tùy ch n g n).

Đây là t t c nh ng gì mà ngư i dùng Linux m i (và r t m i) c n bi t v h th ng t p tin ext3fs.4. M t s b n phân ph i (Debian. dvd và flash trong /mnt đ làm đi m g n cho ba thi t b c a mình. Ví d . ro G n h th ng t p tin ch đ đ c. nouser C m ngư i dùng bình thư ng g n h th ng t p tin. T t nh t hãy chu n b s n cho m i đĩa r i m t “đi m g n” riêng. Tùy ch n -a không t đ ng g n h th ng t p tin này. nosuid Không cho phép dùng “bit thay đ i ID ngư i dùng” và “bit thay đ i ID nhóm”. defaults S d ng các tuỳ ch n theo m c đ nh: rw. Chúng ta s xem xét k hơn m t sau này trong . noauto Ch có th t g n h th ng t p tin. exec.8 T o và g n các h th ng t p tin 99 B ng 4. auto. remount Cho phép g n l i h th ng t p tin đã g n. ti p đĩa th hai. ch đư c nói đ n trong chương này khi c n thi t. suid. m t quay v phía ngư i dùng c a h th ng này (ch y u là c u trúc t p tin). Tuy trên các b n phân ph i m i đã có các d ch v cho phép t đ ng g n và t đ ng “tháo” các đĩa r i. nodev Không coi các thi t b kh i và thi t b ký t (byte) trong h th ng t p tin là nh ng t p tin đ c bi t. m t sau (c u trúc bên trong). n u b n có m t đĩa m m. và m i ch đ c p đ n “m t trư c”. suid Cho phép dùng “bit thay đ i ID ngư i dùng” và “bit thay đ i ID nhóm”. dev. sync Vào/ra (ghi/đ c) c a h th ng t p tin th c hi n đ ng b (t c th i). dev Các thi t b kh i và thi t b ký t (byte) trong h th ng t p tin là nh ng t p tin đ c bi t. nouser.8: Nh ng tùy ch n chính c a câu l nh mount Tùy ch n Ý nghĩa async Vào/ra (ghi/đ c) c a h th ng t p tin th c hi n không đ ng b (không t c th i). nosuid. M t còn l i. exec Cho phép th c hi n các t p tin chương trình n m trên h th ng t p tin này. user Cho phép ngư i dùng bình thư ng g n h th ng t p tin. nodev. Đ i v i nh ng ngư i dùng này luôn luôn g n v i các tùy ch n noexec. Xin nh c l i là nh ng gì đã nói đây ch dành cho h th ng t p tin ext3fs (m t s thông tin v n còn đúng cho phiên b n ext2fs). nhưng b n cũng c n bi t cách làm vi c v i các đĩa r i n u có v n đ x y ra v i các d ch v đó. async. m t dvd và m t flash thì hãy t o ba thư m c floppy. auto Có th g n h th ng b ng câu l nh mount v i tùy ch n -a. đ c bi t trong trư ng h p m r ng quy n truy c p (ví d thêm quy n ghi cho h th ng t p tin đã g n ch đ c). Thư ng s d ng đ thay đ i các tùy ch n g n. openSUSE) s t o s n cho b n nh ng đi m g n này. rw G n h th ng t p tin đ đ c và ghi.

100 Làm quen v i h th ng t p tin ext3fs m t vài chương s p t i. Còn bây gi b n đ c s chuy n sang nghiên c u thành ph n quan tr ng th 2 trong 4 thành ph n chính c a Linux – h v bash. .

g i là sh. Ch y chương trình t dòng l nh c a h v tương đương v i vi c nháy (đúp) chu t lên bi u tư ng c a chương trình trong GUI. Sau đó. D . b t kỳ chương trình nào trong Linux có th kh i đ ng t dòng l nh c a h v (n u máy ch X đã ch y). 5. Có hai d ng c a chương trình đã đ c p . đ làm vi c trong ch đ text (giao di n dòng l nh) và giao di n đ h a GUI (Graphical User Interface). vi t t t c a shell. vì trên th c t “liên h ” v i ngư i dùng đư c th c hi n b i m t chương trình đ c bi t. th c hi n “liên h ” v i ngư i dùng trong môi trư ng đ h a. vài bi n th c a sh đư c phát tri n và làm t t hơn. hay còn đư c g i là console ho c terminal. m t s chương trình không th ch y GUI và ch có th th c hi n t dòng l nh. hay shell. Vì Linux là HĐH đa ti n trình. Nhưng m t khác. Nói ngoài l m t chút. Đi u này không hoàn toàn đúng. vì đã có giao di n đ h a. Tuy nhiên. Và dù sao thì ch đ text c a HĐH Linux không ph i là ch đ text m t ti n trình c a MS-DOS. b i vì r t nhi u công vi c có th th c hi n nhanh và thu n ti n trong ch đ này hơn là s d ng giao di n đ h a. Và đ so n th o m t t p tin văn b n không nh t thi t ph i ch y các trình so n th o l n và ch m ch p (đ c bi t trên các máy có c u hình ph n c ng th p) c a môi trư ng đ h a. Trên các h th ng UNIX đ u tiên có m t chương trình. Đưa các tham s cho chương trình trên dòng l nh tương đương v i vi c chúng ta kéo và th cái gì đó lên bi u tư ng chương trình trong môi trư ng đ h a. vi t b i Steve Bourne. C n nói ngay r ng. Tuy nhiên đây là m t ý ki n sai l m. cũng như qua giao di n đ h a.h v .Chương 5 Bash T t g hơn t t nư c sơn – ca dao t c ng Vi t Nam Trong ph n này chúng ta s đ c p đ n v n đ làm vi c v i Linux ch đ text. trong đó có Bourne shell — phiên b n m r ng c a sh. Theo ý ki n c a m t s chuyên gia ngôn ng cũng như chuyên gia Linux thì nên g i chương trình này m t cách đúng hơn là “trình x lý l nh” hay “trình biên d ch l nh”. tên g i “h v ” b ph n đ i r t nhi u. tên g i “h v ” (shell) đư c dùng cho các chương trình dùng đ biên d ch l nh trong ch đ text trên m i h th ng UNIX. Nh ng ngư i dùng Linux m i (newbie) thư ng nghĩ s ch ng bao gi làm vi c ch đ này. nên ngay trong ch đ text đã có kh năng làm vi c trong vài c a s .1 H v là gì? Chúng ta thư ng nói “ngư i dùng làm vi c v i h đi u hành”.

nh đó đưa h v tr thành m t công c m nh c a ngư i dùng. và đây là m t ví d cho th y không ph i lúc nào chúng cũng có giá tr đ c bi t. Các ký t này bao g m: ‘ ~ ! @ # $ % ^ & * ( ) _ . và như th bash còn có th gi i mã là “shell đư c sinh ra l n hai”. ’ " / \ > < và ký t v i mã 0. Ngoài ra.gnu. Đ ng th i cho phép đưa các tham s cũng như k t qu làm vi c c a m t chương trình t i các chương trình khác hay t i ngư i dùng.[ ] { } : .102 Bash án GNU (d án phát tri n chương trình ng d ng c a Stallman. t c là “l i là h v c a Bourne”. Trư c khi b t đ u ph n này. ký t hàng m i (t o ra khi nh n phím <Enter>) và ký t kho ng tr ng. còn d u ch m có giá tr đ c bi t khi nó là ký t đ u tiên trong tên t p tin (cho bi t t p tin là “ n”). Nhưng trong đa s các trư ng h p không khuyên dùng các ký t v i giá tr th hai. Tuy nhiên các ký t _. Nên nh ít nh t cách s d ng c a các (t h p) phím <Ctrl>+<C>. – và . ch y chúng đ n vi c t ch c d li u đ u vào/đ u ra. xin ng m hi u đó là bash. (d u g ch dư i. Trong tên t p tin ch d u ch m (. vì t Bourne đ c gi ng v i t borne (sinh ra. ho c đ bi u th các thao tác nào đó. g ch ngang và d u ch m) thư ng đư c s d ng trong tên t p tin. đó là nó bao g m m t ngôn ng l p trình đơn gi n. Trư c h t đó là vi c s d ng chúng trong tên t p tin và thư m c. Ti p theo chúng ta s ch xem xét bash. Trong toán h c t lâu đã đư c ch ng minh r ng. ho c đ bi n đ i bi u th c. Vi c đưa ngay t t c ý nghĩa đ c bi t c a nh ng ký t này và các tình hu ng s d ng chúng t m th i không có ích. xem http: //www. H v cung c p các toán t đi u ki n và toán t vòng l p. b t kỳ m t thu t toán nào cũng có th đư c xây d ng t hai (ba) thao tác cơ b n và m t toán t đi u ki n. Đây cũng là s c m nh và là m t trong các ch c năng chính c a h v . đ ra).org/) sau đó cho ra đ i h v bash. tên g i c a nó đư c gi i mã ra là Bourne-again shell. b n đ c nên bi t các t h p phím chính. <Tab> và các phím có mũi tên. Ký hi u g ch chéo dùng đ phân chia tên các thư m c trong đư ng d n. Nó s d ng các ti n ích và chương trình khác (có trong thành ph n h đi u hành. hoán đ i v trí) các tham s l nh. K t qu thu đư c là m t ngôn ng l p trình m nh. Nhưng tính ch t chính c a h v . T m t mình bash không th c hi n m t công vi c ng d ng nào.) và g ch chéo (/) có giá tr đ c bi t.2 Các ký t đ c bi t H v bash s d ng m t vài ký t t b 256 ký t ASCII cho các m c đính riêng. <Ctrl>+<D>. hay đư c cài đ t riêng) đ làm các thao tác cơ b n cho ngôn ng l p trình mà nó h tr . t vi c tìm ki m chương trình đư c g i. s d ng đ đi u khi n vi c nh p d li u trên dòng l nh. vì th dư i khi nói đ n h v . Trên ti ng Anh đây là m t cách chơi ch . Ph thu c vào tình hu ng các ký t đ c bi t này có th s d ng v i ý nghĩa đ c bi t c a nó hay s d ng như m t ký t thông thư ng. Nhưng nó h tr vi c th c thi m i chương trình khác. h v ch u trách nhi m v công vi c v i các bi n môi trư ng và th c hi n m t vài bi n đ i (th . Chúng ta s xem xét chúng d n d n trong . 5.

. Ví d . và chúng s th c hi n l n lư t t câu l nh này đ n câu l nh khác. n u nh p vào dòng l nh cái gì đó gi ng như sau: teppi82@teppi:~$ command1 . ’ và \ (d u đô la. thông thư ng. khôn m t ký t nào có ý nghĩa đ c bi t. còn trong ngo c kép – t t c chúng ngo i tr $. n u mu n s d ng kho ng tr ng trong tên t p tin. 5. m t trong các ch c năng chính c a h v là t ch c vi c th c hi n các câu l nh mà ngư i dùng đưa vào trên dòng l nh. 5. sách báo. thì t t c các ký t n m trong ngo c đơn này có giá tr như các ký t thông thư ng. Đ làm đư c đi u này c n s d ng ký t đ c bi t . nói riêng. M i ký t này luôn luôn đư c s d ng trong m t c p v i b n sao c a chính nó đ đóng khung m t bi u th c nào đó. thì chúng ta c n đ t trư c ký t kho ng tr ng đó m t ˙ d u Ví d . n u mu n đ t t p tin cái tên “lennon imagine” c n đưa tên đó vào d u ngo c: teppi82@teppi:~$ cp lennon_imagine ’lennon imagine’ S khác nhau trong cách s d ng ký t ’ và " đó là.3. H v . sau đó l i đưa ra dòng nh p l nh và ch các hành đ ng ti p theo c a ngư i dùng.5.. ngo c đơn và d u g ch ngư c). . đ ng ngay sau \. nhưng còn có th đưa vào dòng l nh đó ngay l p t c vài câu l nh. và &.3 Th c thi các câu l nh 103 các ph n sau. có th nói. cung c p cho ngư i dùng hai thao tác đ c bi t đ t ch c vi c đưa các câu l nh trên dòng l nh: . . Tuy nhiên. . ch l nh hoàn thành. trong ngo c đơn m t ý nghĩa đ c bi t t t c các ký t . Ký hi u \ (g ch chéo ngư c) có th g i là “ký hi u xóa b ý nghĩa đ c bi t” cho b t kỳ ký t đ c bi t nào. sau đó ch y command2. gi ng như trong các văn b n. thì câu l nh ti p theo s đư c coi như tham s c a l nh phía trư c. N u như m t đo n văn b n nào đó đ t trong ngo c đơn. câu l nh sau: teppi82@teppi:~$ cp lennon_imagine lennon\ imagine Các ký t ’ và " (ngo c đơn và ngo c kép) có th g i là “các ký t trích d n”. Như v y.1 Thao tác . M c dù ngư i dùng thư ng ch nh p trên dòng l nh t ng câu l nh m t. command2 thì h v đ u tiên s th c hi n câu l nh command1. N u dùng ký t này đ phân chia các câu l nh. .3 Th c thi các câu l nh Như đã nói trên. khi c n s d ng đ n. Tr l i v i ví d s d ng kho ng tr ng trong tên t p tin trên. 3 ký hi u có ý nghĩa l n và c n đ c p đ n đ u tiên. ch cho l nh đó hoàn thành.

Các câu l nh chia thành hai lo i: n i trú (mã c a chúng có trong mã c a chính h v ) và ngo i trú (mã c a chúng n m trong m t t p tin riêng l trên đĩa). Tuy nhiên đ g “gánh n ng” cho ngư i dùng h v bi t cách tìm l nh ngo i trú trong các thư m c.3. thì h v ch y câu l nh command1. chuy n các tham s đã nh p trên dòng l nh vào cho câu l nh. thì h v s tr l i quy n đi u khi n cho ngư i dùng ngay sau khi ch y câu l nh. Bư c đ u tiên . Qua kênh này chương trình đưa ra k t qu làm vi c c a mình. N u trên dòng l nh là command1 && command2. . còn đ tìm các l nh ngo i trú ngư i dùng. nó đư c cung c p ba dòng d li u (hay còn g i là kênh): • đ u vào tiêu chu n (standard input hay stdin).104 Bash 5. 5.4 5. t c là l nh đó th c hi n thành công.tìm ki m câu l nh. Ch có th nói ng n g n r ng. n p mã đó vào b nh . N u đ t d u & ngay sau câu l nh. Qua kênh này d li u đư c đưa vào cho chương trình. thì command2 s th c hi n và ch th c hi n trong trư ng h p tr ng thái thoát ra c a l nh command1 b ng không (0). ngay l p t c ch y l nh command2. nó m i quy t đ nh r ng ngư i dùng đã nh m khi nh p tên l nh. mà không đ i cho câu l nh đó hoàn thành. mà đư c li t kê trong đư ng d n tìm ki m.2 Thao tác & Thao tác & đư c dùng đ t ch c vi c th c hi n các câu l nh trong ch đ n n sau. n u dòng l nh có d ng command1 || command2.1 Đ u vào/đ u ra tiêu chu n Dòng d li u vào – ra Khi m t chương trình đư c th c hi n. còn bây gi chúng ta s xem xét cách h v t ch c vi c đưa d li u vào cho câu l nh đang th c hi n và vi c đưa k t qu t i cho ngư i dùng. và sau đó không ch m tr tr l i dòng nh p l nh cho ngư i dùng. 5. thì command2 s th c hi n và ch th c hi n khi tr ng thái thoát c a l nh command1 khác không. theo nguyên t c. M t cách tương t . Ví d .3 Thao tác && và || Các thao tác && và || là nh ng thao tác đi u khi n. Chúng ta s không xem xét m t k thu t c a vi c th c hi n m t câu l nh nào đó. Chúng ta s xem xét qua các bư c này. và sau khi th c hi n xong thì theo m t cách nào đó tr l i k t qu th c hi n l nh này cho ngư i dùng hay ti n trình khác. ph i ch cho h v đư ng d n đ y đ t i t p tin tương ng. V cách thêm thư m c vào đư ng d n tìm ki m chúng ta s nói đ n dư i. h v ph i tìm mã (code) chương trình.4.3. n u nh p vào dòng l nh “command1 & command2 &”. Ch khi (h v ) không th tìm th y t p tin c n thi t trong các thư m c đó. • đ u ra tiêu chu n (standard output hay stdout). H v luôn luôn tìm th y l nh n i trú.

Trong trư ng h p này. Tuy nhiên. Thông thư ng bàn phím đư c c u hình đ nh p vào theo t ng dòng. và l nh này s l i đưa d li u ra màn hình thông qua đ u ra tiêu chu n. Theo m c đ nh k t qu làm vi c c a l nh cat hư ng t i đ u ra tiêu chu n.4 Đ u vào/đ u ra tiêu chu n 105 • kênh thông báo l i tiêu chu n (standard error hay stderr). b i vì chúng ta cũng th y thông báo l i đó trên c a s terminal. đ i v i ngư i dùng thì trong trư ng h p này kênh thông báo l i tiêu chu n không khác gì v i đ u ra tiêu chu n. Lúc này câu l nh ch các ký t đ n t đ u vào tiêu chu n. vì th n u b n nh n phím <Enter>. và nó s xu t hi n ngay l p t c trên màn hình. T đ u vào tiêu chu n chương trình ch có th đ c.3 L nh cat Chúng ta s xem xét l nh cat đây vì l nh này thư ng làm vi c v i đ u vào và đ u ra tiêu chu n. Đ cho th y kênh thông báo l i tiêu chu n làm vi c như th nào. Làm vi c v i đ u vào và đ u ra tiêu chu n đư c minh h a t t nh t qua ví d các l nh echo và cat. và t t c nh ng thông báo l i. hãy th c hi n câu l nh ls v i m t tham s không đúng. n u không k t qu có th s khác. và chúng cũng s xu t hi n trên màn hình. Qua kênh này chương trình đưa ra thông tin v l i. ví d dùng tham s là m t tên t p tin không t n t i. vào t p tin). chúng ta s th y dư i. Tuy nhiên. Nói cách khác. Sau đó l nh này đưa ra tín hi u chuy n dòng và hoàn t t công vi c.4. mà đư c đưa vào làm tham s cho nó. Đ ch ng minh là l nh này theo m c đ nh ti p nh n dòng d li u nh p vào.5. Hãy th th c hi n câu l nh sau: [user]$ echo ’xin chao cac ban!’ Tôi nghĩ r ng l i gi i thích s là th a thãi (ch xin hãy s d ng d u ngo c đơn. 1 gi ng liên k t hóa h c . có th chuy n hư ng thông báo đ u ra (ví d . đư c đưa ra c a s terminal. t c là chương trình ngay l p t c đưa chúng t i đ u ra tiêu chu n. ls đưa m t tin nh n báo l i ra kênh thông báo l i tiêu chu n. hãy ch y l nh cat không có tham s . Có th ti p t c nh p các ký t . 5. m i dòng ký t nh p vào s đư c hi n ra hay l n: m t l n khi gõ và l n th hai b i câu l nh cat. dòng ký t b n v a nh p s đư c đưa t i l nh cat. K t qu là con tr chuy n t i m t dòng m i. còn hai đ u ra và kênh thông báo l i đư c chương trình s d ng ch đ ghi.4. Theo m c đ nh đ u vào có liên k t1 v i bàn phím. N u b n đ c chú ý thì có th gi i thích t i sao l i khác). Hãy nh p b t kỳ ký t nào. Như v y. và hơn n a có v như không có gì x y ra.2 L nh echo Câu l nh echo dùng đ chuy n t i đ u ra tiêu chu n dòng ký t . toàn b thông tin c a l nh hay chương trình mà ngư i dùng đã ch y. còn đ u ra và kênh báo l i hư ng đ n terminal c a ngư i dùng. 5.

khi này n u t p tin ls. thì c n s d ng ký hi u >> thay cho >. t đó l nh cat s đ c n i dung này và đưa t i đ u ra tiêu chu n (xem sơ đ ).5 Chuy n hư ng đ u vào/đ u ra. máy in). 5. Dư i đây là m t ví d tương ng: maikhai@fpt:/some/where$ ls -l > /home/maikhai/ls.txt > /dev/tty2 thư m c hi n th i b n c n dùng t h p phím <Ctrl>+<Alt>+<F2> đ chuy n t i c a s terminal này và đăng nh p trư c 3 2 .1 S d ng >. đ đưa n i dung t p tin /home/maikhai/ls. mà còn t i đ u vào c a m t câu l nh khác hay t i m t thi t b nào đó (ví d . N i dung t p tin --> Đ u vào tiêu chu n (stdin) --cat--> đ u ra tiêu chu n (stdout) Đây ch là m t trư ng h p riêng c a vi c chuy n hư ng d li u đ u vào. thì n i dung c a l nh này s đư c đưa t i đ u vào tiêu chu n. Và t t nhiên chúng ta c n xem xét k hơn cơ ch này. thì nó s đư c t o ra.txt Theo l nh này danh sách t p tin và thư m c con c a thư m c. Cũng có th s d ng t h p phím <Ctrl>+<C> (câu l nh trong h v dùng đ d ng chương trình đang ch y). “<” và “>>”. m t cơ ch r t có ích c a h v . trong h v còn có các môi trư ng đ c bi t cho phép chuy n hư ng đ u vào/đ u ra. như đã nói trên. thông thư ng đ u vào/đ u ra c a m t chương trình liên k t v i các đ u vào/đ u ra tiêu chu n. d nhìn.txt không t n t i.txt. Thư ng s d ng vi c chuy n hư ng đ li u ra c a câu l nh vào t p tin. Ví d . N u b n không mu n xóa n i dung cũ mà ghi thêm d li u đ u ra vào cu i t p tin.106 Bash N u nh n t h p phím <Ctrl>+<D> (dùng đ ng ng vi c nh p d li u) chúng ta s qua l i dòng nh p l nh. n u t p tin đã có. B n có th chuy n hư ng không ch vào t p tin. mà t đó ngư i dùng th c hi n l nh ls2 s đư c ghi vào t p tin /home/maikhai/ls.5. s d ng các ký hi u “>”. N u đưa tên m t t p tin vào làm tham s cho l nh cat. Khi này kho ng tr ng trư c và sau các ký hi u > hay >> không có ý nghĩa và ch dùng v i m c đích thu n ti n. thì n i dung c a nó s b xóa và ghi đè b i danh sách nói trên.txt v a t o trên t i c a s terminal th hai3 có th s d ng l nh sau: maikhai@fpt:/sw$ cat /home/maikhai/ls. đư ng ng và b l c M c dù. < và >> Đ chuy n hư ng đ u vào/ra. 5.

và 2) ho c tên t p tin. “l m t” hơn. như th không th . Trong script dùng đ t đ ng hóa m t thao tác nào đó.5 Chuy n hư ng đ u vào/đ u ra.s c a kênh tiêu chu n (0. kho ng tr ng c nh > là không nh t thi t): command N > M Trong đó. cho các câu l nh mà thư ng ti p nh n (hay ch ) d li u vào t bàn phím. > và >> mà không ch ra s kênh hay tên t p tin. mà còn sao chép n i dung c a các kênh tiêu chu n đó. khi không có s nào ch ra. các câu l nh sau là tương đương: [user]$ [user]$ [user]$ [user]$ cat > file cat>file >file cat > file cat Tuy nhiên. > s đư c biên d ch là 1 >. B i vì các ký hi u <. t c là đ u ra tiêu chu n. trên th c t thư ng s d ng câu l nh đơn gi n hơn): maikhai@fpt:/sw$ wc -w < /home/maikhai/ls. khi đ t nó (&) trư c s c a kênh s chuy n d li u đ n: command N > &M . > dùng đ chuy n hư ng d li u c a đ u ra. Trong m t vài trư ng h p có s d ng các ký hi u <. ví d . Đ làm đư c đi u này. c n đ t trư c ký hi u chuy n hư ng s c a kênh mu n chuy n. Đ u vào tiêu chu n stdin có s 0. thư ng dùng. đư ng ng và b l c 107 Như b n th y. Như th . Ví d . Khi này. t chúng (không có m t l nh nào. t c là đ u vào tiêu chu n. T c là l nh chuy n hư ng có d ng đ y đ như sau (xin đư c nh c l i. kênh thông báo l i stderr . vì vào ch còn thi u s đ t. nh p vào dòng l nh sau: [user]$ file1 > file2 mà thu đư c b n sao c a m t t p tin nào đó. ho c 0 n u dùng <. > và >> làm vi c v i các kênh tiêu chu n (đ u vào ho c đ u ra). đ u ra tiêu chu n stdout . mà còn có th theo cách khác.5. t c là không có kênh tiêu chu n nào cho l nh) các ký t chuy n hư ng này không th đư c s d ng. 1 n u dùng >. có th đ m s t trong t p tin ls. Ch c năng tương t đ i v i đ u vào đư c th c hi n b i <. Ngoài vi c chuy n hư ng các kênh tiêu chu n đơn gi n như v y. còn < s đư c biên d ch là 0 <. b i vì các kênh tiêu chu n có cho m i câu l nh.txt Cách chuy n hư ng này thư ng đư c s d ng trong các script. còn có kh năng không nh ng chuy n hư ng d li u vào kênh này hay kênh khác. có th đưa các thông tin c n thi t cho câu l nh t t p tin: trong t p tin này ghi s n nh ng gì c n đ th c hi n l nh đó. chúng không ch đư c dùng theo các cách quen thu c. 1.s 1. có th chuy n hư ng không ch đ u vào và đ u ra tiêu chu n. đây ch là m t ví d minh h a.txt như sau (chú ý. theo m c đ nh. Ký hi u & dùng đ th c hi n đi u này. Nhưng đi u này không làm gi m giá tr c a cơ ch này.s 2. mà còn các kênh khác. Ví d . N và M .

Khi này đ u ra tiêu chu n c a l nh đ ng bên trái so v i | đư c chuy n đ n đ u vào tiêu chu n c a chương trình. mà đ u ra c a l nh trư c dùng làm đ u vào cho l nh sau. v a ghi chúng vào t p tin. ho c băng chuy n). H v ch cho t t c các câu l nh k t thúc r i m i xác đ nh và đưa ra giá tr này. l nh này s phân chia n i dung nói trên và ch l y ra nh ng dòng nào có ch a t knoppix. Hai hay vài câu l nh. Cũng y như v y. h v s d ng l i và ch cho đ n khi th c hi n xong t t c các câu l nh trư c c a đư ng ng. mà k t qu c a nó s là m t bi n đ i ph c t p. mà tính s nh ng dòng thu đư c.. Kh năng này đ c bi t có ích khi mu n ghi đ u ra vào t p tin. c n dùng l nh 2>&1. gi ng như m t dây chuy n s n xu t. Vì th ngay khi chương trình th nh t b t đ u đưa k t qu đ u ra. Tr ng thái thoát ra (giá tr lôgíc. . t c là n i dung t p tin ls. k t q a c a l nh grep đư c chuy n t i đ u vào c a l nh wc -l. đ sao chép thông báo l i vào đ u ra tiêu chu n. T c là n u tr ng thái thoát ra c a l nh cu i cùng b ng 0 thì tr ng thái thoát ra c a đư ng ng s b ng 1 và ngư c l i. s đư c chuy n đ n đ u vào c a l nh grep. ch y m i l nh đó trong m t b n sao h v riêng. trư c câu l nh đ u tiên c a đư ng ng có th đ t ký hi u “!”. cũng như d u ch p ph y .txt. khi đó tr ng thái thoát ra c a đư ng ng s là ph đ nh lôgíc c a tr ng thát thoát ra c a l nh cu i cùng trong đư ng ng. n u mu n) b i ký hi u g ch th ng đ ng “|”. mà đư c tr l i sau khi th c hi n xong chương trình) c a m t đư ng ng s trùng v i tr ng thái thoát ra c a câu l nh sau cùng trong đư ng ng.txt | grep knoppix | wc -l Dòng này có nghĩa là k t qu c a l nh cat. liên k t v i nhau (có th nói phân cách nhau. chương trình ti p theo b t đ u x lý k t qu này. vì khi đó chúng ta v a có th nhìn th y thông báo trên màn hình.2 S d ng | M t trư ng h p đ c bi t c a chuy n hư ng đ u ra là s t ch c các đư ng ng (ha y còn có th g i là kênh gi a các chương trình. còn 1>&2 sao chép stdout vào stderr. Ví d : maikhai@fpt:/sw$ cat ls.108 Bash L nh này có nghĩa là. Ví d . các l nh ti p theo th c hi n các công vi c c a mình: ch d li u t l nh trư c và đưa k t qu cho l nh ti p theo. Trư c m i d u ch m ph y. trư ng h p sau thư ng đư c ng d ng trong các script ch y khi kh i đ ng Linux: teppi82@teppi:~$ cat hiho > /dev/null cat: hiho: No such file or directory teppi82@teppi:~$ cat hiho > /dev/null 2>&1 5. Đư ng ng s d ng đ k t h p vài chương trình nh l i v i nhau (m i chương trình th c hi n m t bi n đ i xác đ nh nào đó trên đ u vào) t o thành m t l nh t ng quát. N u như mu n m t l nh nào đó k t thúc hoàn toàn. đ u ra c a kênh v i s N đư c g i đ n c đ u ra tiêu chu n. và sao chép t i kênh có s M. Ví d . C n chú ý r ng. trư c khi th c hi n l nh ti p theo. b n có th sư d ng trên m t dòng c ký hi u dây chuy n |. d ng bên ph i so v i |. Đ n lư t mình.5. h v g i và th c hi n t t c các câu l nh có trong đư ng ng cùng m t lúc.

m t khác ghi nó (d li u) vào t p tin (ngư i dùng c n đ t tên). và ba — nh ng dòng có trong c hai t p tin. ví d . mà ti p nh n d li u vào. wc. sed Trình so n th o t p tin theo dòng.1: Các câu l nh b l c L nh Mô t ng n g n grep. t ch c tìm ki m theo các m u tìm ki m t đơn gi n đ n ph c t p và r t ph c t p. Hãy th gõ l nh tr abc ABC r i gõ vài dòng ch a các ký t abc! comm So sánh hai t p tin theo t ng dòng m t và đưa vào đ u ra tiêu chu n 3 c t : m t — nh ng dòng ch g p t p tin th nh t.3 B l c Ví d cu i cùng trên (ví d v i câu l nh grep) có th dùng đ minh h a cho m t khái ni m qua tr ng khác. m t m t g i d li u này đ n đ u ra tiêu chu n. D th y r ng theo ch c năng c a mình l nh tee tương t như nhóm ký t chuy n hư ng 1>&file. Các câu l nh . Môi trư ng c a h v 109 5. Vì v y. câu l nh tee. chúng ta có th nói r t nhi u v chuy n hư ng và b l c. đư c g i là “môi trư ng và các bi n môi trư ng” t o b i h v . th c hi n m t vài bi n đ i trên d li u này và đưa ra k t qu đ u ra tiêu chu n (t đây còn có th chuy n đ n nơi nào đó theo ý mu n c a ngư i dùng). Tìm trong t p tin hay d li u đ u vào các dòng có ch a m u egrep văn b n đư c ch ra và đưa các dòng này t i đ u ra tiêu chu n. d u g ch dư i (ch ký t đ u tiên c a . M t b l c đ c bi t. Môi trư ng c a h v Khái ni m tham bi n trong h v bash tương ng v i khái ni m bi n s trong các ngôn ng l p trình thông thư ng. less. Nhưng n i dung này có trong ph n l n các cu n sách v UNIX và Linux (xem ph n l i k t). fgrep.5. diff.6 Tham bi n và các bi n s . Tên g i (hay ID) c a tham bi n có th là m t t bao g m các ký t b ng ch cái. cho phép. 5. cmp. và c nh ng câu l nh có trong b ng 5.5. s d ng đ th c hi n m t vài bi n đ i trên d li u đ u vào (l y t t p tin hay đ u vào tiêu chu n) .b l c bao g m các l nh đã nói đ n trên cat. N u mu n. nhân đôi d li u đ u vào. pr Đ nh d ng t p tin hay n i dung c a đ u tiêu chu n đ in n. tr Trong d li u đ u vào thay th các ký t ô th nh t b i các ký t tương ng ô th hai.1. Kh năng c a b l c có th m r ng v i vi c s d ng các bi u th c chính quy (đi u khi n). b l c chương trình. B ng 5. đó là. chúng ta s d ng đây và chuy n sang m t ph n khác. B l c – đó là l nh (hay chương trình). ch s . more. hai — nh ng dòng ch g p t p tin th hai.6 Tham bi n và các bi n s .

mà s thay th (phép th . . thì c n đ t nó (giá tr ) vào d u ngo c. 5. Có th dùng câu l nh set đ thay đ i giá tr c a tham bi n v trí.1 Các d ng tham bi n khác nhau Tham bi n chia thành ba d ng: tham bi n v trí. thì cũng có th b xóa b b ng l nh n i trú unset. $. N u giá tr có ch a nh ng ký t đ c bi t. Chúng ta nói r ng. tham bi n đư c xác đ nh hay đư c đ t ra. Đ xem giá tr c a m t bi n môi trư ng c th . ch cái và không đư c b t đ u b i m t ch s .110 Bash t này không đư c là ch s ). . n u ngư i dùng g n cho nó m t giá tr .tên c a bi n. Giá tr c a bi n môi trư ng đư c gán nh thao tác có d ng sau: [user]$ name=value Trong đó. thay vì dùng l nh set (khi này c n tìm trong k t qu c a nó bi n mu n xem). tham s th hai tham bi n 2. có th s d ng l nh echo: . . #.) Giá tr có th là b t kỳ m t dòng văn b n nào. Như v y. Tên c a bi n môi trư ng ch có th bao g m các ch s . . Bi n môi trư ng.(g ch ngang). đó là các tham bi n đư c đ t tên. đư c li t kê b ng trên. Giá tr c a các tham bi n này cũng thay đ i trong khi h v th c hi n m t trong các hàm s (chúng ta s xem xét v n đ này dư i). Đ nhìn th y giá tr c a tham bi n.giá tr mu n gán cho bi n (có th là m t dòng tr ng). ngư i ta s d ng ký t $ trư c tên c a nó. có m t đi m khác bi t đó là ch có th “nh c” đ n chúng.v. nhìn t phía h v .6. còn value . name . _ (g ch dư i). Giá tr c a tham bi n v trí là các tham s cho l nh. T p h p t t c các bi n này cùng v i các giá tr đã gán cho chúng g i là môi trư ng (enviroment) c a h v . tham bi n đ c bi t (các ký t đ c bi t đã nói trên chính là tên c a nh ng tham bi n này) và các bi n s c a h v . Tên (ID) c a tham bi n v trí g m m t hay vài ch s (nhưng không có tham bi n v trí 0). (Tin r ng sau khi đ c đo n vi t v tham bi n v trí thì các b n đã hi u t i sao m t bi n môi trư ng không th b t đ u b i m t ch s . 0. còn l nh maikhai@fpt:/sm$ echo $parameter hi n th giá tr c a tham bi n parameter (t t nhiên n u như tham bi n đó đư c xác đ nh). n u môi trư ng l n. Giá tr t t nhiên s không ch a các d u ngo c này. và c nh ng ký t sau: . phép hoán đ i) chúng đư c th c hi n như trong b ng 5. không th gán các giá tr cho các tham bi n này. . Có th xem nó (môi trư ng) nh l nh set khi không có tham s (có th c n dùng đư ng ng “set | less”.2: Các tham bi n đ c bi t. ). có nhi u bi n). N u m t bi n môi trưòng đư c xác đ nh. đư c đưa ra khi ch y h v (tham s đ u tiên là giá tr c a tham bi n 1. Các tham bi n đ c bi t không gì khác hơn là các m u. . v. l nh: maikhai@fpt:/sm$ echo parameter hi n th t parameter. Giá tr có th là m t dòng tr ng r ng.

ho c không đư c xác đ nh giá tr . 0 Thay th b i tên h v hay tên c a script đang ch y. 4 random là t ti ng Anh có nghĩa ng u nhiên . Môi trư ng c a h v 111 B ng 5. thì tham bi n này s đư c thay b i m t t duy nh t. mà b n s th y trong k t qu c a l nh set. ? Thay th b i tr ng thái thoát ra c a câu l nh cu i cùng trong đư ng ng. Trong trư ng h p ngư c l i giá tr này b ng đư ng d n đ u đ đ n h v (ví d . N u bash ch y m t t p tin l nh nào đó. b t đ u t tham bi n th nh t. T c là. $ Thay th b i s c a ti n trình (PID .6 Tham bi n và các bi n s . trong trư ng h p này. /bin/bash _ (g ch dư i) Thay th b i tham s cu i cùng c a câu l nh trư c trong s các câu l nh đã đư c th c hi n (n u đó l i là m t tham bi n hay bi n s . phân cách nhau b i ký t đ u tiên c a bi n s IFS (s nói đ n sau). T c là “$” tương đương v i “$1c$2c. . Nguyên nhân là vì bi n này tr l i m t giá tr ng u nhiên4 trong kho ng 0 . N u giá tr c a IFS tr ng.2: Thay th các tham bi n đ c bi t Tham bi n Quy lu t thay th * Thay th b i các tham bi n v trí. thì tham bi n phân cách nhau b i các kho ng tr ng. ví d . mà đư c th c hi n trong ch đ n n trư c. c n thay name b i tên bi n (như v y.process identificator) Thay th b i s c a ti n trình (PID) cu i cùng trong s các câu l nh th c hi n trong n n sau. trong đó c . ”. Trong s các bi n. “$@” tương đương v i “$1” “$2” . có nh ng bi n r t thú v . thì s s d ng giá tr c a n [user]$ echo $name Trong đó. mà t o ra t t t c các tham bi n v trí. N u thay th th c hi n trong ngo c kép. thì $0 có giá tr b ng tên c a t p tin này. – (g ch ngang) Thay th b i giá tr các c . N u th ch y vài l n liên ti p câu l nh sau: maikhai@fpt:/sw$ echo $RANDOM thì m i l n b n s nh n đư c m t giá tr m i. thì giá tr s không đư c thi t l p (tham bi n s b x # Thay th b i giá tr th p phân c a các tham bi n v trí. flag. @ Thay th b i tham bi n v trí. b t đ u t tham bi n th nh t. . đư c đ t b i l nh n i trú set hay trong khi ch y h v .ký t đ u tiên trong giá tr c a bi n s IFS. N u không có tham bi n v trí.5. b n l i c n ph i bi t tên c a bi n mu n xem). Xin hãy chú ý đ n. N u s thay th th c hi n trong d u ngo c kép. bi n RANDOM. . . thì m i tham bi n s đư c thay th b i m t t riêng bi t.32 768.

tuy nhiên trên các b n phân ph i khác nhau thư ng có các script kh i đ ng (hay script đăng nh p) xác đ nh l i bi n này. b n có th thay đ i các bi n PS1 và PS2. ví d teppi. đư c s d ng trong các trư ng h p khác nhau. khi ch y l nh cat đ đưa d li u vào t bàn phím vào t p tin. s d ng trong l nh select.2 D u nh c c a h v M t trong các bi n r t quan tr ng có tên PS1. Ký t có mã h tám nnn Dòng m i (chuy n dòng) Tên h v S hi n th i c a câu l nh D u g ch ngư c (backslash) Sau ký t này t t c các ký t s không đư c in ra. Giá tr theo m c đ nh — “+”. R t có th b n đã nhìn th y d u nh c này. xu t hi n khi h v ch ngư i dùng nh p thêm m t vài d li u c n thi t nào đó đ có th ti p t c ch y câu l nh (chương trình) đã g i. N u có mong mu n. xác đ nh b i bi n PS2. C m ký t \a \d \h \H \t \T \@ \u \w \W \$ \nnn \n \s \# \\ \[ \] \! . đư c đưa ra trư c m i câu l nh. xác đ nh b i bi n PS3. ví d teppi Tên đ y đ c a thư m c làm vi c hi n th i (b t đ u t g c). tháng. D u nh c th hai. Tên máy (hostname) đ n d u ch m đ u tiên. M t ví d khác . ví d /home/teppi82/project/l4u Thư m c hi n th i (không có đư ng d n) Ký t #. Theo m c đ nh bi n PS2 có giá tr “>”. Khi này có th s d ng b t kỳ ký t nào nh p t bàn phím.com Th i gian hi n th i d ng 24 gi : HH:MM:SS (gi :phút:giây) Th i gian hi n th i d ng 12 gi : HH:MM:SS Th i gian hi n th i d ng 12 gi am/pm (sáng/chi u) Tên ngư i dùng đã ch y h v . n u h v đư c ch y b i ngư i dùng thư ng. cũng như m t vài ký t chuyên dùng đ xác đ nh d ng d u nh c như trong b ng 5.phanthinh. danh sách đ y đ xem trong trang man c a bash . Dec.l nh ftp. trong lúc bash theo dõi quá trình th c hi n. B ng 5. S th t c a l nh hi n th i trong l ch s các câu l nh đã dùng. n u h v đư c ch y b i ngư i dùng root. Sun.3: Ký t xác đ nh d ng d u nh c Giá tr (k t qu thu đư c) Tín hi u âm thanh (mã ASCII 07) Th i gian d ng “Th . xác đ nh b i bi n PS4.6. D u nh c. ví d . D u nh c. mà bash đưa ra trong khi ch ngư i dùng nh p câu l nh ti p theo. K t thúc chu i các ký t không đư c in ra. Theo m c đ nh thì bi n này đư c gán giá tr “\s-\v\$ ”. Bi n này cho bi t d ng c a d u nh c.112 Bash 5. Tên máy đ y đ .3 (ch đưa ra m t vài trong s chúng làm ví d . 26. ngày”.gõ l nh “man bash”). Bi n PS1 đưa ra d ng c a d u nh c khi h v ch nh p l nh. Nói chung thì trong bash có t t c b n d u nh c. sau khi ch y l nh này d u nh c s có d ng như đã nói. và ký t $.

và ký hi u $ (n u trên h v đang làm vi c ngư i dùng bình thư ng) hay #(n u h v ch y dư i ngư i dùng root). /bin. Theo m c đ nh bi n môi trư ng PATH bao g m các thư m c “bin” sau: /usr/local/bin. Sau khi giá tr c a bi n đư c h v đ c xong.3 Bi n môi trư ng PATH Còn m t bi n cũng quan tr ng n a có tên PATH. c n th c hi n câu l nh sau: [user]$ PATH=$PATH:new_path Khi tìm ki m. đ ng th i còn x y ra s thay th trong tên các câu l nh. Chúng ta s nói đ n nh ng s thay th này dư i. h v “l c l i” các thư m c theo đúng th t đã li t kê trong bi n PATH.). Đ thêm thư m c vào danh sách này. /usr/X11R6/bin. s x y ra s thay th theo các quy lu t m r ng trong b ng trên. nhưng th c hi n nh ng ch c năng khác hoàn toàn (đ c bi t nguy hi m n u thư m c hi n th i đ ng đ u danh sách tìm ki m). Giá tr theo m c đ nh c a bi n này — “<Kho ng_tr ng><Tab><Ký_t _hàng_m i>”. b n s nh n đư c m t ng c nhiên nh . 5. có cùng tên v i m t trong s nh ng câu l nh thư ng dùng b i root. Bi n này đưa ra danh sách đư ng d n đ n các thư m c. s d ng trong thao tác phân chia t ng khi bi n đ i dòng l nh.5. đư ng d n đ y đ đ n t p tin không đư c đưa ra. khi thêm vào bi n PATH m t d u ch m (. có th đưa vào danh sách này thư m c hi n th i. và s chia t (word splitting). sau khi th c hi n l nh (vì trong dòng văn b n có kho ng tr ng. b i vì danh sách còn ch a c nh ng câu l nh đã đư c ghi l i trong t p tin l ch s . . kho ng tr ng. tên ngư i dùng.6 Tham bi n và các bi n s . nên nh t thi t ph i có d u ngo c): [user/root]$ PS1="[\u@\h \W]\$" thì trong d u nh c s có d u m ngo c vuông. 5. Môi trư ng c a h v 113 S c a l nh (s th t c a l nh đang th c hi n trong bu i làm vi c hi n th i) có th khác v i s c a chính nó trong danh sách “l ch s các câu l nh”.6. tên máy. /usr/bin. d u đóng ngo c vuông. mà h v th c hi n trư c khi ch y m t câu l nh nào đó (xem dư i). Tuy nhiên. Ví d . tên c a thư m c hi n th i (không có đư ng d n).4 Bi n môi trư ng IFS Bi n này xác đ nh ký t (c m ký t ) phân cách (Internal Field Separator). trong các bi u th c s h c. N u th gõ l nh “echo $IFS”. t c là bi n PATH trông như th này: /usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin. M t chú ý nh . Các thư m c trong danh sách này phân cách nhau b i d u hai ch m (:).6. đây là đi u không khuyên làm v i lý do b o m t: ngư i có ác ý có th đ t vào thư m c dùng chung m t chương trình nào đó. ký hi u . mà bash s tìm ki m t p tin (trư ng h p riêng là các t p tin l nh) trong trư ng h p.

nó (h v ) trư c khi ch y câu l nh th c hi n vi c “phân tích ng pháp” dòng l nh này (gi ng trong ngôn ng . t c là thay vì [user]$ name=value c n gõ: [user]$ export name=value Trong trư ng h p này. • Phép chia t (word splitting). v ng ).5 Thư m c hi n th i và thư m c cá nhân Tên c a thư m c hi n th i ghi trong bi n môi trư ng v i tên PWD. Đ có th cung c p bi n môi trư ng cho ti n trình ch y t h v . M t trong nh ng bư c c a s phân tích này là phép m hay khai tri n bi u th c (expansion). c n gán giá tr cho bi n này v i l nh export.6.114 Bash 5. Tương t như v y tên đ y đ (g m c đư ng d n) c a thư m c cá nhân c a ngư i dùng. . ghi trong bi n HOME. • Khai tri n các m u tên t p tin và thư m c (pathname expansion).6 Câu l nh export Khi h v ch y m t chương trình hay câu l nh nào đó. và giá tr c a bi n này thay đ i sau m i l n ch y chương trình cd (cũng như m i l n thay đ i thư m c hi n th i theo b t kỳ cách nào. nó (h v ) cung c p cho chúng m t ph n bi n môi trư ng. • Phép th các tham bi n và bi n s . qua Midnight Commander). 5. • Phép th các câu l nh. 5. ch y ti n trình đã cho. t t c các chương trình ch y t h v (k c b n sao th hai c a chính h v ) s có quy n truy c p t i các bi n đư c gán như v y. Trong bash có b y lo i khai tri n bi u th c: • Khai tri n d u ngo c (brace expansion). Chúng ta s xem xét chúng theo t t này.7 Khai tri n bi u th c Hay h v đ c các câu l nh như th nào?. • Thay th d u ngã (tilde expansion). t c là s d ng giá tr c a chúng qua tên.6. ví d . Khi h v nh n đư c m t dòng l nh này đó c n th c hi n. phân tích ch ng . Các thao tác này đư c th c hi n theo đúng th t li t kê trên. • Phép th s h c (th c hi n t trái sang ph i).

new.5.dist.b}e khi khai tri n s thu đư c ba t “ade ace abe”.dist.2 Thay th d u ngã (Tilde Expansion) N u như t b t đ u v i ký t d u ngã (’∼’). Trong trư ng h p th hai.edit}. chúng ta c n t o thư m c con trong m t thư m c nào đó.lib/{ex?. trong thư m c /usr/src/unikey/ s t o ra các thư m c con old. và bugs.? • /usr/ucb/ex • /usr/lib/how_ex • /usr/ucb/edit • /usr/lib/how_ex T c là v i m i c p d u ngo c s t o ra vài dòng riêng r (s nh ng dòng này b ng s t n ng trong d u ngo c) b ng cách ghi thêm vào trư c m i t trong ngo c nh ng gì đ ng trư c d u ngo c.how_ex} Trong trư ng h p đ u.7. Gi thi t.?*.7 Khai tri n bi u th c 115 5. Có th th c hi n đi u này nh các câu l nh sau: [user]$ mkdir /usr/src/unikey/{old. M t ví d khác: dòng a{d. Khai tri n d u ngo c đư c th c hi n trư c các d ng khai tri n khác trong dòng l nh. thì d u ngã s đư c thay th b i giá tr c a bi n HOME.? • /usr/ucb/edit • /usr/lib/ex?. 5.new. N u như tên này là m t dòng r ng (t c là d u g ch chéo đ ng ngay phía sau d u ngã). N u như ngay sau d u ngã (và trư c d u g ch chéo) là m t t trùng v i tên c a m t ngư i dùng h p pháp.c. mà đã ch y h v . Và n u giá tr c a bi n HOME không đư c gán thì d u ngã s đư c thay th b i đư ng d n đ u đ đ n thư m c cá nhân c a ngư i dùng. ngư i dùng s h u c a các t p tin sau s thay đ i (thành root): • /usr/ucb/ex • /usr/lib/ex?.7. hơn n a t t c các ký t đ c bi t có trong dòng l nh. N u như t . thì d u ngã c ng v i tên ngư i dùng đư c thay th b i đư ng d n đ y đ đ n thư m c cá nhân c a ngư i dùng này. và ghi thêm vào sau m i t này nh ng gì đ ng sau d u ngo c. s đư c gi không thay đ i (chúng s đư c biên d ch các bư c phía sau).1 Khai tri n d u ngo c Khai tri n d u ngo c t t nh t minh h a trên ví d . t t c các ký t đ ng trư c d u g ch chéo đ u tiên (hay t t c các ký t n u như không có d u g ch chéo) s đư c hi u là tên ngư i dùng (login name). k c nh ng ký t n m trong d u ngo c.bugs} [root]# chown root /usr/{ucb/{ex. ho c thay đ i ngư i dùng s h u c a vài t p tin cùng m t lúc.

c n đ t bi u th c d ng $parameter. Ý nghĩa c a nó n m ch thay th tên các câu l nh b i k t qu th c hi n c a chúng. đ g i giá tr c a tham bi n nói chung cũng như bi n môi trư ng nói riêng trong dòng l nh. nhưng nh ng d u ngo c kép trong expression l i đư c đ c như m t ký t thư ng.7.7.5 Phép th s h c (Arithmetic Expansion) Phép th s h c cho phép tính giá tr c a m t bi u th c s h c và thay th nó (bi u th c) b i k t qu thu đư c. Có hai d ng phép th s h c: $[expression] ((expression)) Trong đó expression đư c hi u (đư c bash đ c) như khi đ ng trong ngo c kép. phép th các bi u th c s h c. 5. thì trong k t qu c a phép th s không th c hi n phép phân chia t và s khai tri n m u tên t p tin và thư m c. ho c khi theo sau tên còn có các ký t khác. Có hai d ng phép th l nh: $(command) và ‘command‘ N u ng d ng d ng th hai (chú ý đây s d ng d u “ngo c đơn ngư c”. th các câu l nh và th các bi u th c s h c. 5. N u phép th câu l nh x y ra phía trong ngo c kép. Như v y. Trong t t c các giá tr c a bi n s x y ra phép th d u ngã (∼). N u d ng sau d u ngã là ‘-’. thì t t c các ký t đ ng trong ngo c t o thành m t câu l nh. Phía trong expression có th c hi n các phép th tham bi n và th câu l nh. 5. nhưng r t ti n. hay m t \. S khai tri n các m u tên t p tin và thư m c cũng không đư c th c hi n. vì d u ngo c phân cách bi u th c v i các t hay ký t đ ng sau. Bi u th c hay tên đ ng sau $ có th đư c đưa vào ngo c. N u như s d ng d ng $(command). phím cho nó thư ng n m trên phím Tab). S phân chia t không x y ra. khi đ ng sau nó (d u g ch ngư c) là m t $. s khai tri n tham bi n và bi n s . không nh t thi t. không có ký t nào có ý nghĩa đ c bi t. N u như sau d u ngã là ‘+’. thì t không b thay đ i.4 Phép th các câu l nh Phép th các câu l nh là m t công c r t m ng c a bash.7. D u ngo c ch c n thi t. thì d u g ch ngư c (\) trong d u ngo c s có ch c năng như m t ký t thông thư ng.3 Phép th các tham bi n và bi n s Ký t $ đư c s d ng cho các thao tác th tham bi n. tr trư ng h p “$” (l i gi i thích xem b ng s 3). n u tên c a tham bi n có ch a vài ch s . cũng như xóa các ký t trích d n (xem dư i). ‘. . phép th các câu l nh.116 Bash đ ng sau d u ngã không ph i là tên c a m t ngư i dùng (và không r ng). hay ký hi u này s đư c thay th b i tên đ u đ c a thư m c hi n th i (t c là giá tr c a bi n PWD). tr trư ng h p. mà chúng ta không mu n h v “hi u l m” chúng là m t ph n c a tên tham bi n. thì thay th giá tr c a bi n OLDPWD (thư m c “cũ”).

jpeg. N u tìm th y t v i m t hay vài ký t như v y.jpg N u trong thư m c có nhi u t p tin. thì l nh sau ch đưa ra danh sách các t p tin có s t 0500 đ n 0999: [user]$ ls -l 0[5-9]?? 5 Pathname Expansion . có th dùng câu l nh [user]$ ls *. tương ng v i m u này. mà tên c a chúng là các s g m b n ch s (thư m c /proc là m t ví d +). c th hơn v v n đ này có th đ c trong ph n ARITHMETIC EVALUATION c a trang man c a bash. câu l nh [user]$ echo $((2 + 3 * 5)) cho k t qu b ng “17”. N u giá tr c a IFS b ng m t dòng tr ng. M u tên t p tin r t thư ng xuyên s d ng trong dòng l nh có ch a ls. . và nh đó chia nh dòng l nh thành các t riêng r trong các ch tương ng. và [. thì phân chia t cũng không x y ra. th l nh. thì vi c phân chia t s không x y ra. avi.4. và n u như không đưa ra tùy ch n -f. 5. xác đ nh b i bi n IFS (xem trên). ví d . N u bi u th c không chính xác. bash s đưa ra thông báo l i. và th các bi u th c s h c.7 Khai tri n bi u th c 117 Cú pháp c a bi u th c expression tương t như cú pháp c a bi u th c s h c c a ngôn ng C. v. t p tin hình nh. mà đư ng d n tương ng v i m u không tìm th y. h v l i phân tích dòng l nh m t l n n a (nhưng d ng thu đư c sau các phép th nói trên) và th c hi n vi c phân chia t (word splitting). tương ng v i m u này. N u trong dòng l nh không th c hi n phép th nào trong các phép th k trên. phim v i d ng gif. . và bi n nullglob không đư c đưa ra.7. và c n thay th b i các t trong danh sách đư ng d n.7. h v tìm trong dòng l nh t t c các ký t phân chia. N u như không tìm th y tên tương ng v i m u.v. thì t này s đư c xem như m t m u. . N u như bi n này đư c xác đ nh.5. t c là các ký t đ c bi t b m t giá tr và hi u như các ký t thư ng.7 Khai tri n các m u tên thư m c và t p tin5 Phép th tên đư ng d n và t p tin (Pathname expansion) s d ng đ ch nh m t m u nh g n mà có th ch ra vài t p tin (hay thư m c). trong đó có ch a m t s lư ng l n các t p tin đ các d ng. Các ký t dùng đ t o m u có các giá tr trong b ng 5. 5. thì t s không thay đ i.6 Phân chia t (word splitting) Sau khi th c hi n xong các phép th tham bi n. Sau khi phân chia t . thì t s b xóa kh i dòng l nh. Ví d . Hãy tư ng tư ng là b n mu n xem thông tin c a m t thư m c. Đ thu đư c thông tin ch c a t p tin d ng jpeg. thì bash s tìm ki m trong t ng t c a dòng l nh các ký t *. ?. Thao tác này n m ch .

] B ng 5. các chu i này có th đư c đưa vào d u ngo c nh n: list. và *. until. 5.txt (n u chúng t n t i).. n m gi a hai ký t này. Tương ng b t ký m t ký t đơn nào.1 Toán t if và test (ho c [ ]) C u trúc c a toán t đi u ki n có d ng thu g n như sau: if list1 then list2 else list3 fi trong đó.txt s đư c thay th b i các tên t p sau file1. vnlinux. các ký t \. đ có th xây d ng b t kỳ gi i thu t nào cũng c n có toán t ki m tra đi u ki n.txt.4: Các ký t t o m u Quy lu t thay th Tương ng v i b t kỳ dòng ký t nào. theo t đi n. 5. k c hai ký t t o ra dãy (c và f trong ví d ) cũng tương ng v i m u. Toán t if ki m tra giá tr đư c tr l i b i các câu l nh t list1. không đư c ch ra trong ngo c. Tương ng b t kỳ ký t nào trong s các ký t n m trong d u ngo c vuông này. và filea. Giá tr .7.txt thì không.. nhưng file23.txt. 5.118 Bash Ký t * ? [.txt và vntex..8 Xóa các ký t đ c bi t Sau khi làm xong t t c các phép th .txt (n u các t p tin này t n t i). b t ký ký t nào. ‘ và " còn l i trong dòng l nh (chúng đư c s d ng đ hu b giá tr đ c bi t c a các ký t khác) s b xóa h t. nh đó nó (bash) tr thành m t ngôn ng l p trình m nh. bi u th m t dãy. và list3 là các chu i câu l nh. thì s th c hi n nh ng l nh t list3. Ví d . file2.. Ví d .txt. Ngoài ra. thì s th c hi n các l nh t list2. phân cách nhau b i d u tr (-). k c dòng r ng. N u ký t đ u tiên trong ngo c vuông là ! hay ^.txt s đư c thay th b i vnoss. m u file?.else và case.then. ví d c-f.8. N u trong danh sách có vài câu l nh. thì ki m tra giá tr đư c tr l i b i câu l nh cu i cùng c a danh sách. thì m u ( v trí này) s tương ng t t c các ký t . còn n u giá tr này khác không. while. phân cách nhau b i d u ph y và k t thúc b i m t d u ch m ph y hay ký t dòng m i. list2. cũng như các toán t vòng l p for.8 Shell — m t ngôn ng l p trình Như đã nói trên..txt. v*. file3. list1. N u giá tr này b ng 0..png s tương ng t t c các t p tin có ph n m r ng png (t p tin đ h a hai chi u). H v bash h tr các toán t l a ch n if. C p ký t .

đư c xây d ng trên cơ s ki m tra thu c tính t p tin. then unicode_start else echo "hello world" fi V toán t test (hay [. L nh test th c hi n phép tính m t bi u th c nào đó. 5.5. và tr l i giá tr 0. và 1 trong trư ng h p ngư c l i. Bi u th c đ ng sau if hay elif thư ng là câu l nh test. ch không ph i là m t phép bi n hóa th n thông nào đó c a h v bash (ch là cú pháp c a [ đòi h i ph i có d u đóng ngo c). và là m t t p tin thi t b ký t (charater device) đ c bi t. D ng đ y đ c a l nh if: if list then list [ elif list then list ] . và là m t t p tin thi t b kh i (block device) đ c bi t. Thay vì gõ test expression có th đưa bi u th c expression vào ngo c vuông: [ expression ] C n chú ý r ng.. nh ng gì n m trong nó. test và [ đó là hai tên c a c a cùng m t chương trình. n u bi u th c là đúng.8. Bi u th c ph c t p hơn đư c t o ra t các thao tác đơn và kép sau (“nh ng viên g ch cơ s ”): • -a file Đúng n u t p tin có tên file t n t i. • -b file Đúng n u file t n t i. [ else list ] fi ( đây d u ngo c vuông ch có nghĩa là..2 Toán t test và đi u ki n c a bi u th c Bi u th c đi u ki n. so sánh các dòng và các so sánh s h c thông thư ng. • -c file Đúng n u file t n t i.. Bi u th c đư c đưa t i chương trình test như m t tham s c a chương trình. Và cũng c n chú ý r ng ch c a test trong c u trúc if có th s d ng b t kỳ chương trình nào. mà có th đư c bi u th b i d u ngo c vuông [ ]. Đ k t thúc m c này. s d ng trong toán t test. trùng v i giá tr mà chu i l nh th c hi n (list2 ho c list3) đưa ra.. • -d file Đúng n u file t n t i và là m t thư m c.]) c n đi sâu hơn.8 Shell — m t ngôn ng l p trình 119 đư c tr l i b i toán t if như v y. ngo c vuông. . không nh t thi t ph i có). chúng ta đưa ra ví d s d ng if: if [ -x /usr/bin/unicode_start ] .

• -r file Đúng n u t p tin có tên file t n t i và có quy n đ c. . • -s file Đúng n u t p tin có tên file t n t i và kích thư c l n hơn không. • -g file Đúng n u t p tin có tên file t n t i và đư c đ t bit thay đ i nhóm. • -t fd Đúng n u b mô t c a t p tin (fd) m và ch lên terminal. • -0 file Đúng. n u t p tin có tên file t n t i và là socket. • -f file Đúng n u t p tin có tên file t n t i và là m t t p tin thông thư ng. • -N file Đúng. xác đ nh b i ID nhóm có hi u l c. • -p file Đúng n u t p tin có tên file t n t i và là tên c a m t ng (kênh FIFO). n u t p tin có tên file t n t i và thay đ i t l n đư c đ c cu i cùng. n u t p tin có tên file và ch s h u c a nó là ngư i dùng mà ID có hi u l c ch đ n. Bash • -h file hay -L file Đúng n u t p tin có tên file t n t i và là liên k t m m (liên k t tư ng trưng). • -k file Đúng n u t p tin có tên file t n t i và đư c đ t bit sticky. • -G file Đúng. • -w file Đúng n u t p tin có tên file t n t i và có quy n ghi. • -x file Đúng n u t p tin có tên file t n t i và có quy n th c thi. • -S file Đúng. • -u file Đúng n u t p tin có tên file t n t i và đư c đ t bit thay đ i ngư i dùng. • -p file Đúng n u t p tin có tên file t n t i và là tên c a m t ng (kênh FIFO). n u t p tin có tên file t n t i và thu c v nhóm.120 • -e file Đúng n u t p tin có tên file t n t i.

n u hai chu i trùng nhau. • expression1 -a expression2 Phép c ng lôgic AND. n u chu i string1. VÀ (c ng) và HO C: • !(expression) Phép ph đ nh. n u bi u th c sai. • -z string Đúng. -ne (khác. theo t đi n. n u t p tin file1 “già” hơn file1 (trư ng h p ngư c l i c a trư ng h p trên). • arg1 OP arg2 đây OP là m t trong các phép so sánh s h c: -eq (b ng). • string1 == string2 Đúng. n u hai chu i không trùng nhau. Chi ti t xin xem trên trang man bash.5. • -o optname Đúng. không b ng). ch các tham s arg1 và arg2 có th s d ng các s nguyên (âm ho c dương). Đúng n u c hai bi u th c đ u đúng. theo t đi n. • -n string Đúng. -ge (l n hơn ho c b ng).8 Shell — m t ngôn ng l p trình • file1 -nt file2 Đúng. đ ng sau chu i string2 (đ i v i ngôn ng hi n th i). • file1 -ef file2 Đúng. -gt (l n hơn). Có th thay hai == b ng m t =. n u t p tin file1 và file2 có cùng m t s thi t b và ch s mô t inode. Đúng. n u đ dài c a chu i khác không. n u chu i string1. 121 • file1 -ot file2 Đúng. • string1 < string2 Đúng. . T các bi u th c đi u ki n cơ b n này có th xây d ng các bi u th c ph c t p theo ý mu n nh các phép lôgíc thông thư ng PH Đ NH. đ ng trư c chu i string2 (đ i v i ngôn ng hi n th i). • expression1 -o expression2 Phép lôgíc ho c OR. -le (nh hơn ho c b ng). • string1 > string2 Đúng. n u tùy ch n optname c a h v đư c kích ho t. • string1 !== string2 Đúng. n u đ dài c a chu i string b ng không. n u t p tin file1 có th i gian s a đ i mu n hơn file2. Đúng n u m t trong hai bi u th c đúng. -lt (nh hơn).

.. N u nh p vào m t dòng r ng. thì s đưa vào các tham bi n v trí (xem trên) theo m t cách tương t . esac Câu l nh case đ u tiên khai tri n t word. và h v ch chu i nh p vào trên đ u vào tiêu chu n. no|false) CLOCKFLAGS="$CLOCKFLAGS --localtime". tương ng v i m t trong các s đã hi n ra. hơn n a m i t đư c đi kèm v i m t s th t . done Lúc đ u t m u word hình thành m t danh sách nh ng t tương ng v i m u này. ) list . đư c ghi l i trong bi n REPLY.c p th hai.. Chu i mà ngư i dùng nh p vào. Danh sách l nh list đư c th c hi n v i giá tr bi n name đã ch n. nh n giá tr no ho c false .sysinit (ki u t ch c kh i đ ng FreeBSD style): case "$UTC" in yes|true) CLOCKFLAGS="$CLOCKFLAGS -u". ] do list. . thì bi n name s nh n giá tr b ng không.122 Bash 5. N u m u word b b qua (không có trong toán t select). thì s và t s đư c hi n ra them m t l n n a.. và th c hi n danh sách list các câu l nh đ ng sau m u đã tìm th y. ] . 5. CLOCKDEF="$CLOCKDEF (utc)". tr l i giá tr mà câu l nh cu i cùng trong danh sách list đưa ra. Sau đó. Trong trư ng h p ngư c l i. N u chu i nh p vào có ch a s .. N u nh p vào b t kỳ m t giá tr nào khác.4 Toán t select Toán t select cho phép t ch c h i tho i v i ngư i dùng.8... esac N u bi n s (UTC) nh n giá tr yes ho c true.d/rc. T p h p nh ng t này đư c đưa vào kênh thông báo l i tiêu chu n. b ng 0.. d u nh c PS3 đư c đưa ra. Sau khi tìm th y s trùng nhau đ u tiên thì d ng vi c so sánh l i. và so sánh nó (word) v i m i t trong m u pattern theo th t . n u không tìm th y s trùng nhau nào. CLOCKDEF="$CLOCKDEF (localtime)". Sau đây là m t script nh (xin hãy gõ không d u n u console c a b n chưa h tr vi c hi n th Ti ng Vi t): . thì bi n name s đư c gán giá tr b ng t đi kèm v i s này. Nó có d ng sau: select name [ in word. Giá tr tr l i b i toán t này.8.3 Toán t case D ng c a toán t case như sau: case word in [ [(] pattern [ | pattern ] . Ví d s d ng toán t case sau l y t script /etc/rc. thì s th c hi n c p l nh th nh t.

sh). Ví d .5. D ng t ng quát c a toán t for như sau: for name [ in word. Nói chung c u trúc có d ng sau: for name in words do list done Quy lu t xây d ng danh sách l nh (list) gi ng trong toán t if. do break done echo "B n đã ch n $var" 123 Ghi đo n trên vào m t t p tin (ví d . done Đ u tiên cũng x y ra s khai tri n t word theo quy lu t khai tri n bi u th c (xem trên).5 Toán t for Toán t for làm vi c có khác m t chút so v i for trong các ngôn ng l p trình thông thư ng. chmod 755 select.sh). thay đ i đ t p tin thành kh thi (ví d . do touch fu$a done Có th gõ ba dòng này trên m t dòng l nh. thì s th y thông báo sau: B n đã ch n MacOSX 1 đ n 7).8. và fu3: for a in 1 2 3 . select./select. v i . Sau đó bi n name l n lư t đư c gán các giá tr thu đư c t s khai tri n này. và ch y (. k t qu thu đư c tương t script. và th c hi n danh sách l nh list trong m i l n như v y. Thay vì tăng ho c gi m giá tr c a m t bi n s nào đó (lên ho c xu ng) m t đơn v sau m i vòng l p. ] do list . N u b n nh p 4 (nh n c 5. N u không có “in word”. fu2. thì danh sách l nh list đư c th c hi n m t l n cho m i tham bi n v trí đã đưa ra. thì nó gán giá tr ti p theo trong danh sách t đưa s n cho bi n đó trong m i vòng l p.8 Shell — m t ngôn ng l p trình #!/bin/sh echo "B n thích dùng OS nào?" select var in "Linux" "Gnu Hurd" "Free BSD" "MacOSX" "Solaris" "QNX" "Other". Trên màn hình s hi n ra câu h i sau: B n thích dùng OS nào? 1) Linux 3) Free BSD 2) Gnu Hurd 4) MacOSX #? 5) Solaris 6) QNX 7) Other Hãy nh n m t trong 7 s đưa ra (t <Enter>).sh). Script sau t o các t p tin fu1.

Đ làm đư c đi u này ch c n vi t vòng l p for như sau: for a in $( seq 1 6 ) .6 Toán t while và until Toán t while làm vi c tương t như if.. nhưng vòng l p các câu l nh trong list2 ch th c hi n khi đi u ki n còn đúng.SEPARATOR -. “fu10”.8. t c là chúng ta có th t t o các câu l nh m i. n u câu l nh cu i cùng trong danh sách list1 tr l i tr ng thái thoát ra khác không. Hàm s có c u trúc như sau: function name () { list } . và đưa ra chu i t t c các s n m gi a hai s này (c ng thêm c chúng). t c là list2 th c hi n.>> logfile sleep 60 done Chương trình (script) trên s theo dõi và ghi l i n i dung c a thư m c có tên directory theo t ng phút n u thư m c còn t n t i. Hàm s làm vi c và đư c s d ng gi ng như các câu l nh thông thư ng c a h v . ti p nh n hai s nguyên làm tham s .8.. C u trúc có d ng như sau: while list1 do list2 done Ví d : while [ -d directory ] .124 Bash Trên Linux có chương trình seq. và s ng ng khi đi u ki n không th a mãn. do ls -l directory >> logfile echo -. 5. 5. .7 Các hàm s H v bash cho phép ngư i dùng t o các hàm s cho mình. Toán t until tương t như toán t while: until list1 do list2 done Đi m khác bi t n m ch . s d ng giá tr ph đ nh c a đi u ki n list1. Nh câu l nh này có th s d ng for c a bash làm vi c như toán t for trong các ngôn ng l p trình thông thư ng. do cat fu$a done Câu l nh (script) này đưa ra màn hình n i dung c a 10 t p tin (n u có): “fu1”..

các tham s c a hàm s tr thành các tham bi n v trí (positional parameters. như v y $1 là tham s đ u tiên.8. I=$(( $I + 1 )) }. while [ $2 != $I ]. t c là g i hàm s ngay trong ph n thân c a nó. xem trên) trong th i gian th c hi n hàm này. thì hàm s s b d ng l i và quy n đi u khi n đư c trao cho câu l nh đ ng sau hàm. còn ph n thâm c a hàm s t o b i danh sách các câu l nh list. Cú pháp đưa ra bi n đ a phương gi ng h t các tham bi n khác. th c hi n công vi c c a l nh seq đã nh c đ n trên: seq() { local I=$1.8.9 Bi n n i b (local) N u mu n t o m t tham bi n đ a phương. name xác đ nh tên c a hàm (dùng đ g i hàm).8 Tham s Khi hàm s đư c g i đ th c hi n. done. Chúng đư c đ t các tên như $n. Các câu l nh này s đư c th c hi n m i khi tên name đư c g i (gi ng như m t l nh thông thư ng). có th s d ng t khóa local. Khi th c hi n xong hàm s .8 Shell — m t ngôn ng l p trình 125 Hơn n a t function không nh t thi t ph i có. nhưng s r t có ích trong các hàm s v i m c đích khác. trong đó n là s c a tham s mà chúng ta mu n s d ng. nó (tùy ch n) h y b vi c t o dòng m i. Hàm s th c hi n trong ph m vi h v hi n th i: không có ti n trình m i nào đư c ch y khi biên d ch hàm s (khác v i vi c ch y script). Hàm s tính giai th a fact M t ví d khác: fact() { . M c dù tùy ch n này không có nhi u ý nghĩa v i m c đích chúng ta mu n đây. Trong khi th c hi n n u g p câu l nh n i trú return (trong ph n thân c a hàm). echo $2 } C n chú ý đ n tùy ch n -n c a echo. Vi c đánh s b t đ u t 1. Cũng có th s d ng t t c các tham s m t lúc nh $*. ch có đi u c n đ ng sau t khóa local: “local name=value”. n m gi a { và }. và đưa ra s th t c a tham s nh $# Tham s v trí s 0 không thay đ i. C n chú ý r ng hàm có th là đ qui. các tham bi n v trí và tham bi n đ c bi t # s đư c tr l i các giá tr mà chúng có trư c khi ch y hàm. 5. Dư i đây là m t ví d hàm s . do { echo -n "$I ". 5.5.

5. đ th c hi n script myscript c n đưa câu l nh “sh myscript”. Đi u này có nghĩa là. b n s th y dòng đ u tiên có d ng sau: #!/bin/sh. Câu l nh s có d ng: source filename [arguments] Câu l nh này đ c và th c hi n các câu l nh có trong t p tin filename trong môi trư ng hi n th i. và tr l i giá tr . N u không câu l nh nào đư c th c hi n.” (đ ng nghĩa c a source). else { echo $(( $1 * $( fact $(( $1 -. khi chúng ta g i script đ th c hi n . mà l nh source tr l i. N u không có tham s . hay m t d u ch m “. Hãy chú ý đ n s khai tri n s h c. li t kê trong PATH. Trong trư ng h p này script ch đơn gi n là m t tham s c a l nh nói trên. trùng v i giá tr . và phép th các câu l nh. xác đ nh b i câu l nh cu i cùng c a filename. N u có các tham s (đưa ra arguments. Khi này có th b t b n sao này ch y m t script nào đó. xem đ nh d ng câu l nh trên). thì s tìm nó (t p tin) trong thư m c hi n th i. N u filename không ch a d u g ch chéo. thì tham bi n v trí không thay đ i. thì đư ng d n. N u xem n i dung c a m t t p tin script nào đó (nh ng t p tin như v y có r t nhi u trên h th ng). Trong các trư ng h p thông thư ng khi ch y script s có m t ti n trình m i đư c ch y. fi } Bash Đây là hàm s giai th a. then echo 1. Tương t hàm s script có th đư c th c hi n như m t câu l nh.10 Câu l nh sh B n luôn luôn có th ch y m t b n sao c a h v bash nh câu l nh bash hay sh. Cú pháp truy c p đ n các tham s cũng như hàm s . 5. N u trong thư m c. tr l i b i câu l nh cu i cùng trong script. Như v y. li t kê trong bi n s PATH.126 if [ $1 = 0 ]. n u đưa tên c a script như m t tham s cho l nh bash. T p tin này không nh t thi t ph i kh thi (không nh t thi t ph i có bit x).1 )) ) )) }. thì trong th i gian th c hi n script chúng s thành các tham bi n v trí. c n s d ng câu l nh source. Đ có th th c hi n script trong b n bash hi n th i. không tìm th y t p tin c n. s đư c s d ng đ tìm t p tin có tên filename. ho c không tìm th y t p tin filename.9 Script c a h v và l nh source Script c a h v ch là các t p tin có ch a chu i l nh. Giá tr (tr ng thái). thì tr ng thái thoát b ng 0. m t ví d c a hàm đ qui.

tín hi u.10 Câu l nh sh 127 như m t l nh thông thư ng. M t chú ý khác là ký t # dùng đ vi t l i chú thích trong script. N u b n mu n ki m ch ng l i tác d ng c a ký t này. .v. Ví d . v. Chúng ta s d ng bài h c ng n g n v bash t i đây.5. . ví d . script trên ngôn ng Perl b t đ u b i dòng có d ng !/bin/perl. thì hãy nh p vào dòng l nh m t câu l nh b t kỳ. T t c nh ng gì đ ng sau ký t này đ n cu i dòng s đư c coi là chú thích và b bash b qua (t c là h v s không xem dòng này là câu l nh). Các b n s tìm th y thông tin c n thi t trong các cu n hư ng d n khác ho c trên trang man bash. và đ t trư c nó (câu l nh) ký t #. . còn r t nhi u v n đ quan tr ng c n xem xét nhưng n m ngoài ph m vi c a bài h c. T t nhiên. Có th thay th dòng này b i liên k t đ n b t kỳ m t chương trình nào. l ch s câu l nh. mô t v thư vi n readline. mà s đ c t p tin và th c hi n các câu l nh tương ng. ví d “# ls”. b n s th y r ng h v b qua câu l nh này. thì /bin/sh s giúp chúng ta “thu x p” m i th . qu n lý ti n trình.

Nói cách khác. Đ u tiên chúng ta hãy xem xét cách cài đ t chương trình này . đây là trình qu n lý t p tin (File Manager). 2.v. . nhưng s thu n ti n hơn khi s d ng chương trình Midnight Commander. cd. m t trình qu n lý t p tin m nh. Khi làm vi c v i chương trình qua trình gi l p (emulator) c a terminal trong giao di n đ h a. B i vì th m chí nh ng t h p “phím nóng” chính c a chúng cũng trùng nhau. cat.Chương 6 S d ng Midnight Commander M i th đ u đã đư c vi t ra — các nhà l p trình Nga. Ki n th c đưa ra ch áp d ng đư c hoàn toàn trong trư ng h p chương trình ch y t kênh giao tác (console).1 Cài đ t chương trình Midnight Commander M c dù đ đi u khi n h th ng t p tin nói chung và đ làm vi c v i các t p tin nói riêng có th s d ng các câu l nh c a h đi u hành. rmdir. . rm. vì vi c nh n phím đã b v đ h a chi m l y. Sau khi đ c xong chương này b n đ c s có th s d ng các t h p phím cũng như giao di n c a Midnight Commander đ th c hi n r t nhi u công vi c có liên quan đ n h th ng t p tin t nh bé đ n n ng nh c. thì s làm vi c v i mc m t cách d dàng. 6. hay còn g i là giao di n text. Trong trư ng h p này. m c dù có th áp d ng cho nh ng phiên b n khác. Trong chương này chúng ta s h c cách s d ng chương trình Midnight Commander. . mkdir. Ghi chú: 1.6.1-pre3. . Tác gi xin có l i khuyên đ i v i nh ng ai còn xa l v i NC hay FAR (n u như có?): hãy chú ý đ c và th c hành chăm ch . mv. Midnight Commander (hay thư ng rút g n thành mc) là chương trình cho phép xem c u trúc cây thư m c và th c hi n nh ng thao tác đi u khi n h th ng t p tin. .v . more v. ví d xterm. đ có th làm vi c v i Midnight Commander b n đ c ch c n xem nhanh nh ng n i dung phía dư i. vì Midnight Commander s giúp đ r t nhi u trong khi làm vi c v i h đi u hành. thì m t s mô t ho t đ ng c a chương trình s không còn chính xác n a. v. ls. rxvt. như pwd. cp. S không tương ng như v y thư ng g p nh ng ch nói v phím “nóng”. . N u như b n đ c có kinh nghi m làm vi c v i Norton Commander (nc) trong MS-DOS hay v i FAR trong Windows. . Ki n th c trong chương này đư c vi t đ s d ng cho phiên b n 4.

thì c n tìm xem t p tin chương trình mc n m đâu (có th dùng câu l nh find / -name mc -type f). Nhưng các gói (rpm. . sau đó gõ vào dòng l nh đư ng d n đ y đ t i t p tin đó.1 6. tgz . trên máy tác gi là /usr/bin/mc.1: Giao di n ti ng Vi t c a Midnight Commander G n như toàn b không gian màn hình khi làm vi c v i Midnight Commander b chi m b i hai “b ng”2 hi n th danh sách t p tin c a hai thư m c. c n gõ vào dòng l nh shell câu l nh mc và nh n <Enter>.6. Vì th n u mu n b n có th s d ng giao di n ti ng m đ c a Midnight Commander. 2 panel 1 . deb. ) c a Midnight Commander s có trên đĩa. Sau khi ch y chương trình. tác gi r t mu n r ng chương trình s đư c cài đ t ngay sau khi cài xong h đi u hành.2 V ngoài c a màn hình Midnight Commander 129 Trong ph n l n các b n phân ph i chương trình Midnight Commander không đư c t đ ng cài đ t cùng v i h th ng. . ví d .2. và vi c cài đ t t các gói này là không khó khăn gì. Hình 6. N u ng d ng không ch y. b n đ c s th y màn hình màu da tr i làm chúng ta nh đ n màn hình chương trình Norton Commander cho MS-DOS hay chương trình FAR cho Windows như trong hình 6. Có th chuy n đ n trình đơn đ ch n các l nh có trong đó b ng phím <F9> ho c nh phím chu t (n u như sau khi kh i Ngoài ra ngư i d ch cu n sách này cũng đã d ch giao di n c a Midnight Commander ra ti ng Vi t. Và b i vì chương trình này s làm cho b n đ c “d th ” hơn. phía trên hai b ng này là trình đơn (th c đơn).2 V ngoài c a màn hình Midnight Commander Đ kh i đ ng Midnight Commander.

“v” và “>” s d ng đ đi u khi n chương trình b ng chu t (nh ng nút này không làm vi c n u như b n đ c ch y mc trong trình gi t o (emulator) terminal). m i nút tương ng v i m t phím ch c năng <F1> – <F10>. . ngo i tr <F1> và <F9>. Cũng có th b đi dòng l i khuyên này khi đi u ch nh c u hình c a chương trình. và l i mách nư c s tr thành không c n thi t (và vi c nh n chu t lên các nút không ph i lúc nào cũng thu n ti n). phím đ chuy n vào trình đơn chính là <F9>). danh sách t p tin c a m t thư m c nào đó và dòng tr ng thái nh (mini-status. b n đ c s nhanh chóng nh đư c công d ng c a 10 phím này. th m chí n u b n đ c không nh ph i dùng phím nào đ th c hi n công vi c mong mu n. S ti t ki m có hai lý do. Qua trình đơn File (T p tin) có th th c hi n b t kỳ thao tác nào mà thông thư ng ph i nh các phím ch c năng. M i b ng g m ph n đ u.2: V ngoài c a màn hình Midnight Commander đ ng mc b n đ c không nhìn th y dòng trình đơn đâu. Vi c hi n th các nút có th t t đi.130 S d ng Midnight Commander Hình 6. và đ ng th i còn có ba nút – “<”. n u như b n đ c mu n ti t ki m không gian màn hình (cách làm s có sau này khi chúng ta nói v c u hình chương trình). vì có hi n th trình đơn hay không đư c xác đ nh b i c u hình chương trình). Th nh t. Có th coi dòng này là l i mách nư c v cách s d ng nh ng phím ch c năng đã nói. thì v n có th s d ng trình đơn File (T p tin) trong trình đơn chính c a chương trình (ch c n nh r ng. đây có th nh p và th c hi n b t kỳ câu l nh nào c a h th ng. và còn có th ch y tr c ti p các câu l nh tương ng b ng cách nh n chu t vào các nút này. Th hai. Dòng th hai t dư i lên là dòng l nh c a chương trình Midnight Commander (hay chính xác hơn là dòng l nh c a shell hi n th i). thì cũng đ ng bu n. có th không hi n th n u đ t trong c u hình chương trình). phía trên dòng này (nhưng phía dư i các b ng) có th hi n th “nh ng l i khuyên có ích” (hint4s). Trong ph n đ u c a m i b ng là đư ng d n đ y đ đ n thư m c có n i dung đư c hi n th . Trên dòng tr ng thái nh có hi n th m t vài d li u v t p tin hay thư m c đang đư c thanh chi u sáng ch đ n (ví d . Dòng dư i cùng là dãy các nút. kích thư c t p tin và quy n truy c p).

Tr giúp đư c t ch c dư i d ng siêu văn b n.6. Tương t . Đ di chuy n trong c a s xem tr giúp có th s d ng nh ng phím mũi tên ho c chu t. Xin đưa ra m t b ng ng n g n li t kê các t h p phím dùng chung đ đi u khi n vi c di chuy n. Các thao tác như sao chép (<F5>) hay di chuy n (<F6>) t p tin s d ng thư m c đư c hi n th trong b ng th hai làm thư m c đích đ n (s sao chép hay di chuy n đ n thư m c này). trong shell đã ch y chương trình Midnight Commander.1. Nh ng liên k t đó đư c đánh d u b i n n màu xanh nh t . Chương trình xem t p tin n i trú. thư m c hi n th i là thư m c đư c hi n th trong b ng ho t đ ng.1: Các t h p phím di chuy n dùng chung Phím <↑> ho c <Ctrl>+<P> <↓> ho c <Ctrl>+<N> <Page Up> ho c <Alt>+<V> <Page Down> ho c <Ctrl>+<V> <Home> <End> Di chuy n th c hi n Di chuy n tr l i (lên trên) m t dòng Di chuy n v phía trư c (xu ng dư i) m t dòng Quay l i m t trang Ti n v trư c m t trang Quay v dòng đ u Chuy n đ n dòng cu i cùng 6. Ngoài nh ng t h p phím di chuy n nói chung trong b ng 6. B ng hi n th i có thanh chi u sáng tên thư m c ph n đ u và thanh chi u sáng m t trong nh ng dòng c a b ng đó.2: Di chuy n trong trình xem t p tin Phím Di chuy n th c hi n <B> ho c <Ctrl>+<B> ho c <Ctrl>+<H> Lùi l i m t trang ho c <Backspace> ho c <Delete> <D u cách> Ti n t i m t trang <U> ( <D> ) Lùi l i (ti n t i) n a trang <G> (<Shift>+<G>) Đi t i đ u (cu i) danh sách . Thanh chi u sáng có th di chuy n nh các phím đi u khi n vi c di chuy n. Liên k t đư c ch n hi n th i s có n n màu xanh đ m .3 Tr giúp 131 Ch m t trong hai b ng là hi n th i (ho t đ ng). chương trình xem tr giúp còn ch p nh n nh ng t h p phím s d ng trong chương trình con dùng đ xem t p tin: B ng 6. Vì th vi c di chuy n s d ng m t b các t h p phím (nhưng trong m i chương trình con có các t h p phím ch áp d ng trong n i b mà thôi). có th xem tr giúp vào b t kỳ lúc nào nh phím <F1>. chương trình xem l i mách nư c và chương trình xem thư m c s d ng cùng m t mã chương trình đ đi u khi n vi c di chuy n. t c là trong văn b n có c nh ng liên k t đ n nh ng ph n khác. B ng 6. H u h t các thao tác đư c th c hi n trong thư m c này.3 Tr giúp Khi làm vi c v i chương trình Midnight Commander. Trong b ng ho t đ ng m t dòng đư c chi u sáng.

<Esc> B n có th s d ng phím tr ng (space) đ chuy n t i trang tr giúp ti p theo và phím <B> đ quay l i m t trang. Tính năng này đư c th c hi n n u có ch y driver gpm không ph thu c vào nơi ngư i dùng làm vi c là trên kênh giao tác Linux hay ch y Midnight Commander trên xterm (ho c th m chí s d ng k t n i t xa qua telnet. ho c ch y chương trình có kh năng và đã đư c gán đ đ c t p tin này. 6. Ví d chương trình xv đư c gán đ m các t p tin hình n *. Chu t ph i s d ng đ quay l i ph n đã xem trư c đó. chương trình xv s cho chúng ta th y t p tin screenshot. B ng 6.3: Di chuy n khi xem tr giúp Di chuy n th c hi n Đi t i liên k t ti p theo Quay l i liên k t trư c Đi t i liên k t ti p theo ho c kéo lên m t dòng Quay l i liên k t trư c ho c kéo xu ng m t dòng M trang mà liên k t hi n th i ch t i M trang tr giúp v a xem trư c trang hi n th i Tr giúp s d ng c a b n thân tr giúp Chuy n t i ph n ti p theo c a tr giúp Chuy n t i ph n n m trư c c a tr giúp Chuy n t i m c l c c a tr giúp Thoát kh i tr giúp Phím <Tab> <Alt>+<Tab> <↓> <↑> <→> ho c <Enter> <←> ho c <L> <F1> <N> <P> <C> <F10>.3). thì có th s d ng chu t đ di chuy n. Chương trình ghi nh th t di chuy n theo liên k t và cho phép tr l i ph n đã xem trư c đó b ng phím <L>. Đ đánh d u (ch n) t p tin nào đó. Nh n chu t (b t kỳ nút nào) lên các nút ch c năng (các nút F1-F10 dư i cùng) cũng đ ng th i ch y chương trình tương ng v i nút đó. thì s th c hi n di chuy n dài 1 c t t p tin v phía đ u danh sách. thì khi nh n kép chu t trái lên t p tin screenshot.4 S d ng chu t Chương trình Midnight Commander có h tr chu t. Đ b đánh d u thì cũng ch c n s d ng nút chu t ph i đó. N u như có h tr chu t (xem ph n 6.jpg.4). B ng cách nh n nút chu t trái s có th di chuy n dòng chi u sáng lên b t kỳ t p tin nào trong các b ng. Nh n kép chu t trái lên tên t p tin đ th c hi n t p tin (n u đây là m t chương trình). rlogin hay ssh). Nh n chu t trái lên liên k t đ chuy n t i văn b n mà liên k t này ch t i. N u nh n chu t lên khung trên cùng c a b ng có m t danh sách các t p tin r t dài. Nh n chu t (b t kỳ nút nào) lên trình đơn trên cùng s m ra (nói đúng hơn là m xu ng dư i) trình đơn con c a nó.jpg. khi này tên t p tin s có màu khác (theo m c đ nh là màu vàng ). ch c n nh n nút chu t ph i lên tên c a t p tin đó.jpg trông ra sao. Nh n .132 S d ng Midnight Commander Ngoài nh ng t h p phím đã ch ra còn có th s d ng nh ng t h p ch làm vi c khi xem tr giúp (chúng đư c li t kê trong b ng 6.

ch n đo n văn b n c n thi t b ng cách kéo chu t. 6. r i l i nh n và gi phím <Shift> trong khi nh n chu t ph i. Tuy nhiên có th hi n th nh ng thông tin khác trên b ng. Thu g n (Brief). Có 4 kh năng đ ch n: Đ y đ (Full). b n c n nh n và gi phím <Shift>. N u b n đ c mu n thay đ i d ng hi n th danh sách t p tin.) c a b ng (trái ho c ph i) tương ng.1 D ng danh sách t p tin D ng b ng trên đó hi n th danh sách t p tin và thư m c con có th thay đ i qua các câu l nh c a th c đơn m ra khi ch n B ng trái (Left) và B ng ph i (Right)..5 Đi u khi n các b ng Các b ng c a Midnight Commander thông thư ng hi n th nh ng gì có trong thư m c c a h th ng t p tin (vì th thư ng đư c g i là b ng thư m c).5 Đi u khi n các b ng 133 chu t lên khung n m dư i c a b ng.. M r ng (Long) và Ngư i dùng t xác đ nh (User). thì tương ng s th c hi n di chuy n dài 1 c t t p tin v phía cu i danh sách... C n chú ý r ng tính năng này không làm vi c trong các trình gi l p terminal như xterm. Đ làm đư c đi u này. thì có th s d ng câu l nh D ng danh sách. Phương pháp di chuy n này cũng làm vi c khi xem tr giúp và xem danh sách Cây thư m c N u ch y mc v i h tr chu t thì ngư i dùng có th th c hi n các thao tác sao chép và dán văn b n khi gi phím <Shift>.5. (Listing mode. do đó trên m i b ng có hai c t và hi n th đư c s t p tin nhi u g p đôi. Trong ph n này s nói đ n cách thay đ i d ng c a b ng hay cách hi n th thông tin trên b ng. Hình 6. .3: H p tho i ch n đ nh d ng hi n th • Đ nh d ng Đ y đ (Full) hi n th tên t p tin. • Đ nh d ng Thu g n (Brief) ch hi n th tên t p tin. kích thư c c a nó và th i gian s a đ i g n nh t. đưa con tr đ n nơi c n dán. 6. sau đó th phím <Shift> ra.6.

Ký t nh ng giá tr mà câu l nh ls -F đưa ra: * (asterisk) – cho t p tin chương trình.134 S d ng Midnight Commander • Đ nh d ng M r ng (Long) hi n th t p tin như khi th c hi n câu l nh ls -l. • mode – quy n truy c p d ng s 8bit. . • type – hi n th d ng t p tin (m t ký t ). ∼ (d u sóng) – cho các liên k t tư ng trưng đ n thư m c. • perm – dòng ch ra quy n truy c p đ n t p tin. còn đ i v i thư m c con thì ch đưa ra dòng ch “SUB-DIR” ho c “UP–DIR”. thì ngư i dùng c n đưa ra d ng hi n th t ch n c a mình. ng) – cho các t p tin d ng FIFO. / (slash) – cho thư m c. • owner – ch s h u t p tin. thì đ u tiên c n ch ra kích thư c c a b ng: “half” (m t n a màn hình) ho c “full” (toàn màn hình). • size – kích thư c t p tin. • ctime – th i gian t o t p tin. • bsize – kích thư c d ng khác. Ti p theo c n li t kê tên nh ng vùng hi n th cùng v i chi u r ng c a vùng. . @ (at-sign) – cho liên k t (links). • N u ch n đ nh d ng Ngư i dùng t xác đ nh (User). khi đó ch đưa ra kích thư c t p tin. = (gi u b ng) – cho các sockets. | (pipe. • nuid – ch s xác đ nh c a ngư i dùng (UID). ! (d u ch m than) – cho các liên k t tư ng trưng đã h ng (stalled) (liên k t ch đ n t p tin không còn n a). • ngid – ch s xác đ nh c a nhóm (GID). Sau kích thư c b ng có th ch ra là trên b ng ph i có hai c t b ng cách thêm s 2 vào dòng đ nh d ng. Có th s d ng nh ng tên vùng sau: • name – tên t p tin. Khi t đưa ra đ nh d ng. V i đ nh d ng này m t b ng chi m h t màn hình. này có th là m t trong • nlink – s liên k t đ n t p tin. • mtime – th i gian s a đ i t p tin cu i cùng. • atime – th i gian truy c p đ n t p tin l n cu i. + (d u c ng) – cho các thi t b trao đ i theo block.(g ch ngang) – cho các thi t b trao đ i theo byte.

135 Đ ng th i còn có th s d ng nh ng tên vùng sau đ t ch c vi c hi n th thông tin ra màn hình: • space – chèn kho ng tr ng.|. c n thêm d u hai ch m ‘:’. mtime. • | – chèn đư ng th ng đ ng. đ nh d ng Đ y đ (Full) th c ch t đư c xác đ nh b i dòng: half type. thì s đó s đư c hi u là chi u r ng nh nh t c a vùng. sau đó ch ra s v trí (ký t ) c n gi cho vùng này. space. space.. size.type.size:7.. space.|.|.5 Đi u khi n các b ng • group – nhóm s h u t p tin. group.4) ngoài vi c cho phép ch n cách s p x p còn cho phép ch n s p x p theo th t ngư c l i (đánh d u tuỳ ch n Ngư c l i (Reverse)). ho c kho ng tr ng – n u ngư c l i. name Dư i đây là ví d d ng hi n th do ngư i dùng đưa ra: half name.6. N u sau s v tr có đ t d u ‘+’. space. nlink. hay s p x p có tính đ n ki u ch thư ng ch hoa hay không (tùy ch n Tính đ n ki u ch (case sensitive)). Ví d . . • inode – ch m c inode c a t p tin.name.mode:3 Hi n th danh sách t p tin trên m i b ng còn có th s p x p theo m t trong 8 cách: • Theo tên • Theo ph n m r ng • Theo kích thư c t p tin • Theo th i gian s a đ i • Theo th i gian truy c p l n cu i • Theo ch m c inode • Không s p x p. Có th ch n cách s p x p b ng cách ch n câu l nh Th t s p x p (Sort order. space. • mark – chèn d u sao * (asterisk) n u t p tin đư c ch n.size. space. và n u màn hình cho phép thì vùng s đư c m r ng.) trong trình đơn tương ng c a m i b ng. owner. Đ có th xác đ nh chính xác chi u r ng c a m t vùng.|.mtime còn đ nh d ng M r ng (Long) thì xác đ nh b i: full perm. Khi đó s hi n ra m t h p tho i (hình 6.

) th c đơn C u hình (Option). (Filter. Trong th c đơn c a m i b ng còn có câu l nh Quét l i (Rescan) (tương đương v i câu l nh C p nh t (Refresh) trong các chương trình khác).) trong th c đơn c a m i b ng cho phép đưa ra nh ng m u mà tên t p tin s hi n th tương ng v i nó (ví d dùng m u “*.gz). như câu l nh sau hi n th cây thư m c m t c a s riêng. nhưng cũng có th thay đ i n u đánh d u tùy ch n Tr n l n t t c t p tin (“Mix all files”) c a câu l nh C u hình....4: H p tho i s p x p Theo m c đ nh các thư m c con đư c hi n th đ u danh sách. 6. v h th ng t p tin hi n th i (d ng..5) trên b ng đưa ra thông tin v t p tin đư c chi u sáng (đư c ch n) trên b ng bên c nh. Tên c a thư m c con và đư ng d n đ n thư m c con luôn luôn đư c hi n th không ph thu c vào m u đưa ra. Đi u này có ích khi nh ng ti n trình khác t o hay xóa các t p tin. • Ch đ Xem nhanh (Quick View).. Ví d trên hình 6.5.tar. Trong ch đ này b ng s hi n th n i dung c a t p tin đư c chi u sáng (đư c ch n) trên b ng bên c nh. Trong ch đ này trên m t b ng hi n th cây thư m c d ng đ ho (hình 6. Trong ch đ này (hình 6. Câu l nh L c t p tin. Ch đ này tương t như khi ngư i dùng ch n câu l nh Cây thư m c (Directory Tree) t th c đơn Câu l nh (Command). kích thư c ch tr ng và t ng s ch m c inode còn tr ng). .. (Configuration.7 là khi dùng ch đ này đ xem nhanh n i dung t p tin HISTORY c a gói chương trình mediawiki.6). Câu l nh Quét l i (phím nóng <Ctrl>+<R>) c p nh t l i danh sách t p tin hi n th trên b ng.. • Ch đ Cây thư m c (Tree)..136 S d ng Midnight Commander Hình 6.2 Nh ng ch đ hi n th khác Ngoài vi c đưa ra đ nh d ng hi n th danh sách t p tin trên b ng. còn có th đưa b t kỳ b ng nào vào m t trong nh ng ch đ sau: • Ch đ Thông tin (Info).gz” đ ch hi n th nh ng t p tin nén tar. Ngư i dùng cũng có th ch n ch hi n th trên b ng nh ng t p tin tương ng v i m t m u nào đó.

5 Đi u khi n các b ng 137 Hình 6. N u ngư i dùng mu n bi t thêm v cách s d ng nh ng ch đ này..2. Dòng chi u sáng s chuy n t b ng đang là hi n th i sang b ng khác và như v y b ng sau s tr thành hiên th i. S d ng đ di chuy n dòng chi u sáng tương ng lên t p tin trên đ u..5. • <Alt>+<T>. nhưng s thu n ti n hơn n u s d ng các t h p phím đi u khi n. Còn l i m i th k c đ nh d ng hi n th thông tin đ u tương t như nh ng gì s d ng cho các thư m c n i b ... Thay đ i b ng hi n th i (ho t đ ng). ví d .. Chuy n đ i vòng quanh gi a các đ nh d ng hi n th danh sách t p tin c a thư m c hi n th i. • Ch đ K t n i FTP. 6. Hai ch đ này ch khác ch s d ng đ hi n th danh sách thư m c n m trên máy xa.) và K t n i Shell.).. • <Alt>+<G> ho c <Alt>+<R> ho c <Alt>+<J>. xin hãy xem tr giúp c a mc. (Shell link.5: Ch đ thông tin Đ ra b ng xem nhanh n i dung t p tin s d ng chương trình xem t p tin có s n trong mc. • <Tab> ho c <Ctrl>+<i>.. (FTP link.6. vì th n u dùng phím <Tab> đ chuy n sang b ng xem nhanh. Nh t h p phím này có th chuy n đ i nhanh .3 Các t h p phím đi u khi n b ng Đ đi u khi n ch đ làm vi c c a b ng có th s d ng các câu l nh c a trình đơn đã nói t i trên. nh ng phím li t kê trong b ng 6. n m gi a ho c dư i cùng trong s nh ng t p tin đang hi n th (đang th y) trên b ng.1 và b ng 6. thì ngư i dùng có th s d ng m i câu l nh đi u khi n vi c xem..

<Ctrl>+<PageDown>. thì trên b ng th hai s hi n th n i dung c a thư m c m c a t p tin đó. Ch khi mc đư c ch y dư i kênh giao tác (console) c a Linux: th c hi n tương ng vi c chuy n (chdir) t i thư m c m (.138 S d ng Midnight Commander Hình 6.6: Ch đ cây thư m c chóng t ch đ hi n th M r ng (long) sang Thu g n hay ch đ do ngư i dùng xác đ nh. còn trên b ng còn l i hi n th danh sách t p tin. Chuy n t i thư m c ngay trư c trong s nh ng thư m c đã xem. • <Ctrl>+<PageUp>. Hi n th danh sách thư m c thư ng dùng và chuy n t i thư m c l a ch n. thì b ng th hai s chuy n vào ch đ hi n th các t p tin c a thư m c đư c chi u sáng. • <Home> ho c <Alt>+<‘<’>. Chuy n t i thư m c ngay sau trong s nh ng thư m c đã xem. N u trong b ng hi n th i dòng chi u sáng là tên t p tin. • <Ctrl>+<\>. • <Alt>+<O>. . N u trong b ng hi n th i tên thư m c đư c chi u sáng. Chuy n dòng chi u sáng t i v trí đ u tiên c a danh sách t p tin. • <Alt>+<U>. Tương đương v i vi c nh n chu t lên ký t >.. • <End> ho c <Alt>+<‘>’>. Tương đương v i vi c nh n chu t lên ký t < góc trên c a b ng.) ho c t i thư m c đang đư c chi u sáng. • <Alt>+<Y>. Chuy n dòng chi u sáng t i v trí cu i cùng c a danh sách t p tin.

Còn có th ch n nhóm t p tin còn có th dùng câu l nh Ch n nhóm c a trình đơn T p tin (File). phím nóng cho câu l nh này là phím d u c ng <+>. Nh ng thao tác (l nh) li t kê trên không ch có th th c hi n b ng cách nh n phím ch c năng tương ng mà còn b ng cách nh n chu t lên các nút tương ng cùng c a màn hình hay b ng các l nh tương ng c a trình đơn T p tin (File).7: Ch đ xem nhanh 6.4 t ng h p nh ng thao tác này.6. R t nhi u thao tác thư ng dùng trong Midnight Commander đư c th c hi n qua các phím ch c năng <F1> — <F10>. Bây gi đã đ n lúc c n bi t cách làm vi c v i t p tin nh chương trình có ích này.4 hay l nh trong trình đơn. Đ b ch n t p tin thì cũng s d ng t h p phím như khi ch n.6 Các phím ch c năng và th c đơn T p tin T trư c đ n gi chúng ta m i xem xét đ n v ngoài c a màn hình Midnight Commander và cách thay đ i v ngoài này.6 Các phím ch c năng và th c đơn T p tin 139 Hình 6. c n ch n nh ng t p tin hay nhóm t p tin đ th c hi n thao tác đó lên. Đ đánh d u t p tin đ t dư i dòng chi u sáng. hãy dùng phím <Insert> ho c t h p phím <Ctrl>+<T>. N u có b t tùy ch n M u d ng shell (xem trang 155. thì c n đánh d u nhóm t p tin này. Câu l nh này đư c dùng đ đánh d u nhóm t p tin theo m u tương ng đưa ra. N u mu n th c hi n m t thao tác nào đó lên nhi u t p tin m t lúc. Khi này tên c a t p tin s có màu khác. thì c n vi t bi u th c chính quy theo . Khi ch y câu l nh Midnight Commander s đưa ra h p tho i dùng đ nh p bi u th c chính quy xác đ nh tên c a nhóm t p tin mu n đánh d u. Xin đưa ra m t b ng 6. Trư c khi th c hi n m t thao tác nào đó ch ra trong b ng 6. Đ ch n m t t p tin thì ch c n đ t dòng chi u sáng trong b ng hi n th i lên nó (t t nhiên đ u tiên c n chuy n t i thư m c tương ng).

<F7> T o thư m c con trong thư m c hi n th trên b ng hi n th i <F8> Xóa t p tin (thư m c con) hay nhóm các t p tin đã đánh d u <F9> G i trình đơn chính (hi n th phía trên các b ng) <F10> Thoát kh i chương trình các quy lu t như trong shell (xem chương 5. thì s đánh d u t p tin đư c th c hi n theo quy lu t c a các bi u th c chính quy thông thư ng (hãy xem hư ng d n man ed). có th thay đ i tên c a t p tin hay thư m c di chuy n đ n. N u thư m c hi n th i có nhi u t p tin (do đó không th y h t trên b ng).4: Các phím ch c năng Phím F# Hành đ ng th c hi n <F1> G i tr giúp tùy thu c vào tình hu ng <F2> G i th c đơn do ngư i dùng t o ra <F3> Xem t p tin đ t dư i dòng chi u sáng c a b ng hi n th i <F4> G i trình so n th o trong đ s a t p tin đ t dư i dòng chi u sáng c a b ng hi n th i <F5> Sao chép t p tin hay nhóm t p tin đã đư c đánh d u t thư m c c a b ng hi n th i sang thư m c c a b ng còn l i. thì s đánh d u các thư m c ch không ph i t p tin. Có th dùng các phím <Backspace> ho c <Del> đ s a l i. t c là b n s . Trong ch đ này nh ng ký t nh p vào s không hi n th dòng l nh mà hi n th dòng tìm ki m. N u bi u th c b t đ u ho c k t thúc b ng d u g ch chéo (/). thì trư c khi đánh d u t p tin c n tìm đ n t p tin đó. thì s tìm ki m t p tin tương ng ti p theo. Trong nh ng trư ng h p đó các t h p phím <Ctrl>+<S> và <Alt>+<S> s có ích. Thao tác “B ch n” (phím t t là phím d u tr <–> ho c g ch chéo ngư c — <\>) là thao tác ngư c l i đ i v i thao tác ch n nhóm t p tin và s d ng cùng các quy lu t vi t m u như khi ch n.140 S d ng Midnight Commander B ng 6. Khi sao chép m t t p tin thì còn có th đ i tên c a t p tin này3 . Còn n u t t tùy ch n này. thì dòng tìm ki m này s hi n th trên ch c a dòng tr ng thái mini. Khi này trong quá trình nh p ký t . C n chú ý là n u trong thư m c hi n th i không có t p tin v i tên tương ng. N u nh n <Ctrl>+<S> thêm m t l n n a. Sau khi nh n m t trong nh ng t h p phím này thì mc s ch y ch đ tìm ki m tên t p tin trong thư m c hi n th i theo nh ng ký t đ u tiên c a tên. N u ch đ Hi n tr ng thái mini (Show mini-status) đư c b t. Thao tác này dùng đ b đánh d u kh i nhóm t p tin đã ch n. <F6> Di chuy n t p tin hay nhóm t p tin đã đư c đánh d u t thư m c c a b ng hi n th i sang thư m c c a b ng còn l i. thì nh ng ký t nh p vào s không hi n th trên dòng tr ng thái mini. dòng chi u sáng s di chuy n t i t p tin ti p theo có tên b t đ u b ng nh ng ký t đã nh p vào. Còn thao tác “Ch n ngư c l i” (phím <*>) dùng đ b ch n nh ng t p tin đang ch n. Đ ng th i trong h p tho i hi n ra còn có th ch ra tên c a thư m c mu n sao chép các t p tin đ n (đ khi c n có th sao chép đ n thư m c khác v i thư m c hi n ra trên b ng th hai). đ ng th i ch n nh ng t p tin còn l i c a thư m c hi n th i. Cũng gi ng như khi sao chép.

• chown nâng cao. trình đơn T p tin còn ch a các câu l nh sau (trong ngo c là các phím t t tương ng). • Liên k t m m (<Ctrl>+<X>. di chuy n hay xóa. chúng ta s xem xét l i các câu l nh này đ hi u rõ hơn v chúng. Hãy s d ng câu l nh này n u bi t đư ng d n đ y đ đ n thư m c b n c n (và mu n chuy n thành thư m c hi n th i). ví d . thì trên dòng này s hi n lên tên c a t p tin mà liên k t ch đ n. K t qu th c hi n l nh s hi n ra trên màn hình trong xem có s n c a Midnight Commander. • cd nhanh (<Alt>+<C>). Do đó. T o liên k t m m đ n t p tin hi n th i. Cho phép thay đ i quy n truy c p và s h u t p tin. sao chép. T t nhiên là nh ng thao tác thư ng dùng đư c g n v i các phím ch c năng.<O>). N u trên màn hình có đưa ra dòng tr ng thái mini (dùng tùy ch n Hi n tr ng thái mini). Thay đ i ch s h u b ng câu l nh chown.7 M u t p tin khi sao chép ho c đ i tên Khi th c hi n các thao tác sao chép và di chuy n (hay đ i tên) t p tin ngư i dùng có kh năng thay đ i tên c a các t p tin đang sao chép hay di chuy n.<S>). Ngoài các câu l nh g n v i các phím ch c năng. Đ th c . B t kỳ câu l nh nào trong s này cũng có th th c hi n qua trình đơn T p tin (File). trình đơn T p tin (File) có ch a nh ng câu l nh thư ng dùng nh t. không nh t thi t ph i s d ng các phím ch c năng đ g i các câu l nh tương ng v i chúng. Chương trình Midnight Commander cho bi t liên k t m m b ng ký hi u “@” đ ng trư c tên c a liên k t đó (tr liên k t đ n thư m c con đư c đánh d u b i d u sóng “∼”). So v i dòng l nh thì các thao tác xem và so n th o t p tin trong Midnight Commander thu n ti n hơn. Cho phép thay đ i quy n truy c p đ n (các) t p tin đư c ch n. 6. Như b n đã th y.<L>). Nhưng trong ph n này chúng ta s không xem đ n trình so n th o có s n. • Xem k t qu l nh (<Alt>+<!>). • Liên k t c ng (<Ctrl>+<X>. Sau khi ch n và đánh d u t p tin đ làm vi c ch c n nh n m t trong các phím ch c năng đ th c hi n thao tác c n thi t v i t p tin.7 M u t p tin khi sao chép ho c đ i tên 141 không th tìm th y t p tin mu n tìm. c n thi t cho ngư i dùng trong nh ng thao tác cơ b n v i t p tin c a thư m c hi n th i. do trong Midnight Commander có tích h p s n các chương trình cho nh ng vi c này. • chown (<Ctrl>+<X>. Đ u tiên là câu l nh sao chép và đ i tên.<C>). • chmod (<Ctrl>+<X>. mà đ dành đ n chương nói v làm vi c v i các t p tin văn b n. Khi ch y câu l nh này trên màn hình s hi n ra dòng cho phép nh p b t kỳ câu l nh nào cùng v i tham s c a nó (theo m c đ nh tham s s là t p tin đang đư c chi u sáng). Như đã nói t trư c. T o liên k t c ng đ n t p tin hi n th i.6.

N u tùy ch n này đư c dùng thì s t o ra trong thư m c đích đ n m t thư m c con có cùng tên và các t p tin (thư m c) s đư c sao chép vào thư m c m i này. hay sao chép t p tin (và thư m c con) mà nh ng liên k t này ch đ n. Chúng ta s xem xét m t ví d đ hi u hơn tình hu ng này... Tùy ch n Ghi nh thu c tính (Preserve attributes) xác đ nh xem khi sao chép ho c di chuy n có gi l i hay không các thu c tính c a t p tin ban đ u. Theo m c đ nh tùy ch n này t t và t p tin (thư m c) ngu n s đư c sao chép vào thư m c đích đ n. thì s ch sao chép (di chuy n) nh ng t p tin đư c đánh d u và tương ng v i m u g c. Hình 6.142 S d ng Midnight Commander hi n vi c này ngư i dùng c n đưa ra m u cho tên c a các t p tin g c (g i là m u g c) và m u cho tên c a các t p tin s đư c t o (t p tin đích đ n.. bao g m: quy n truy c p. các đánh d u th i gian (truy c p và s a đ i). Thông thư ng m u tên th hai đó là m t vài ký t thay th (wildcards) cu i dùng xác đ nh ch đ n c a các t p tin t o ra.8: H p tho i đ i tên t p tin T t c các t p tin tho mãn m u g c s đư c đ i tên (sao chép ho c di chuy n v i tên m i) tương ng v i m u đích. Còn m t vài tuỳ ch n có nh hư ng đ n th c hi n thao tác sao chép và di chuy n t p tin mà có th thi t l p cùng ngay c a s đ đưa ra các m u tên t p tin. N u có các t p tin đã đư c đánh d u. Tùy ch n Đi theo liên k t (Follow links) xác đ nh xem khi sao chép liên k t c ng hay m m vào thư m c đích đ n (ho c các thư m c con c a thư m c này) s t o các liên k t đó. thì t t c các t p tin s đư c sao chép vào /two/one/one. N u tùy ch n b t. Vi c đưa ra m u đư c th c hi n trên dòng nh p vào hi n th trong c a s m ra khi ch y m t trong các l nh sao chép hay di chuy n (hình 6. ho c có th thi t l p qua câu l nh c a trình đơn C u hình | C u hình. Tùy ch n Vào thư m c con. N u tùy ch n không đư c dùng thì các thu c tính s đư c đ t theo giá tr umask hi n th i. và n u ngư i dùng là root thì còn c thu c tính UID và GID. B n mu n sao chép n i dung c a thư m c one vào thư m c /two/one đã có t trư c. n u có (Dive into subdirs) xác đ nh thao tác s làm n u trong thư m c đích đ n đã có thư m c có cùng tên v i tên t p tin (ho c thư m c) đang sao chép (ngu n). Thông thư ng (khi tùy ch n b t t) mc s ch sao chép t t c các t p tin t one vào /two/one.8). . g i là m u đích).

tar. còn m u đích s là “\2. . Ký t ‘\0’ tương ng v i toàn b tên c a t p tin ngu n. Ví d .file”.gz”. đ “file. M u ngu n – ‘ˆ\(. thì ký t ti p theo c a tên s đư c chuy n tương ng thành ch hoa ho c ch thư ng. Ví d 4.*\)\. Ký t ‘\’ trong các m u dùng đ hu b tác d ng c a các ký t đ c bi t. còn m u đích – “/two/*. di chuy n hay xóa t p tin. L y ví d b n c n đ i ch tên và ph n m r ng t p tin.*\)\. còn m u đích s là “\2. ‘\ \’ có nghĩa là dùng ký t g ch chéo thông thư ng và ‘\*’ có nghĩa là s d ng m t ký t d u sao thông thư ng (asterisk). Khi tùy ch n M u d ng shell (“Use shell patterns”) b t. N u m u ngu n là “*. thì s chuy n đ i t t c các ký t phía sau đ n l n g p ‘\U’ ho c ‘\L’ ti p theo ho c đ n cu i tên t p tin. thì t p tin thu đư c s có tên “foo. .c” tr thành “c. Trong m u đích ch cho phép s d ng ‘*’ và ‘\<ch s >’.tar. S d ng ‘\u’ và ‘\l’ cung c p các kh năng r ng hơn so v i ‘\U’ và ‘\L’. tên t p tin s đư c chuy n đ i sao cho các ch cái đ u tiên s là ch hoa. . N u s d ng ‘\u’ ho c ‘\l’ trong m u đích. Thanh th hai (count bar) cho bi t đ n th i đi m hi n th i đã th c hi n đư c bao nhiêu ph n. Khi th c hi n các thao tác sao chép và di chuy n ngư i dùng còn có th chuy n ki u ch hoa/thư ng trong tên t p tin.8 Thông báo khi sao chép và di chuy n t p tin Khi ngư i dùng th c hi n các thao tác sao chép. trên màn hình hi n ra t m t đ n ba thanh bi u đ (progress bars).\(.tar. Ví d 3. 6. Chúng ta l i xem xét ti p hai ví d . b n c n s d ng các d u ngo c ‘\(. N u s d ng trong m u đích ‘\U’ ho c ‘\L’.tgz”. L y ví d b n c n đ i ch tên và ph n m r ng t p tin. . và tên c a t p tin đang sao chép là “foo. Ví d 2.. đ “file.tgz” và đang sao chép t p tin “foo. ký t thay th ‘\1’ tương ng nhóm ký t thay th đ u tiên trong m u ngu n.c” tr thành “c. N u m u ngu n có d ng “ˆ\(.tgz” và n m trong thư m c “/two”.*\)$’ (tùy ch n M u d ng shell t t). Ví d trong m u ngu n có ‘*’ (tùy ch n M u d ng shell b t) ho c ‘ˆ\(. \)’. Cách này m m d o hơn. Ký t ‘*’ đ u tiên trong m u đích tương ng v i nhóm ký t thay th đ u tiên trong m u ngu n. M u ngu n s c n có d ng ‘*. Chúng s đư c dùng tương t như trong shell.8 Thông báo khi sao chép và di chuy n t p tin 143 nh hư ng đ n quá trình sao chép và di chuy n t p tin còn có tùy ch n M u d ng shell trong trình đơn C u hình / C u hình.tar\.. . Thanh th nh t (file bar) cho bi t đã th c hi n (ví d sao chép) đư c bao nhiêu ph n c a t p tin hi n th i.\1”.v.file”. .. ký t ‘\2’ – nhóm th hai v. còn l i là ch thư ng. Đ ch ra nhóm các ký t trong m u ngu n s tương ng v i các ký t thay th trong m u đích. Khì tùy ch n này b t. nhưng c n c n th n hơn và nhi u công s c khi nh p vào.*\)$’.\1”. thì k t qu s là “/two/foo. Midnight Commander hi n th trên màn hình h p tho i. Đ hi n th quá trình làm vi c. thì mc s không th c hi n vi c nhóm t đ ng. còn m u đích có ‘\L\u*’.gz”. ký t ‘*’ th hai tương ng v i nhóm th hai v. sao chép đư c th c hi n vào “/two/*. Tương t . Ví d 1.gz$”.v. trong đó cho bi t trên (nh ng) t p tin nào s th c hi n thao tác và quá trình th c hi n di n ra như th nào.6. Chúng ta xem xét m t vài ví d đ hi u rõ hơn.*’.gz”. thì ngư i dùng có th s d ng các ký t thay th (wildcards) ‘*’ và ‘?’ trong m u ngu n.tgz”. tính theo .

144 S d ng Midnight Commander t ng cái. t t c nh ng t p tin còn l i s b b qua. thì hai thanh bi u đ cu i s không đư c hi n th . Nh n nút B qua s d n đ n vi c b qua thao tác v i t p tin này và ti p t c thao tác t p tin sau n u có. Trong c a s h i l i s hi n ra th i gian t o ra và kích thư c c a t p tin ngu n (đang đư c sao chép hay di chuy n) và c a t p tin đích (s b hu b n u ghi chèn).9: C a s h i l i Dư i đây đưa ra hai câu h i l i 6. Trong quá trình th c hi n các thao tác v i t p tin ngư i dùng có th nhìn th y 3 d ng c a s n a. b ng trình l nh terminal khác). C a s l i đưa ra thông tin v l i và đ ngh ba cách gi i quy t. ph n dư i c a h p tho i này có hai nút. 2.). N u t t đi tuỳ ch n Thao tác v i thông tin dài dòng (xem C u hình / C u hình. t c là trong thư m c sao chép hay di chuy n đ n đã có t p tin cùng tên. không ghi chèn (nút Không) • Ghi thêm n i dung c a t p tin đang sao chép vào cu i t p tin đã có (nút Thêm vào cu i) . Ch n phương án này n u ngư i dùng đã s a đư c l i (ví d . Thông thư ng ngư i dùng ch n B qua đ không th c hi n thao tác v i t p tin đang có v n đ . Phương án th ba là Th l i. ho c D ng đ không th c hi n hoàn toàn thao tác đưa ra. Câu h i th nh t “Ghi đè lên t p tin này” có ba cách tr l i: • Đ ng ý (nút Có) • T ch i.. Thanh th ba (bytes bar) cho bi t ph n trăm dung lư ng tính theo byte đã làm xong..9. Nh n nút D ng s k t thúc thao tác. c a nh ng t p tin đã đánh d u. Hình 6. C a s h i l i xu t hi n khi ngư i dùng đang th c hi n thao tác d n đ n vi c ghi chèn lên t p tin đã có. 1.

đo đó c a s h i l i s không hi n ra m i l n có t p tin trùng tên: • T t c – ghi chèn t t c các t p tin đã ch n. D ng có nghĩa là không th c hi n thao tác xóa n a. Nh ng t p tin b b qua. 3. đ có th ch y m t câu l nh nào đó c a h đi u hành.10) xu t hi n khi ngư i dùng đang th c hi n thao tác xóa m t thư m c không r ng. Không đ không xóa thư m c này. • N u kích thư c khác nhau – ch ghi chèn n u kích thư c các t p tin khác nhau. ngư i dùng c n gõ vào dòng l nh tên c a chương . Hình 6.10: C a s yêu c u N u đã đánh d u nhóm các t p tin đ thao tác.9 Dòng l nh c a h v Như đã nói khi mô t v ngoài c a màn hình Midnight Commander. không h i l i.6. Ch ch n Có ho c T t c khi b n th c s tin tư ng là mình mu n xóa thư m c cùng v i toàn b các thư m c con c a nó. • Không – không ghi chèn các t p tin (n u không có t p tin đích.9 Dòng l nh c a h v 145 Còn đ tr l i cho câu h i th hai “Ghi đè lên m i t p tin đích?” chúng ta có 4 cách. thì s th c hi n sao chép). ph n dư i c a màn hình luôn luôn có dòng l nh c a h v . L a ch n nút mu n nh n b ng các phím mũi tên ho c phím <Tab>. Ngư i dùng cũng có th d ng th c hi n thao tác n u nh n nút D ng cu i c a s h i l i. Nh n nút Có đ xóa thư m c cùng v i t t c các t p tin c a nó. 6. t c là không thao tác. s v n đư c đánh d u như cũ. ch n T t c n u b n đã đánh d u nhi u thư m c và tin tư ng là mình đúng. Cách gi i quy t đư c dùng s làm vi c v i t t c các t p tin đã ch n. không xóa nh ng thư m c không r ng trong s đã ch n. Không đ b qua. thì sau khi th c hi n s b đánh d u kh i nh ng t p tin đã thao tác thành công. • C p nh t – ch ghi chèn (đ ng đ n) nh ng t p tin đư c t o ra trư c t p tin ngu n. C a s yêu c u xóa toàn b ( 6. Trong th i gian làm vi c v i Midnight Commander.

t c là Midnight Commander s đoán nh ng ký t mà ngư i dùng còn chưa nh p vào d a trên danh sách t p tin c a thư m c hi n th i. Cũng như <Alt>+<Enter>.<P>. ho c tên c a t p tin đang đư c chi u sáng n u không có t p tin nào đư c đánh d u. <T>. Thông thư ng vi c nh p các câu l nh đòi h i ph i gõ r t nhi u các ký t . <Ctrl>+<P>. sau đó gõ phím <Enter>.v. tên ngư i dùng hay tên máy (tùy theo nh ng gì ngư i dùng đã gõ và ph n nào c a câu l nh đang đư c nh p vào). N u ngư i dùng nh n phím <Enter> khi dòng chi u sáng n m trên tên t p tin không ph i là chương trình.ext. .146 S d ng Midnight Commander trình tương ng ho c ch n chương trình đó trong b ng hi n th i (đưa dòng chi u sáng lên tên t p tin chương trình). T t nhiên b n có th thay đ i c u hình c a môi trư ng làm vi c. do môi trư ng làm vi c đã dùng nó cho thao tác khác (trong trư ng h p KDE thì đó là chuy n gi a các c a s ). danh sách câu l nh. • <Alt>+<P>. thì s th c hi n nh ng câu l nh đ t trong ph n nh này. . Trư c khi ch y các l nh có th c hi n nh ng s thay th macro đơn gi n. • <Alt>+<Enter>. trong s đó có đư ng d n đ y đ c ng v i tên c a t p tin c n làm vi c. Quay ngư c l i m t câu l nh theo danh sách nh ng l nh đã ch y (l ch s l nh). Sao chép tên c a t p tin hay thư m c đang đư c chi u sáng vào dòng l nh. ví d trong môi trư ng KDE thì r t có th s không dùng đư c t h p phím này. thì Midnight Commander s so sánh ph n m r ng c a t p tin này v i ph n m r ng có trong “t p tin các ph n m r ng” ~/mc. • <Ctrl>+<Q>. nhưng đó đã là m t câu chuy n khác. Sao chép vào dòng l nh tên c a các t p tin đã đư c đánh d u trong b ng hi n th i. • <Ctrl>+<X>. N u trong t p tin mc. Sao chép vào dòng l nh tên c a các t p tin đư c đánh d u trong b ng không ph i hi n th i. Sao chép vào dòng l nh tên c a thư m c đang hi n th trên b ng không ph i hi n th i. t c là tên c a thư m c đang đư c hi n th trên b ng hi n th i. Sao chép vào dòng l nh tên c a thư m c hi n th i. • <Ctrl>+<X>. Chèn nh ng ký t đư c chương trình Midnight Commander biên d ch theo m t cách nào đó (ví d ký t ‘+’).ext có m t ph n nh ch ra thao tác làm vi c v i nh ng t p tin có ph n m r ng như t p tin đã ch n. • <Ctrl>+<X>. 4 autocompletion . Tuy nhiên n u b n làm vi c trong giao di n đ ho . <Ctrl>+<T>. • <Ctrl>+<Enter>. Th c hi n thao tác t đ ng đi n thêm4 tên t p tin. • <Ctrl>+<X>. v. Đ giúp nh p câu l nh d dàng hơn trong Midnight Commander có m t vài t h p phím cho phép gi m s l n gõ bàn phím trong th i gian nh p và s a đ i câu l nh trên dòng l nh. tên câu l nh. • <Alt>+<Tab>. đ c bi t trong trư ng h p ph i ch ra các tham s c a câu l nh.

10 Trình đơn Câu l nh Trình đơn Câu l nh cho phép th c hi n thêm m t s thao tác đi u khi n h th ng t p tin. không hi n th các thư m c “cháu”. Khi này ch hi n th nh ng thư m c n m trên (bao g m c thư m c m và cao hơn). khi trên màn hình xu t hi n dòng nh p vào. c a trình đơn B ng ph i ho c B ng trái). đ ng th i th c hi n nh ng câu l nh thay đ i d ng c a các b ng Midnight Commander cũng như nh ng thông tin hi n th trên chúng. Trong trư ng h p ngư c l i thì s m ra m t nhánh con c a cây thư m c. Trong ch đ tĩnh (static) đ di chuy n t i thư m c mu n xem (t c là di chuy n dòng chi u sáng t i tên c a thư m c đó) ch dùng các phím <↑> và <↓>. Đi t i câu l nh ti p theo trong danh sách l ch s l nh. Ví d dòng nh p vào đ a ch IP c a máy ch FTP mà b n mu n k t n i t i như trong hình 6. N u thư m c ngư i dùng mu n xem không đư c hi n th thì hãy chuy n t i thư m c m c a nó r i nh n <Ctrl>+<R> ho c <F2>. D ng c a cây thư m c t đ ng thay đ i sau m i l n di chuy n qua cây này. Đ đi u khi n xem cây thư m c có th s d ng nh ng t h p phím sau: .. Trong ch đ đ ng (dynamic) các phím <↑> và <↓> đư c dùng đ chuy n t i thư m c bên c nh có cùng c p b c. Khi ch y câu l nh Cây thư m c c a trình đơn này thì s hi n ra c a s cho th y c u trúc thư m c c a h th ng t p tin.10 Trình đơn Câu l nh • <Alt>+<N>. Hi n th l ch s c a dòng nh p vào hi n th i.11 (câu l nh K t n i FTP. thì ngư i dùng có th s d ng nh ng t h p phím đi u khi n li t kê trong b ng 6.11: Dòng nh p vào đ a ch IP c a máy ch FTP 6. Trong b t kỳ trư ng h p nào. Có hai ch đ hi n th cây thư m c. S hi n th t t c các thư m c con mà chương trình đ c đư c t i th i đi m này. 147 • <Alt>+<H>. Đ tránh m t th i gian t o cây thư m c.6. Dòng nh p vào không ch là dòng l nh c a h v shell mà còn là nh ng dòng nh p vào c a các h p tho i c a các chương trình con khác nhau. Midnight Commander ch t o m t ph n nh cây này ch không t o h t. “ch t”. còn phím <→> dùng đ chuy n t i các thư m c con c a thư m c hi n th i. cácthuw m c bên c nh có cùng c p b c và các thư m c con chính th c c a thư m c này. Đ chuy n t i thư m c m s d ng phím <←>. N u thư m c không có ch a các thư m c con thì s không có gì x y ra. t c là chuy n t i m t c p b c th p hơn.. n u đó là dòng l nh thì hi n th l ch s l nh.5. Có th làm hi n ra cây thư m c b ng hai cách: qua câu l nh Cây thư m c c a trình đơn Câu l nh và qua câu l nh Cây thư m c c a trình đơn B ng ph i ho c b ng trái. Hình 6.

Đánh d u b t đ u ph n văn b n mu n c t (ghi vào b đ m). N u ngư i dùng xóa thư m c có trên đĩa thì s hi n ra m t thông báo l i. Xóa b n b n t v trí con tr t i cu i dòng.148 S d ng Midnight Commander B ng 6. Câu l nh này ch s d ng đ xóa nh ng nhánh cây hi n th không đúng. • <Ctrl>+<R> ho c <F2>. refresh). Xóa ký t n m t i ch con tr . S d ng trong trư ng h p khi cây thư m c đư c hi n th không tương ng v i c u trúc th t s c a nó: m t s thư m c con không đư c hi n th ho c hi n th c nh ng thư m c con đã b xóa. <Alt>+<W> <Ctrl>+<Y> <Ctrl>+<K> <Alt>+<P> và <Alt>+<N> <Ctrl>+<Alt>+<H> (<Alt>+<Backspace>) <Alt>+<Tab> • Nh ng phím dùng đ di chuy n li t kê trong b ng 6. còn <Alt>+<N> – t i nh ng câu l nh n m sau. còn trên b ng hi n th i s là cây thư m c. Sao chép văn b n n m gi a con tr và đánh d u vào b đ m đ ng th i xóa đi văn b n đó kh i dòng nh p vào. Khi hi n th cây thư m c trên m t b ng thì nh n phím <Enter> s hi n th thư m c tương ng lên b ng th hai. Sao chép văn b n n m gi a con tr và đánh d u vào b đ m mà không xóa văn b n đó kh i dòng nh p vào. Di chuy n con tr sang ph i m t t . Nh n phím này trong c a s xem cây thư m c đ thoát kh i ch đ xem và hi n th danh sách t p tin c a thư m c đã ch n trong b ng hi n th i. <Alt>+<P> di chuy n t i nh ng câu l nh n m trư c. tên ngư i dùng hay tên máy. Nh ng t h p phím này dùng đ di chuy n trong l ch s l nh. Di chuy n con tr sang trái m t t . Xóa thư m c hi n th i ra kh i cây thư m c. Có th dùng m t trong hai t h p phím này đ xóa t n m trư c (bên trái) con tr . Di chuy n con tr t i cu i dòng. Dán n i dung c a b đ m vào dòng nh p t i v trí n m trư c (bên trái) con tr . Vì th khi xem cây thư m c thì dòng dư i cùng (cho bi t ch c năng c a các phím F) cho bi t phím <F3> có ch c năng Quên. .5: Các l nh đi u khi n dòng nh p vào T h p phím <Ctrl>+<A> <Ctrl>+<E> <Ctrl>+<B> (<←>) <Ctrl>+<F> (<→>) <Alt>+<F> <Alt>+<B> <Ctrl>+<H> (<Backspace>) <Ctrl>+<D> (<Delete>) <Ctrl>+<@> <Ctrl>+<W> Hành đ ng th c hi n Di chuy n con tr lên đ u dòng. Di chuy n con tr sang ph i m t ký t . Đ c l i n i dung c a thư m c (c p nh t.1 • <Enter>. Th c hi n thao tác t đ ng đi n thêm (autocompletion) tên t p tin. • <F3>. Di chuy n con tr sang trái m t ký t . tên câu l nh. T đư c coi là m t c m ký t n m gi a hai kho ng tr ng. Xóa ký t n m bên trái con tr .

. • <F6>. Nh n đúp chu t có tác d ng như khi nh n phím <Enter>.10 Trình đơn Câu l nh 149 • <F4> (Static/Dynamic). nh n vào nút Đ ng ý. Thêm ký t dòng chi u sáng đ n tên c a thư m c ch đ xem cây thư m c thì đ u tiên c <Ctrl>+<S>.13). Câu l nh Tìm t p tin (phím nóng <Meta>+<?> ho c <Esc>. Trong th i gian tìm ki m có th t m d ng b ng nút Hoãn và ti p t c b ng nút Ti p t c (hình 6. Xóa ký t cu i cùng trong dòng (m u) tìm ki m. v. này vào m u tìm ki m và di chuy n ti p theo tho mãn m u này. Ngoài ra. Nút Chuy n thư m c dùng đ chuy n t i thư m c có ch a t p tin đang đư c chi u sáng. Xóa thư m c đ t dư i dòng chi u sáng ra kh i h th ng t p tin. Nút L p l i dùng đ nh p vào các tham s cho tìm ki m m i. Chuy n đ i gi a hai ch đ di chuy n trong cây thư m c tĩnh (dùng theo m c đ nh) và đ ng. còn có kh năng đưa ra danh sách nh ng thư m c mà câu l nh Tìm t p tin s b qua trong khi tìm ki m (ví d . xóa. Ví d . • <F7>. . • <Ctrl>+<H> ho c <Backspace>. thì ngư i dùng c n nh p vào ô N i dung dòng “strcmp \”. n u mu n tìm dòng “strcmp (”. thì s chuy n dòng chi u sáng xu ng dư i m t dòng. Nút Thoát dùng đ thoát kh i ch đ tìm ki m. Sau khi đưa ra b ng có th nh n <Ctrl>+<R> đ tr l i danh sách t p tin thông thư ng. Có th xem danh sách nh ng t p tin tìm th y b ng các phím <↑> và <↓>. tên t p tin mu n tìm (xem hình 6.6. Trong ô N i dung (Contents) có th đưa ra các bi u th c chính quy theo các quy lu t c a l nh egrep. Sao chép thư m c con (c n ch ra thư m c mu n sao chép t i trong dòng nh p vào hi n ra). Ngư i dùng có th ch n thư m c b t đ u tìm ki m trong cây thư m c hi n ra khi nh n nút Cây thư m c c a h p tho i.12). ). Có nghĩa là đ ng trư c nh ng ký t có ý nghĩa đ c bi t đ i v i egrep c n đ t ký t “\”. n u ngư i dùng bi t là t p tin đang tìm không có trên CD hay không mu n tìm ki m trong nh ng thư m c . N u không có thư m c đó. di chuy n. Đ b t đ u tìm ki m. Di chuy n thư m c. Sau khi ch n câu l nh này s hi n ra m t h p tho i h i thư m c đ b t đ u tìm ki m.<?>) c a trình đơn Câu l nh cho phép ngư i dùng tìm trên đĩa t p tin có tên đưa ra. Có th s d ng chu t trong c a s xem cây thư m c.v. • <F8>. • <B t kỳ ký t nào khác>. • <Ctrl>+<S> ho c <Alt>+<S>. • <F5>. T o thư m c con trong thư m c hi n th i. Trong n ch y ch đ tìm ki m b ng t h p n th trên dòng tr ng thái mini (n u Hành đ ng sau ch có th th c hi n trong c a s đang hi n th cây thư m c: <F1> (Help) – G i tr giúp và hi n th ph n tr giúp v c a s cây thư m c. Nh n nút B ng s hi n th k t qu tìm ki m lên b ng hi n th i đ ngư i dùng có th th c hi n các thao tác khác v i nh ng t p tin đã ch n (xem. sao chép. M u tìm ki m s đư c hi có). Tìm thư m c ti p theo tương ng v i m u đưa ra.

12: B t đ u tìm ki m Hình 6. C n ph i ch ra nh ng thư m c mu n b qua này b ng bi n find_ignore_dirs trong ph n Misc c a t p tin ~/. còn Tìm ki m t p tin ch cho phép th c hi n nh ng yêu c u đơn gi n. Câu l nh Đ i ch hai b ng (<Ctrl>+<U>) đ i ch n i dung c a b ng trái và b ng ph i. Có ba phương pháp so sánh.13: Đang tìm ki m k t n i qua NFS qua đư ng truy n r t ch m).<D>) so sánh n i dung c a các thư m c đang đư c hi n th trên b ng trái và b ng ph i.mc/ini. N u dùng phương pháp nhanh thì ch so sánh kích thư c và th i gian t o các t p tin . L nh này làm vi c trên xterm và dư i console c a Linux.150 S d ng Midnight Commander Hình 6. Câu l nh So sánh thư m c (<Ctrl-X>. Đ m l i các b ng mc cũng dùng l nh (phím nóng) này. Tên thư m c cách nhau b i d u hai ch m như sau: [Misc] find_ignore_dirs=/cdrom:/nfs/wuarchive:/afs B n có th s d ng vi c đưa k t qu l nh lên trên b ng (đ c thêm B ng ngoài dư i) đ th c hi n nh ng hành đ ng ti p n i nhau ph c t p hơn. Câu l nh B t/t t b ng (<Ctrl>+<O>) n đi hai b ng c a mc và hi n th k t qu làm vi c c a các l nh shell.

Khi so sánh theo kích thư c thì ch ki m tra kích thư c c a các t p tin tương ng và không ki m tra ngày t o ra. . thì b n có th s d ng câu l nh B ng ngoài đ ch y câu l nh find . ) v i t t c các liên k t m m c a thư m c hi n th i. Phương pháp này không dùng đư c n u máy không h tr g i h th ng (system call) mmap(2). n u b n mu n th c hi n m t hành đ ng nào đó (xóa. Có th sao chép l nh đang đư c chi u sáng (di chuy n dòng chi u sáng b ng các phím <↑> và <↓>) vào dòng l nh c a h v b ng phím <Enter>. Sau đó b n c n nh p vào tên c a l nh đó. N u mu n ngư i dùng có th lưu nh ng câu l nh b ng ngoài thư ng dùng b ng nh ng tên riêng có ý nghĩa đ có th g i nhanh nh ng câu l nh này theo tên c a chúng. sao chép. ho c chi u sáng nh ng t p tin là phiên b n m i hơn. Ví d . .10 Trình đơn Câu l nh 151 có cùng tên.. di chuy n. r i đưa k t qu c a l nh này thành n i dung c a b ng hi n th i (ví d đi n hình là đưa k t qu c a l nh find).14. Câu l nh B ng ngoài (hay đúng hơn ph i g i là “Đưa k t qu làm vi c c a l nh lên trên b ng”) cho phép ngư i dùng th c hi n nh ng chương trình ngoài. -type l -print như trong hình 6. L n sau b n ch c n ch n tên tương ng trong danh sách mà không c n ph i nh p l i câu l nh t đ u5 .14: Tìm ki m t t c các liên k t m m Sau khi th c hi n câu l nh này. Sau đó ngư i dùng có th s d ng câu l nh sao chép (<F5>) đ làm cho n i dung c a hai thư m c gi ng nhau. Câu l nh L ch s câu l nh hi n ra c a s v i danh sách nh ng l nh đã th c hi n trư c đây.6. K t qu là trong c hai thư m c s chi u sáng nh ng t p tin không có trong thư m c còn l i. trên b ng hi n th i s không ph i là n i dung c a thư m c tương ng mà ch có các liên k t m m n m trong thư m c đã ch ra. 5 T t nhiên b n có th dùng l ch s câu l nh (xem trên ho c ngay dư i) . Phương pháp theo byte s so sánh n i dung c a các t p tin (theo t ng byte). Đ th c hi n vi c này c n nh p câu l nh vào dòng nh p vào (dòng “Câu l nh”) r i nh n nút Thêm m i. Hình 6.

tuy nhiên trong trư ng h p này ngư i dùng s không th y danh sách các câu l nh.152 S d ng Midnight Commander Còn có th truy c p vào danh sách l ch s câu l nh b ng các phím <Alt>+<P> ho c <Alt>+<N>. Chương trình này s đư c ch y đ thao tác (xem. <H>). ph c h i (ti p t c ch y) ho c di t b t kỳ công vi c n n sau này (xem hình 6. mc t o ra danh sách các đánh d u (tên d nh ) cho các thư m c thư ng dùng này. Hình 6. Câu l nh Thư m c thư ng dùng (<Ctrl>+<\>) cho phép t o danh sách nh ng thư m c thư ng đư c dùng và cho phép chuy n nhanh đ n nh ng thư m c trong danh sách này (hình 6. Cũng trong h p tho i thư m c thư ng dùng b n có th thêm đánh d u m i vào danh sách ho c xóa đánh d u đã có. còn <Alt>+<N> s chuy n thành l nh n m dư i trong danh sách. Chương trình s hi n ra yêu c u nh p tên đánh d u cho thư m c này. S d ng câu l nh này ho c phím nóng <Ctrl>+ <X>. Có th s d ng danh sách này đ chuy n nhanh đ n thư m c c n thi t.<J> b n có th d ng.mc/menu (trình đơn hi n ra sau khi nh n phím <F2>) ho c trình đơn . Câu l nh So n th o t p tin trình đơn dùng đ s a trình đơn c a ngư i dùng ~/. Thay vào đó trên dòng l nh s hi n th m t trong các l nh c a danh sách và phím <Alt>+<P> s chuy n nó thành l nh n m trên. khi đó s thêm thư m c hi n th i vào danh sách thư m c thư ng dùng.16).15). Đ thêm đánh d u m i còn có th s d ng t h p phím (<Ctrl>+<X>.15: H p tho i danh sách thư m c thư ng dùng Câu l nh Công vi c n n sau cho phép ngư i dùng đi u khi n nh ng công vi c đang làm vi c ch đ n n đã ch y t Midnight Commander (ví d thao tác sao chép và di chuy n t p tin). Đ th c hi n vi c này. so n th o hay th c hi n) v i t p tin có ph n m r ng tương ng khi chuy n dòng chi u sáng lên tên t p tin r i nh n <Enter>.ext xác đ nh dùng chương trình nào đ m các t p tin v i ph n m r ng (ph n cu i c a tên sau d u ch m cu i cùng) nào. Sau khi ch n câu l nh So n th o t p tin ph n m r ng ngư i dùng có th s a đ i t p tin mc.

Theo m c đ nh Midnight Commander hi n th t t c các t p tin. M i tùy ch n có th đư c dùng ho c không. 6. có th là /usr/share/mc/mc. “T m ng ng sau khi ch y.16: Đi u khi n công vi c n n sau c a h th ng. Vi c dùng hay không dùng tùy ch n đư c th c hi n qua các c a s h i tho i c a trình đơn C u hình.11 C u hình Midnight Commander 153 Hình 6. • Đ y xu ng trình đơn. • Hi n th t p tin n. • Nhãn di chuy n xu ng. Khi ngư i dùng đánh d u t p tin (b ng t h p phím <Ctrl>+<T> ho c <Insert>).” và “C u hình khác”.menu. Trong vùng “C u hình b ng”. Bây gi chúng ta xem xét t ng câu l nh c a trình đơn C u hình đ bi t có th dùng ho c không dùng nh ng tùy ch n nào. Nh ng tham s c u hình trong h p tho i này chia thành ba nhóm: “C u hình b ng”.11 C u hình Midnight Commander Chương trình Midnight Commander có nhi u c u hình (tùy ch n). thì khi g i trình đơn chính b ng phím <F9> s hi n th ngay l p t c danh sách các câu l nh c a . Khi ch n câu l nh này s hi n ra m t h p tho i như trong hình 6.. thì theo m c đ nh dòng chi u sáng tên t p tin s di chuy n xu ng dư i m t dòng.6. Câu l nh đ u tiên là C u hình. N u tùy ch n này đư c dùng. Tùy ch n đư c dùng n u có d u “x” ho c d u sao “*” (đ t vào b ng phím tr ng) trong ngo c vuông đ ng trư c tên c a tùy ch n..17. ngư i dùng có th đưa ra giá tr c a các tham s sau: • Hi n th t p tin sao lưu. trong đó có nh ng t p tin có tên b t đ u b ng đ u ch m (gi ng như ls-a). T t nhiên trong trư ng h p cu i cùng b n c n có quy n ghi lên t p tin tương ng. Theo m c đ nh chương trình Midnight Commander không hi n th nh ng t p tin có tên k t thúc b ng ‘∼’ (gi ng như tùy ch n -B c a l nh ls).

ho c nh n phím <F9> r i nh n phím <T>.v. Sau khi th c hi n các câu l nh Midnight Commander có th t m ng ng m t chút đ ngư i dùng có th xem và nghiên c u k t qu làm vi c c a nh ng l nh này. thì s hi n th không phân bi t t p tin và thư m c. N u dùng tùy ch n này. Trong trư ng h p ngư c l i.154 S d ng Midnight Commander Hình 6. • N p nhanh thư m c. đây có ba tùy ch n: • Không bao gi . . Trên các kênh giao tác Linux ho c khi dùng xterm ngư i dùng còn có th xem k t qu này b ng t h p phím <Ctrl>+<O>. b n mu n m trình đơn T p tin.. còn tên t p tin – sau tên c a t t c các thư m c. quy n truy c p ho c ch s h u v. • Tr n l n t t c t p tin. N u b n b t dùng tùy ch n này. N u tùy ch n không đư c dùng thì thư m c (và đư ng d n đ n thư m c) s đư c hi n th đ u danh sách. thì đ u tiên c n nh n phím <F9> r i dùng phím mũi tên sang ph i r i nh n phím <Enter>..17: C u hình Midnight Commander trình đơn (Trình đơn đ y xu ng). Theo m c đ nh tùy ch n này không đư c dùng. phím <F9> ch đưa ngư i dùng vào trình đơn chính và ngư i dùng ph i t ch n trình đơn tương ng b ng các phím mũi tên và dùng phím <Enter> ho c ch cái đ u tiên c a trình đơn đ m (đ y xu ng) trình đơn đó. Có nghĩa là ngư i dùng không mu n xem k t qu làm vi c c a l nh. Vùng T m ng ng sau khi ch y. . Trong trư ng h p đó (n u tùy ch n này đư c dùng). . t c là n u trong thư m c đã t o ho c xoá đi t p tin (thư m c) nào đó. Ví d . ) thì s không c p nh t l i n i dung c a thư m c đó. n u ch thay đ i b n ghi inode c a các t p tin c a thư m c này (đã thay đ i kích thư c t p tin. thì b n c n ph i t c p nh t l i danh sách t p tin b ng t h p phím <Ctrl>+<R>.. thì Midnight Commander s s d ng cách (m o) sau đ hi n th n i dung thư m c: ch đ c l i n i dung c a thư m c trong trư ng h p đã thay đ i b n ghi inode c a thư m c.

11 C u hình Midnight Commander 155 • Trên nh ng terminal “ngu”. Tùy ch n này cũng t đ ng không đư c dùng n u t c đ làm vi c c a terminal nh hơn 9600 bps. thì đ so n th o các t p tin Midnight Commander s dùng trình so n th o c a mình (mcedit). di chuy n. • S d ng so n th o n i b . N u dùng tùy ch n này. thì s g i chương trình ch ra trong bi n PAGER. thì trình đơn c a ngư i dùng s t đ ng hi n th lên màn hình m i khi ch y chương trình. N u không ch ra bi n này thì s dùng l nh view. • Trình xem n i b . Tùy ch n này không làm vi c. Theo m c đ nh các l nh ch n (select) và b ch n (unselect) nhóm t p tin và hi n th t p tin theo b l c (Filter) s d ng các bi u th c chính quy gi ng như trong h v shell. • Tính t ng kích thư c (Compute totals). Trong vùng C u hình khác ngư i dùng có th đ t ra các tham s sau: • Thao tác v i thông báo dài dòng (Verbose operation). N u b n đang dùng m t terminal ch m thì không nên dùng tùy ch n này.mc/ini. thì c n dùng bi u th c chính quy theo các lu t vi t trong man 1 ed.*’ (không ho c vài ký t ).’ b ng m t d u ch m thông thư ng (literal dot). N u dùng tùy ch n này. thì trư c khi th c hi n các thao tác sao chép. • Trình đơn t đ ng. di chuy n và xóa. n u không dùng tùy ch n Thao tác v i thông báo dài dòng trên. Tính năng này có ích khi trên máy làm vi c ngư i dùng có ít kinh nghi m (ngư i thao tác) và ch th c hi n nh ng thao tác đơn gi n. xóa Midnight Commander s tính t ng s t p tin và t ng kích thư c c a chúng đ ng th i hi n th quá trình thao tác v i nh ng t p tin này d ng các dòng bi u đ (tuy nhiên. Chương trình Midnight Commander luôn luôn t m ng ng sau khi th c hi n b t kỳ l nh nào. • M u d ng shell (Shell Patterns). Đ có th đ t đư c k t qu như trong shell. thay th ‘?’ b ng ‘. N u dùng tùy ch n này. N u dùng tùy ch n này. N u tùy ch n này không đư c dùng. N u không đ t bi n này thì s dùng vi. tính năng này s làm ch m quá trình m t chút). Tùy ch n này xác đ nh có hi n th hay không các c a s ph khi th c hi n các thao tác sao chép.’ (chính xác m t ký t ) và thay th ‘. thì chương trình th c hi n nh ng bi n đ i sau: thay th ‘*’ b ng ‘. N u không dùng tùy ch n này thì Midnight Commander s g i trình so n th o đư c ch ra trong bi n môi trư ng EDITOR. thì khi thoát kh i chương trình Midnight Commander.6. . • Luôn luôn. N u tùy ch n này đư c dùng. N u không dùng tùy ch n này. thì Midnight Commander s s d ng chương trình xem t p tin c a mình khi xem t p tin. S t m ng ng trên nh ng terminal không có kh năng hi n th k t qu làm vi c c a l nh th c hi n cu i cùng. • T đ ng ghi nh c u hình. giá tr c a các tham s thi t l p s đư c lưu vào t p tin ~/.

s đưa ngư i dùng vào thư m c m c a thư m c hi n th i. T c là n u ngư i dùng vào thư m c hi n th i theo liên k t đ n nó.. Ngoài ra còn có th ch ra tư th n m c a b ng là n m ngang hay d c. dòng g i ý (n m trên dòng l nh). nhưng b n có th thay đ i đ quy n truy c p và d ng t p tin có màu khác. Theo m c đ nh t t c các thông tin đư c hi n th b ng m t màu. Dùng tùy ch n này s ngăn ch n đư c ph n nào vi c xóa t p tin m t cách vô tình. ngư i dùng có kh năng dùng các phím <→> đ chuy n vào thư m c đang đư c chi u sáng và <←> đ chuy n lên thư m c m c a thư m c hi n th i (v i đi u ki n là dòng l nh tr ng). và có th thay đ i kích thư c c a nh ng b ng này. N u dùng tùy ch n Hi n tr ng thái mini. khi nh n phím <Alt>+<Tab>. Trên các kênh giao tác (console) Linux ho c SCO còn có th đ t s dòng dành đ hi n th k t qu làm vi c c a l nh. N u dùng tùy ch n này. Theo m c đ nh tùy ch n này không đư c dùng. t c là th đoán ph n còn l i c a câu l nh đang nh p. thì Midnight Commander hi n th góc trên bên ph i v ch quay dùng làm ch th cho bi t chương trình đang th c hi n công vi c (thao tác) nào đó. N u không dùng tùy ch n này thì Midnight Commander s chuy n thư m c theo c u trúc th t s c a các thư m c. N u dùng tùy ch n này.v. N u dùng phân bi t màu cho quy n truy c p.18). dòng l nh. B n có th hi n th ho c không hi n th dòng trình đơn chính trên đ u màn hình. N u dùng tùy ch n. Trong quá trình nh p l nh Midnight Commander có th “t đ ng hoàn thành” câu l nh đó. N u dùng phân bi t màu cho các d ng t p tin. thì trong ph n dư i . • Cái ch quay. Câu l nh th hai là V ngoài. Theo m c đ nh bash cũng làm vi c như v y. • Xóa m t cách an toàn. ch không ph i vào thư m c ch a liên k t. dòng giúp nh v công d ng c a các phím ch c năng cu i màn hình. các t p tin core (dump c a b nh ). Theo m c đ nh khi nh n <Alt>+<Tab> th nh t chương trình s tìm t t c nh ng phương án hoàn thành. và n u như có nhi u phương án thì chương trình s t o ra ti p bíp. thì l nh cd .mc/ini. • cd theo liên k t. • Di chuy n gi ng trong Lynx. thì nh ng ô perm và mode cho bi t quy n truy c p c a ngư i dùng đã ch y chương trình Midnight Commander s có màu xác đ nh b ng t khóa selected trong ph n [Colors] c a t p tin kh i đ ng ~/. thì trong h p tho i h i l i vi c xóa t p tin theo m c đ nh nút đư c ch n s chuy n t “Có” sang “Không”. . Theo m c đ nh tùy ch n này không đư c dùng. . các t p tin th c hi n v. thì Midnight Commander s s d ng các màu khác nhau cho thư m c. Dùng tùy ch n này thì Midnight Commander s tuân theo chu i các thư m c con lôgíc khi thay đ i thư m c theo liên k t. gi ng như khi dùng l nh cd.156 S d ng Midnight Commander • T đ ng hoàn thành: hi n t t c . Khi nh n t h p phím <Alt>+<Tab> l n th hai s hi n th t t c các kh năng hoàn thành. cho phép thay đ i m t s tham s hi n th c a s chính c a chương trình Midnight Commander trên màn hình (xem hình 6. N u mu n th y các phương án hoàn thành ngay sau l n nh n <Alt>+<Tab> đ u tiên thì hãy b t dùng tùy ch n này.

<Home>. cũng như trư c khi thoát kh i chương trình mc.6. ngư i dùng ch ra đ nh d ng terminal s s d ng đ x lý (nh p vào và hi n th trên màn hình) thông tin d ng các byte.19). ví d . Không hi n th nh ng h p tho i này s gây ít nhi u nguy hi m đ n h th ng (hình 6. ghi chèn và ch y chương trình. <End>).19 thì bit đư c ch n là 8 bit khác.18: Thay đ i v ngoài c a Midnight Commander c a m i b ng s có m t dòng cho bi t thông tin v t p tin đang đư c chi u sáng ho c thư m c hi n th i. thông tin trong các t p tin. Dùng các phím mũi tên lên. Trong h p tho i hi n ra s xu t hi n m t .19: Thay đ i bit hi n th c a Midnight Commander Bit (b ng mã) đư c ch n s đư c hi n th trong h p tho i này. trong đó ngư i dùng có th th m t s phím (<F1> – <F20>. Dùng tùy ch n Đ u vào 8 bit đ y đ ch có ý nghĩa trên các terminal có kh năng hi n th t t c các ký t 8bit (ví d các ký t c a ti ng Vi t).20). trong trư ng h p hình 6. Câu l nh Th phím (Learn keys) g i h p tho i. Trong h p tho i Bít hi n th (hình 6. B ng câu l nh Xác nh n có th c u hình đ ch n có hi n th hay không h p tho i h i l i ngư i dùng trư c khi th c hi n các thao tác xóa. Nh n vào nút L a ch n bên c nh s hi n th danh sách các b ng mã có. vì nh ng phím này không ph i làm vi c trên m i d ng terminal.11 C u hình Midnight Commander 157 Hình 6. xu ng đ ch n b ng mã thích h p sau đó nh n <Enter>. Hình 6.

Sau khi xu t hi n d u này thì phím s b t đ u làm vi c ch đ bình thư ng.21: Th và c u hình các phím Đ th m t phím c n nh n t ng phím trong b ng. N u nh n vào các phím mũi tên và sau đó bên c nh tên c a chúng xu t hi n d u OK. Hình 6. Khi .20: Thi t l p các h p tho i h i l i ngư i dùng b ng v i tên c a các phím có th th . N u không mu n thay th n a thì hãy nh n <Esc> r i đ i cho h p tho i màu đ bi n m t (ho c nh n phím <Enter>). Ví d . <j> – xu ng dư i. l n nh n phím <F1> đ u tiên s làm xu t hi n d u OK (n u phím làm vi c bình thư ng). thì cũng có th s d ng chúng đ đi u khi n dòng chi u sáng (hình 6. Sau đó s hi n ra m t h p tho i màu đ yêu c u ngư i dùng nh n phím s dùng thay cho phím không làm vi c. Tương t đ i v i các phím mũi tên. còn nh ng l n nh n ti p theo s g i c a s tr giúp. B n có th di chuy n dòng chi u sáng qua các phím này b ng <Tab> ho c các phím dùng trong trình so n th o vi (<h> – sang trái. <k> – lên trên. Phím <Tab> luôn luôn làm vi c.158 S d ng Midnight Commander Hình 6. N u nó làm vi c bình thư ng thì bên c nh s xu t hi n d u OK. <l> – sang ph i). thì sau khi nh n lên phím đó không xu t hi n d u OK. Trong trư ng h p đó có th dùng phím khác thay th .21). Đ thay th c n chuy n dòng chi u sáng đ n tên c a phím không làm vi c (b ng chu t. các phím mũi tên ho c phím <Tab>) r i nh n <Enter> ho c phím tr ng. N u có phím nào đó không làm vi c.

1 K t n i t i máy K t n i FTP xa Chương trình Midnight Commander s d ng H th ng t p tin FTP (ftpfs) đ cho phép ngư i dùng đi u khi n các t p tin xa qua giao th c FTP.6. Không nên đưa th ng m t kh u vào đư ng d n t i thư m c c a ftpfs. vì b t kỳ ai cũng có th th y m t kh u này trên màn hình.12.22).12 6.22: Thi t l p h th ng t p tin o Câu l nh Ghi nh c u hình lưu t t c nh ng giá tr đã ch n vào t p tin ini c a chương trình. T t nhiên n u t t c các phím làm vi c bình thư ng thì không c n ph i lưu gì h t.12 K t n i t i máy xa 159 hoàn thành vi c th nghi m và c u hình t t c các phím. ch c n thi t n u có thành ph n user. Câu l nh FS o g i h p tho i cho phép ngư i dùng đ t các giá tr c a m t s tham s có liên quan đ n s d ng h th ng t p tin o (hình 6.netrc. và m t kh u s đư c lưu d ng văn b n thông .mc/ini c a mình (trong đó TERM là tên g i c a terminal đang dùng) ho c không lưu nh ng thay đ i này. ngư i dùng có th ch n lưu nh ng c u hình này vào ph n [terminal:TERM] c a t p tin ~/. Thành ph n pass là m t kh u dùng đ k t n i. Hình 6. Đ s d ng đư c tính năng này b n có th dùng câu l nh K t n i FTP c a trình đơn B ng trái ho c B ng ph i tương ng ho c dùng câu l nh cd đ chuy n t i thư m c có đư ng d n d ng như sau: /#ftp:[!][user[:pass]@]machine[:port][remote-dir] Các thành ph n user. port và remote-dir là không b t bu c. n u không s dùng đăng nh p anonymous (đăng nh p chung) ho c dùng tên đăng nh p có trong t p tin ~/. thì Midnight Commander s đăng nh p vào máy xa v i tên ngư i dùng đó. 6. N u ngư i dùng đưa ra user.

hãy thêm m t d u ch m than (!) vào phía trư c tên máy.org:67/public/wiki /#ftp:teppi:abcdef@people. Ví d : /#ftp:192.vnoss. Chương trình Midnight Commander s t đ ng h i m t kh u trong trư ng h p không có thành ph n pass và có tên ngư i dùng (có user). Ví d : . trên máy xa ph i có ch y máy ch fish ho c có m t h v shell tương thích v i bash. Ví d : 192.org/public/wiki teppi@people. oc a 6.vnoss.vnoss. options và remote-dir là không b t bu c. thì Midnight Commander s đăng nh p vào máy xa v i tên ngư i dùng đó.org/public/wiki đây b n đ c cũng có th s d ng l ch s (phím <Alt>+<H>). n u không s dùng tên ngư i dùng c a b n.168.160 S d ng Midnight Commander thư ng trong l ch s các thư m c đã thăm.11. N u có thành ph n remote-dir thì sau khi k t n i thư m c hi n th i trên máy xa s là thư m c này.2 K t n i Shell Ngoài FTP trong các phiên b n m i c a mình chương trình Midnight Commander còn h tr giao th c SSH và truy n t i t p tin qua H th ng t p tin shell (file transfer over shell filesystem). Đ s d ng FTP proxy.168. H th ng t p tin fish là h th ng t p tin d a trên m ng máy tính.vnoss.22). N u ngư i dùng đưa ra user. Các tùy ch n options có th là ‘C’ – nén thông tin truy n t i và ‘rsh’ dùng rsh đ thay cho ssh.vnoss. b n có th dùng câu l nh K t n i Shell c a trình đơn B ng trái ho c B ng ph i tương ng ho c dùng câu l nh cd đ chuy n t i thư m c đ c bi t có tên d ng như sau: /#sh:[user@]machine[:options]/[remote-dir] Các thành ph n user. Trong ô tên máy ngư i dùng c n nh p t t c các thành ph n c a đư ng d n t i ftpfs như trên tr ph n đ u (/#ftp:).org/public/wiki /#ftp:teppi@people.vnoss.12. nó cho phép ngư i dùng đi u khi n t p tin trên các máy xa gi ng như khi chúng n m trên máy c a mình.10.10.org/public/wiki !people. Đ k t n i t i máy xa.org/public/wiki H p tho i c a câu l nh K t n i FTP có d ng như trong hình 6.org/public/wiki /#ftp:!people. Đ thay đ i các tùy ch n c a ftpfs chúng ta c n dùng câu l nh FS trình đơn C u hình (xem hình 6.vnoss.128/linux/SuSE /#ftp:people. Đ s d ng tính năng này.org:67/public/wiki teppi:abcdef@people.vnoss.128/linux/SuSE people.

Ghi chú: • B n d ch ti ng Vi t cho giao di n c a Midnight Commander đi kèm v i chương trình có th không ph i là b n d ch m i nh t. .pdf).168.savannah.gnu.vnoss.6.vnoss.po.128:r/linux/SuSE /#sh:people. Các b n có th đ c thêm tr giúp c a chương trình này m i khi c n b ng phím <F1>.org:C/public/wiki /#sh:teppi@people. Tuy nhiên kh năng c a chương trình này còn r ng hơn so v i nh ng gì đ c p đ n đây. B n luôn luôn có th l y b n d ch m i nh t v t kho CVS c a Midnight Commander (t p tin vi.org/viewcvs/*checkout*/mc/ mc/po/vi. Cách c p nh t m t b n d ch giao di n cho h th ng s đ c p đ n trong chương nói v ti ng Vi t trên Linux ho c n u mu n b n có th đ c trong b n tin s 3 VnOSS có trên http://vnoss.org (t p tin bantin-so3-092006.org/projects Tác gi hy v ng r ng nh ng thông tin trong chương này có th giúp b n b t đ u làm vi c v i chương trình Midnight Commander.po trong thư m c po) ho c t http://cvs.12 K t n i t i máy xa 161 /#sh:192.10.

trong m t chương sách riêng ngay sau chương này. Ngư i dùng s ph i nh m t danh sách dài các câu l nh.Chương 7 Giao di n đ ho M c dù Linux là h đi u hành m nh và phát tri n. ký hi u ng n g n là X11R7. Hi n th i đã có phiên b n 11 b n phát hành 7 c a tiêu chu n X Window System cho h th ng đ ho c a UNIX. cu i chương s có mô t sơ lư c m t vài môi trư ng làm vi c và cách kh i đ ng vào chúng. và ngoài ra còn có kh năng s d ng chu t đ s p x p không gian màn hình c a mình.org). Hi n nay các “môi trư ng làm vi c” l n như KDE. Trong giao di n đ ho ngư i dùng có th ch y các chương trình trong các c a s khác nhau. Tiêu chu n này đ u tiên đư c vi t ra t i trư ng đ i h c công ngh Massachuset.1 X.x.Org Foundation (http://www. M i th đã có s n. Tuy nhiên trên các b n phân ph i Linux v n còn s d ng b n phát hành th 6. GNOME còn có s n nh ng ng d ng đi kèm giúp ngư i dùng không m t nhi u th i gian l a ch n.Org Giao di n đ ho trong Linux đư c xây d ng d a trên cơ s c a tiêu chu n X Window System (c n chú ý là Window ch không ph i Windows. Cách đây không lâu các b n phân ph i Linux v n còn s d ng XFree86. xin đ ng nh m!) hay còn g i đơn gi n là “X” (ích-xì). m t ph n m m ng d ng t do tuân theo tiêu chu n X11R6 cho các h th ng UNIX . t c là X11R6. Trong chương này chúng ta s xem xét cách làm vi c c a giao di n đ ho và cách c u hình nó. B t đ u t năm 1997 côngxoocxiom X chuy n thành X Open Group và sau đó là X. 7. KDE. không c n nh danh sách các câu l nh vì đã có kh năng ch y chúng b ng h th ng trình đơn (menu). nhưng n u ch làm vi c qua giao di n dòng l nh thì Linux tr thành khó s d ng và không th h p d n đư c nhi u ngư i dùng. đó là giao di n đ ho . Côngxoocxiom X đư c t ch c vào năm 1988 v i m c đích tiêu chu n hóa giao di n đ h a cho các h đi u hành UNIX. h th ng các bi u tư ng trên màn hình. B t đ u t phiên b n th hai tiêu chu n này đư c côngxoocxiom X h tr . Do đó ngay t nh ng ngày đ u phát tri n c a Linux đã có m t giao di n khác “thân thi n” v i ngư i dùng hơn. Chúng ta s xem xét m t trong hai môi trư ng làm vi c này.

• Jim Gettys (HP). Ph n l n các nhà phát tri n.org.org Foundation. nhà phân ph i và nhà cung c p ph n c ng c a d án XFree86 trư c đây đã ng ng tham gia XFree86 và chuy n s n ph m c a mình gia nh p vào X. • Kevin Martin (Red Hat)...0) đó là XOrg. XFree86 đư c m t nhóm các nhà l p trình t o ra. • Stuart Kreitman (SUN).Org 163 v i b x lý 80386/80486/Pentium. ). các phiên b n Linux đã đ ng lo t chuy n sang m t “b n X” khác d a trên tiêu chu n X Window System (do có v n đ v i b n quy nc a XFree86 phiên b n 4. chuyên đi u khi n h th ng này.4.7. . .Org trên trang web chính c a t ch c t i đ a ch http://x. . ) và âm thanh. Nói như v y là vì chương trình máy ch (xin đư c g i t t là chương trình ch ) X làm vi c trên máy tính c a ngư i dùng (và hi n th hình nh trên màn hình máy tính) ch không ph i trên m t máy (ch ) nào đó xa. XOrg do t ch c cùng tên X. XFree86 đã đư c s d ng không ch trên Linux mà còn trên các h th ng System V/386. v i các thi t b nh p vào (bàn phím. . Quá trình phát tri n XOrg hi n đang là m t ph n c a c ng đ ng freedesktop. • Jim McQuillan (Linux Terminal Server Project). 386BSD.1 X. Hi n th i X. Do đó đôi khi chúng ta không th y có s khác nhau “v cơ b n”. chu t. N u mu n b n có th tìm hi u thêm v t ch c X. ngư i kh i đ u nhóm này là David Wexelblat. Chương trình ch X chi m lĩnh t t c các thi t b ph n c ng và cung c p các kh năng c a thi t b cho các chương trình khác d ng tài nguyên riêng2 theo m t giao th c (protocol) 1 2 nh ng ngư i có kinh nghi m làm vi c nhi u năm chính vì th mà chương trình X đư c coi là ch . FreeBSD và các phiên b n UNIX khác cho Intel x86. • Leon Shiman (Shiman Associates).Org Foundation cung c p d ng ng d ng mã ngu n m c a X Window System. • Keith Packard (HP). • Egbert Eich (SuSE). Còn bây gi chúng ta s nói đôi dòng v cách t ch c làm vi c giao di n ph n m m d a trên tiêu chu n X Window System.Org Foudation là m t công ty khoa h c v i ban lãnh đ o bao g m nh ng guru1 hàng đ u trong th gi i mã ngu n m : • Stuart Anderson (Free Standards Group). R t có th đ i v i m t s b n đ c s d hi u hơn n u coi chương trình này là m t driver c a h th ng hình nh. H th ng X Window đư c xây d ng trên cơ s mô hình “ch /khách” (thu t ng ti ng Anh hay đư c dùng hơn trong giao ti p: server/client) thư ng g p trong th gi i vi tính hi n nay. Tuy nhiên cách đây m t th i gian (cu i năm 2003 đ u năm 2004). Chương trình ch X làm vi c tr c ti p v i ph n c ng: v i h th ng viđê-ô (c c hình.org. m t nhánh phát tri n m i c a XFree86. Tuy nhiên mô hình này trong trư ng h p X Window đư c dùng d ng quay ngư c l i 180 đ .

chương trình đ ho GIMP. konsole. trình đơn (menu). Thư vi n X–lib g m các hàm đ h a cho phép th c hi n các thao tác b c th p v i các hình m u đ ho . Và đó là t t c nh ng gì b n có th làm. ví d chương trình so n th o văn b n OpenOffice. đó là thư vi n các hàm đ ho X–lib và trình qu n lý c a s (xem hình 7. g i là giao th c X hay giao th c k t n i m ng X (X Network Protocol). t c là đ phân gi i và t n s màn hình và các t h p phím quen thu c <Control>+<Alt>+<Fm> – chuy n v ch đ văn b n vào terminal o s m.. Ngoài nó ra chúng ta c n ch y m t trình qu n lý c a s và ít nh t m t chương trình khách đ t o hình nh trên màn hình. Đó là <Ctrl>+<Alt>+<Backspace> dùng đ d ng làm vi c chương trình ch X (n u không b đi kh năng này trong c u hình). Có th di chuy n d u X này quanh màn hình chu t. các . nhưng t m th i chưa có chương trình khách nào. N m gi a chương trình khách và chương trình ch X còn có hai thành ph n quan tr ng n a c a giao di n đ ho . Đ đưa ra màn hình m t hình nh nào đó có ý nghĩa hơn thì ch m t mình chương trình ch X là không đ . Trình qu n lý c a s cung c p các phương ti n đ th c hi n t t c các thao tác v i các c a s . Nhưng b n thân chương trình ch X không t o ra (v ra) hình nh trên màn hình mà ch cung c p hình nh cho driver c c hình. Nh n các nút chu t và bàn phím không đem l i l i ích gì. Trình qu n lý c a s g i các hàm trong X–lib đ đi u khi n màn hình và th c hi n b t kỳ thao tác chuy n đ i hình nh nào trong các c a s .org Writer. Chương trình khách c a “ch X” có th là các ng d ng làm vi c dư i X Window. Khi m t ng d ng X kh i đ ng. urxvt. Máy tính ch dùng đ ch y chương trình ch X đư c g i là máy X terminal. <Ctrl>+<Alt>+<+> và <Ctrl>+<Alt>+<–> – chuy n nhanh gi a các ch đ hi n th . nh n chu t) đ n các chương trình khách. .1).164 Giao di n đ ho đ c bi t. . c a s s chuy n quy n đi u khi n đ n trình qu n lý c a s . N u ch ch y chương trình ch X thì b n s ch th y m t màn hình màu xám v i m t d u X gi a. Tuy nhiên ngay lúc này chương trình ch X đã s n sàng chuy n nh ng tín hi u (nh n phím.1: Ki n trúc c a h th ng đ ho X Window System3 . bao g m: v khung ngoài. Hình 7. Lúc này v n có m t s t h p phím đư c X x lý. các chương trình gi l p terminal như xterm.

GNOME. Ngoài ra trên Linux và UNIX nói chung không có s phân bi t rõ ràng gi a các chương trình giao di n đ ho và giao di n văn b n (dòng l nh) như trong Windows. Chương trình cho ch đ đ ho cũng đư c ch y như các chương trình bình thư ng. Chương trình ch X có th thao tác v i phông ch m t cách tr c ti p. Ngoài ra còn có nh ng chương trình có th làm v i c chương trình ch X và v i c terminal thông thư ng.1 X. t chương trình Midnight Commander. .v. N u c n chương trình s t tìm đ n chương trình ch X qua TCP/IP nói chung và qua socket n i b khi chương trình ch và khách làm vi c trên cùng m t máy. Ví d chương trình so n văn b n emacs t đ ng ch n ch đ làm vi c (đ ho hay văn b n) khi kh i đ ng. Trình qu n lý c a s còn g i các hàm tương ng cho các chương trình khách trong trư ng h p ngư i dùng thao tác v i các ng d ng b ng bàn phím và chu t. Đ i v i h th ng thì không có s khác nhau gi a chương trình làm vi c trong ch đ đ ho và trong ch đ bình thư ng. Tìm ki m chương trình ch X đư c th c hi n qua bi n môi trư ng DISPLAY ho c qua tùy ch n trên dòng l nh.1 ch là tương đ i. . Ví d chúng ta đã nói r ng trao đ i gi a thư vi n X–lib v i chương trình ch X trong trư ng h p chung đư c th c hi n qua giao th c TCP/IP. Ví d các chương trình ng d ng có th ch y trên m t máy ch m nh (mainframe). thanh cu n lên. Đi u ki n duy nh t c n ph i có là chương trình ch X ph i làm vi c. Đ c đi m r t m nh này c a h th ng X Window là m t trong nh ng khác bi t c a nó so v i giao di n đ ho c a các h đi u hành dòng Windows. Chính thư vi n này là n n t ng c a chương trình đ ho GIMP. và cũng c n ph i thêm vào hình v trên. T t nhiên nh ng gì đưa ra trong hình 7. . Chương trình th c hi n vi c này b ng cách g i các hàm thư vi n trong X–lib. . Trình qu n lý màn hình c n bi t các tham s c a các thi t b này đ th c hi n công vi c c a mình. T t c nh ng gì chương trình c n bi t đ làm vi c đó là nơi tìm chương trình ch X. Ngoài ra trong GNOME còn có các thư vi n khác như Imlib cho phép m r ng các kh năng c a h th ng đ h a. CDE. còn hình nh s hi n th trên màn hình máy tính cá nhân. không thay th nh ng thành ph n k trên c a h th ng X Window. mà ch m r ng và thêm vào. ho c có m t chương trình khác chuyên dùng cho vi c này (đư c g i là chương trình ch phông ch ). Và còn m t tài nguyên quan tr ng khác c a h th ng đ ho đó là phông ch . v. Thông thư ng có m t liên k t đ n chương trình ch này v i tên X.v. nên chúng có th ch y trên các máy tính khác nhau và trao đ i v i nhau qua m ng. Ví d . B i vì ch và khách là các ti n trình riêng.org ngoài c c màn hình còn ph i đưa ra các tham s c a chu t và bàn phím. v. GNUStep. Xfce4. Chương trình này đư c g i là xorg và n m trong thư m c /usr/X11R6/bin. Như v y là trong hình v đã b qua nh ng chương trình ng d ng c a giao th c TCP/IP. GNOME s d ng thư vi n GTK+ (bây gi là GTK2+). đ ng th i còn cung c p kh năng thay đ i d ng và v trí các c a s trong quá trình làm vi c tùy theo nhu c u c a ngư i dùng. do đó có th ch y chương trình . Các môi trư ng làm vi c đ ho m r ng như KDE. xu ng và các thành ph n khác c a c a s .7. t c là t dòng l nh. KDE thêm vào thư vi n các hàm đ ho QT b sung cho X–lib. X.org có m t chương trình ch X cho ph n l n c c màn hình. Chính vì th khi c u hình X.Org 165 bi u tư ng.

. Xin đưa ra đây m t vài ví d trình qu n lý c a s thư ng dùng: • IceWM (http://www. và có th t xây d ng nhi u “ki u” giao di n đ ho t các thành ph n khác nhau. • Fluxbox (http://www. • WindowMaker (http://www.icewm.gnome. Như b n th y giao di n đ ho trên Linux đư c t o ra theo nguyên t c môđun. đó là Xfce4 (http://www. Chính trình qu n lý c a s này đư c dùng trên nhi u b n phân ph i Linux d ng LiveCD (Linux “s ng và làm vi c” trên CD) như: Damn Small Linux.xfce.fluxbox. c c màn hình có nhi u b nh hay không). Trang ch c a FVWM và FVWM2 n m t i đ a ch http: //fvwm. v. M t đ c đi m thú v c a WindowMaker đó là các trình nh applet th c hi n nhi u ch c năng khác nhau: theo dõi h th ng. T t c nh ng môi trư ng làm vi c đ ho này . N u mu n và có s h tr thì b n có th s d ng nh ng trình nh applet này trong các trình qu n lý c a s khác như Fluxbox. có r t nhi u tùy ch n c u hình đ b n có th thay đ i. Như v y là b n đ c đã bi t đư c giao di n đ ho trên Linux đư c t o ra t nh ng thành ph n gì. đó là chương trình ch X. • fvwm2 (Free Virtual Window Manager 2)– phiên b n nâng c p c a trình qu n lý c a s fvwm cho phép s d ng các s c thái (theme) khác nhau và trình đơn đ ng. b n đ c có th ch n b t kỳ chương trình nào trong s chúng. . • enlightment (http://www.166 ch X b ng câu l nh: [user]$ X Giao di n đ ho Trình qu n lý c a s thì có r t nhi u. Trình qu n lý c a s này đang đư c r t nhi u ngư i dùng có kinh nghi m ưa chu ng.v.enlightment. vì đã có trên t t c các b n phân ph i l n các môi trư ng làm vi c đ ho . L a ch n trình qu n lý c a s nào ph thu c nhi u vào c u hình máy tính c a b n (máy “m nh” hay “y u”. Ngoài ra cũng c n nói đ n môi trư ng làm vi c đ ho g n nh hơn và cũng chi m đư c s yêu m n c a r t nhi u ngư i dùng. Nhưng đ i v i ngư i dùng m i (và r t m i) thì đây không ph i là cách d nh t.org) – trình qu n lý c a s g n nh nhi u màu s c và m m d o trong c u hình k th a c a AfterStep. và yêu c u công vi c. Insert. Nhưng t t c chúng đ u s d ng cùng m t ti n ích đ ho cơ s c a X Window. theo dõi m ng.org).org/. đ ng h .windowmaker.org) – m t trình qu n lý c a s g n nh khác.org) mà chúng ta s nghiên c u sâu hơn trong chương sách ti p theo và GNOME (http://www. R t may là không nh t thi t ph i ch n cách này. Các trình qu n lý c a s khác nhau có th cho ra d ng c a s khác nhau b ng cách s d ng các khung và trình đơn c a s khác nhau.kde.org). làm vi c tương đ i nhanh và cũng đư c ngư i dùng có kinh nghi m ưa chu ng.org) – trình qu n lý c a s nh nh và làm vi c r t nhanh. N i ti ng nh t trong s các môi trư ng đ ho này c n k đ n KDE (http://www.org) – trình qu n lý c a s đ p nh t hi n nay.

Đ u tiên chúng ta c n bi t m t chút v công vi c c a h th ng hình nh c a máy tính.7. Ngoài ra Konqueror còn cho phép xem tr c ti p các t p tin có đ nh d ng (“ph n m r ng”) đã bi t. đ phân gi i màn hình.4 M t môi trư ng làm vi c đ ho có cùng đ ng c p v i KDE đó là GNOME (GNU Network Object Model Environment).2 M t chút v h th ng hình nh c a máy tính 167 đ u đã có h tr ti ng Vi t t t (ho c còn chưa t t).com). Phiên b n 4. 7.org) có nhi u kh năng m nh trong vi c truy c p đ n các t p tin. V n đ này x y ra trư c đây là do thư vi n Qt thu c v công ty thương m i. 4 . mà nhi u nhà l p trình cùng s d ng m t cách m t ý tư ng phát tri n chung đ t o ra các ng d ng khác nhau. . GNOME đư c xây d ng d a trên thư vi n các hàm đ ho GTK+ (bây gi là GTK2+. K t qu thu đư c đó là m t b đ y đ các chương trình ng d ng cho phép gi i quy t t t c các nhu c u đi u khi n máy tính và làm vi c c a ngư i dùng.xfce. Các b n phân ph i Linux m i hi n nay đã cho phép cài đ t và c u hình giao di n đ ho m t cách d dàng hơn r t nhi u so v i trư c đây.4 c a Xfce4 h a h n nhi u thay đ i l n. t n s c p nh t) thích h p. d ng màn hình và t đ ng ch n các tham s (đ phân gi i. trình qu n lý t p tin kfm. Còn có nhi u môi trư ng làm vi c đ ho khác nhưng chưa đ t đư c m c đ phát tri n m nh như KDE và GNOME. đây không ph i là hư ng d n chi ti t dành cho các nhà chuyên môn. kh năng duy t web cũng không thua kém các trình duy t khác như Internet Explorer. có nghĩa là chương trình ng d ng t do. do đó càng d dàng hơn (ho c khó khăn hơn cho ai đó?) cho b n đ c trong khi s d ng. mà ch là nh ng ki n th c cơ b n v h th ng hình nh c a máy tính đ giúp ngư i dùng m i và r t m i hi u đư c cách làm vi c c a h th ng hình nh. đã có kh năng t đ ng xác đ nh d ng c c hình.qt. openSUSE Linux. trung tâm đi u khi n KDE và r t nhi u thành ph n khác bao g m c gói chương trình ng d ng cho văn phòng KOffice. Cách đây m t th i gian KDE đã đư c công nh n là ph n m m t do. Chương trình cài đ t c a Debian Linux. B ng thư vi n này các nhà phát tri n KDE đã vi t ra trình qu n lý c a s riêng – kwm. T t nhiên đi u này không có nghĩa là t t c các thành ph n c a môi trư ng KDE là do m t công ty nào đó vi t ra và phát tri n. th nào là t n s .kde. Trong s chúng c n nói đ n Xfce4 (http://www. GNOME đư c phát tri n trong khuôn kh c a d án GNU. phiên b n 2 c a thư vi n GTK). Tuy nhiên tôi xin đưa ra đây m t vài l i khuyên khi c u hình X Window vì r t có th b n đ c s g p v n đ nào đó. v.2 M t chút v h th ng hình nh c a máy tính Như b n đ c đã hi u khi th y đ u đ c a ph n này.org). Nhưng công ty Troll Tech đã đưa ra thông báo cho phép dùng thư vi n này vĩnh vi n mi n phí đ phát tri n các ng d ng mã ngu n m .v. N n t ng c a môi trư ng làm vi c đ ho KDE (K Desktop Enviroment) là thư vi n các hàm đ ho m r ng Qt c a công ty Troll Tech (http://www. . Fedora Core. ví d chương trình cài đ t xác đ nh d ng màn hình không đúng và do đó dùng nh ng tham s không thích h p. Trong các phiên b n m i c a KDE còn có thêm trình qu n lý t p tin và cũng là trình duy t web Konqueror (http://konqueror. trong s đó c n k đ n trình qu n lý t p tin Thunar và các m r ng (plugin) c a nó.

T n s đ ng b ngang. đó là s đi m có th hi n th trên màn hình trong m t giây. M t tham s cũng quan tr ng n a đó là t n s c p nh t màn hình SRR (Screen Refresh Rate). Ch c năng đi u khi n màn hình là do c c hình th c hi n. sang ph i. C n ph i bi t t n s t o ra hai tín hi u này. đ có th c u hình đúng chương trình ch X. Màn hình th c hi n hai công vi c riêng bi t: “tr i” các chu i (tia) electron và chi u sáng các đi m riêng bi t đ t o ra hình nh. vì t n s này không th l n hơn giá tr c a phân s : DCF (s đi m trên dòng) * (s c t trên màn hình) t c là có s ph thu c v i đ phân gi i (resolution) c a màn hình. Đi m đư c t o ra nh các chu i electron và các đi m n m d ng dòng n m ngang. có đơn v là KHz (1kilôhéc = 1000 héc) và nh n giá tr trong kho ng t 31 đ n 135 KHz. . Ngoài ra đ t o ra hình nh s c nét trên màn hình. Nhưng cũng không th đưa ra m t t n s c p nh t màn hình quá l n. tính theo s tín hi u trong m t giây. giá tr c a VSF n m trong kho ng 50 – 180 Hz. tia electron còn di chuy n quá sang trái. hình nh trên màn hình đư c t o ra t các đi m riêng bi t. Trên th c t t n s c p nh t còn nh hơn n a vì còn m t th i gian di chuy n các tia electron t dòng này sang dòng khác. Nh ng màn hình m i thư ng là màn hình có nhi u t n s hay còn nói là có gi i t n s r ng. Khi có tín hi u đ ng b dòng (theo chi u ngang) tia electron s đư c chuy n t cu i m i dòng t i đ u dòng ti p theo. T n s đ ng b d c thư ng kí hi u là VSF và có đơn v là Hz (Héc). chúng ta s ch xem xét trư ng h p màn hình ng đi n t (CRT) mà không xem xét màn hình tinh th l ng (LCD). vì khi đó s gi m m c đ nh p nháy c a màn hình. . Tiêu chu n VESA khuyên ch n giá tr này l n hơn ho c b ng 72Hz. có nghĩa là b n có th ch n các t n s d c và ngang t m t vùng các giá tr cho phép nào đó. VS). t cu i màn hình lên đ u màn hình. Còn có m t t n s quan tr ng khác n a.168 Giao di n đ ho v. Tia electron di chuy n qua màn hình theo m t v n t c có h n do b vi x lý c a c c hình xác đ nh. s dòng trên màn hình (đ phân gi i theo chi u d c) và cư ng đ (intensity) c a m i màu (trong s ba màu chính) trên t ng đi m. nhưng hãy c n th n vì n u ch n giá tr cao quá m c thì có th làm h ng màn hình. Như b n đ c bi t. khi đó đèn huỳnh quang s nh p nháy r t m nh. lên cao. đ có th ch n các tham s thích h p trong khi c u hình. HSF. M t s màn hình nh t là màn hình r ti n có th ch có m t vài giá tr t n s cho phép. T t nhiên t t nh t là ch n giá tr l n nh t trong s có th dùng. Đi u khi n màn hình có nghĩa là đưa ra s đi m trên m t dòng (đ phân gi i theo chi u ngang). đ ng b dòng (HS) và đ ng b nh (c t. T n s này đư c g i là DCF (“Dot Clock Frequency” – t n s làm vi c c a c c hình). C c hình chuy n t i màn hình 3 tín hi u: tín hi u hình (RGB). Giá tr t n s đ ng b ngang và d c này nh t đ nh có trong tài li u đi kèm v i màn hình. C n nói thêm t n s c p nh t màn hình b ng t n .v. xu ng th p hơn m t chút so v i hình nh (t o ra 4 dòng và c t t i xung quanh hình nh). Giá tr này càng cao bao nhiêu thì m t c a ngư i dùng càng ít m i m t b y nhiêu trong khi làm vi c v i máy tính. còn khi có tín hi u đ ng b nh (theo chi u d c) thì s chuy n tia electron t góc dư i bên ph i v góc trên bên trái. H th ng hình nh c a máy tính bao g m c c hình (video card) và màn hình (monitor). Không nên ch n t n s c p nh t màn hình nh hơn 60Hz.

t c là c u hình giao di n c a Linux. S lư ng màu có th dùng cho m i đi m đư c gi i h n b i dung lư ng b nh c c hình cũng như s m c đ tín hi u mà c c hình có th t o ra cho m i tia electron. Hình nh đư c lưu trong b nh d ng s và s chuy n đ i hình nh v d ng tín hi u “tương t ” (analog) RGB là m t trong nh ng công vi c chính c a c c hình. N u có m t c c hình cũ v i dung lư ng b nh ít hơn thì c n ph i ch n đ phân gi i nh hơn ho c ch n s lư ng màu ít hơn. Màu c a đi m đó đư c xác đ nh b i s pha tr n c a ba màu cơ b n: đ (Red). B nh này n m trên c c hình nhưng thu c v không gian b nh chung c a c máy tính. nhưng v n có th truy c p t i máy tính b ng ch đ văn b n (giao di n dòng l nh). Cách cài đ t chương trình s có trong chương khác dành riêng cho ph n cài đ t chương . Công vi c này là do m t b ph n trên c c hình đ m nhi m. Nhưng thông thư ng c c hình có th t o ra m t s lư ng m c đ tín hi u đ đ hi n th hình nh.org. Hình nh s đưa ra màn hình đư c t o ra trong b nh c a c c hình. và t t c nh ng t p tin (chương trình) nói đ n phía sau đã có trên đĩa. t c là 8 byte cho m i đi m. n u b n đ c mu n ch n đ phân gi i màn hình 1280 x 1024 và có 32 tri u màu cho m i đi m. N u không thì đ u tiên b n ph i cài đ t gói chương trình X.7. byte) ≥ (S * (s byte trên m t đi m) đi m trên dòng) * (s c t trên màn hình) Ví d . ho c không th vào ch đ đ ho . Tôi nghĩ r ng b n có th t l a ch n m t đ phân gi i và s lư ng màu thích h p cho máy tính c a mình. N u b n không hài lòng v i hình nh c a giao di n đ ho .3 C u hình chương trình ch X 169 s đ ng b d c (SRR = VSF). Trên các màn hình màu. ho c không hài lòng v i nh ng gì mình th y trên màn hình giao di n đ ho . t n s đ ng b d c VSF và t n s làm vi c c a c c hình DCF xác đ nh giá tr gi i h n (l n nh t) c a đ phân gi i. do đó tham s quy t đ nh đây là dung lư ng b nh .org. Cư ng đ c a m i màu này l i đư c xác đ nh b i m c đ c a tín hi u trong tia tương ng. Chương này coi như b n đã cài đ t X. Như v y. Còn bây gi chúng ta s xem xét ph n th c hành c a nh ng lý thuy t đã đưa ra. Còn có m t gi i h n n a ph thu c vào dung lư ng b nh c a c c hình – s lư ng màu c a hình nh.3 C u hình chương trình ch X Chúng ta s xem xét trư ng h p sau khi cài đ t Linux b n không th chuy n vào ch đ đ ho (r t hi m khi x y ra v i các b n phân ph i Linux m i). T t c nh ng c c hình m i đáp ng đư c (th m chí còn vư t quá) yêu c u này. Công th c xác đ nh gi i h n đ phân gi i và s lư ng màu trên hình nh r t đơn gi n: (Dung lư ng b nh . 7. m i đi m đư c chi u sáng đ ng th i b i 3 tia electron. thì v n có th s d ng m t câu l nh và chương trình c a Linux đ c u hình l i chương trình ch X. đó là “b chuy n đ i s – tương t ”. Chúng ta s bi t đư c cách chuy n ch đ kh i đ ng trong m t vài chương t i. thì hãy ch n kh i đ ng vào ch đ m t ngư i dùng đ có kh năng thay đ i c u hình X. N u b n rơi vào tình hu ng th nh t trong quá trình kh i đ ng máy. xanh lá cây (Green) và xanh da tr i (Blue) – RGB. thì c n có m t c c hình v i dung lư ng b nh ít nh t là 1280 ∗ 1024 ∗ 4 = 10485760 byte (10Mb).

• Kho ng t n s đ ng b ngang và d c cho phép dùng c a màn hình. ho c đơn gi n là giúp b n hi u hơn v giao di n này và cách c u hình nó n u b n đã có m t h th ng X Window làm vi c t t. Vì th c n ph i c u hình chương trình ch X đ s d ng nh ng thi t b này. Nhưng xin b n hãy luôn nh là cu n sách b n đang đ c s d ng b n quy n Creative Commons Public License 2. Cách ch y chương trình này không thu c vào ph m vi c a cu n sách này vì chúng ta đang nói v h đi u hành Linux. s d ng Knoppix): t t c nh ng thông tin b n c n đã có trong tài li u đi kèm v i máy tính. Tác gi không ch u trách nhi m v nh ng gì s x y ra. ví d bash script mkxf86config do các nhà phát tri n Gentoo vi t ra. • D ng c a b x lý trên c c hình (chíp). L y t tài li u đi kèm v i màn hình. N u trên máy c a b n chưa có b t kỳ h đi u hành nào thì hãy s d ng m t h đi u hành Linux LiveCD (ch y th ng t CD) có kh năng nh n d ng ph n c ng t t như Knoppix. và n u không bàn phím thì càng không th làm vi c v i máy tính nói chung. Có nhi u cách đ l y nh ng thông tin này.1 Thu th p thông tin c n thi t Đ có th c u hình b n c n m t vài d li u sau: • Tên c a hãng s n xu t c c hình và màn hình. Ví d . Làm vi c trong giao di n đ ho mà không có chu t thì không thu n ti n chút nào.170 Giao di n đ ho trình. chíp c a hãng Nvidia thư ng c n n p môđun nv. Thư ng l y t tài li u đi kèm v i chúng. B n có th tìm th y thông tin trong b t kỳ cu n sách nào nói v h đi u hành Windows. Sau khi kh i đ ng Knoppix thành công hãy sao chép t p tin c u hình chương trình ch X c a Knoppix (thư ng n m t i /etc/X11/xorg.5 (http://creativecommons. • Dung lư ng b nh c a c c hình.3.conf lên đĩa m m ho c flash đ sau này có th đ c l i. d dàng nh t là trên trang web c a nhà s n xu t.org/licenses/by/2. Cách d dàng nh t cho ngư i dùng m i là khi trên máy đã có m t h đi u hành Windows. Ngoài ra có nh ng chương trình chuyên dùng cho vi c l y các d li u c n thi t k trên. Hy v ng r ng nh ng thông tin dư i đây giúp b n c u hình thành công giao di n đ ho . Nh ng thông tin b n c n có trong Trình qu n lý các thi t b . V cách đ c thông tin t t p tin c u hình X. C n xác đ nh d ng chíp đ ch n môđun đúng cho c c hình. • D ng chu t và bàn phím. 5/). . Hai tham s này là quan tr ng. n u không có tài li u thì b n c n tìm nh ng thông tin này trên Internet. Tuy nhiên tôi hy v ng là các b n s không ph i s d ng đ n nh ng ti n ích này cũng như nh ng phương án k trên (s d ng h đi u hành khác.org (c u trúc c a t p tin này) chúng ta s xem xét ngay dư i đây. n u không có thì cũng có th xem tr c ti p trên thi t b . B n có th tìm th y script này trên m ng Internet. Hãy c n th n trong khi làm vi c! 7.

t c là t i ∼/xorg.conf ch không ph i XF86Config-4 như trư ng h p xf86config.conf và đ t t p tin này vào thư m c /etc/X11. m i b n phân ph i hi n đ i có m t công c c u hình riêng c a mình. Và đây cũng chính là cách các nhà qu n tr h th ng có kinh nghi m s d ng đ c u hình giao di n đ ho . Ngoài ra. Trên dòng l nh hãy ch y: [root]# xorgconfig r i tr l i nh ng câu h i mà chương trình này đ t ra. Trong X. Ví d b n phân ph i OpenSUSE có sax2. do đó không có ích trong trư ng h p b n chưa có m t c u hình X nào.7. Khi kh i đ ng và n u không ch rõ t p tin c u hình trên dòng l nh thì chương trình ch X đ u tiên s tìm t p tin c u hình t i thư m c c a ngư i dùng. đó là xorgcfg.conf. N u vì nguyên nhân nào đó b n cài đ t X. có nh ng chương trình. Cũng không c n ph i t o t p tin xorg.2). N u trong khi cài đ t b n có ch n cài đ t giao di n đ ho X thì trên máy đã có t p tin ch a c u hình X đúng (và có th không).2 C u trúc c a t p tin c u hình X T p tin c u hình chương trình ch X thư ng n m t i /etc/X11/xorg. N u không th y t p tin này thì chương trình ch X s dùng c u hình chung c a toàn b h th ng n m trong thư m c /etc như đã nói trên (n u có). N u không mu n ti p t c thì hãy nh n <Ctrl>+<C> đ thoát ra. đôi khi r t m nh. t c là ch ch y trên n n m t máy ch X đã ch y nào đó (hình 7.3 C u hình chương trình ch X 171 7. Hãy s d ng nh ng chương trình này. ho c đơn gi n là mu n ki m soát quá trình này. Tuy nhiên. T p tin c u hình X ch là m t t p tin văn b n (text file) bình thư ng. ch có đi u xorgconfig sau khi hoàn thành công vi c s t o ra xorg. sau khi hoàn thành nó s t o ra t p tin xorg. Ch c n ch y câu l nh sau (hãy chú ý là c n có quy n ngư i dùng root: [root]# Xorg -configure Câu l nh này s làm vi c m t cách im l ng. Hãy đ c các trang hư ng d n s d ng man tương ng xorgconfig(1) và xorgcfg(1) đ bi t thêm chi ti t. Tuy nhiên r t có th b n s mu n t t o cho mình m t t p tin c u hình riêng. Nhưng chương trình là ng d ng đ ho .org riêng sau khi cài đ t Linux. Trên th c t theo tôi th y thì hai chương trình này không có gì khác nhau. do đó có th s d ng b t kỳ trình so n th o văn b n nào đ thay đ i nó. ti n ích chính dùng đ t t o m t t p tin c u hình (XF86Config-4) là chương trình xf86config (đôi khi xf86cfg). ti n ích chuyên dùng cho vi c này.conf. Chúng s giúp b n ti t ki m đư c nhi u th i gian. Trong XFree86 phiên b n th 4.3. Đ t o ra t p tin c u hình X m t cách t đ ng hãy s d ng chương trình Xorg v i tùy ch n -configure. và chúng ta s s d ng chúng trong th i gian đ u m i làm quen v i Linux. .conf t đ u. Xin đ ng quên câu l nh Xorg khác v i câu l nh xorg! Như đã nói t trư c trên Linux ch thư ng và ch hoa có s khác nhau rõ ràng. thì hãy ch y m t trong nh ng chương trình cho phép b n t o ra t p tin này. Còn m t ti n ích khác có th dùng đ c u hình máy ch X.org chương trình này đã đư c thay th b ng xorgconfig.

berlios.conf.org qua xorgcfg B ng m t trong nh ng công c trên b n đã t o ra đư c t p tin c u hình xorg. Dư i đây là ví d m t t p tin xorg.1 Contact: Marcus Schaefer <sax@suse.172 Giao di n đ ho Hình 7. Chúng ta s xem t p tin này trông như th nào (có nghĩa là dùng câu l nh xem t p tin more ho c less ho c dùng m t chương trình so n th o văn b n như vim đ m nó).conf có trên máy c a tôi sau khi cài đ t openSUSE Linux 10. 2005 Contact: SaX-User list <https://lists.2: C u hình X.1) Section "Files" InputDevices "/dev/gpmdata" InputDevices "/dev/input/mice" FontPath "/usr/X11R6/lib/X11/fonts/misc:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/local" FontPath "/usr/X11R6/lib/X11/fonts/75dpi:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/100dpi:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/Type1" FontPath "/usr/X11R6/lib/X11/fonts/URW" FontPath "/usr/X11R6/lib/X11/fonts/truetype" FontPath "/usr/X11R6/lib/X11/fonts/uni:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/CID" FontPath "/opt/kde3/share/fonts" FontPath "/usr/local/share/fonts" EndSection .1: # # # # # Version: 7.de/mailman/listinfo/sax-users> Automatically generated by [ISaX] (7.de>.

3 C u hình chương trình ch X Section "ServerFlags" Option "AllowMouseOpenFail" "on" EndSection Section "Module" Load "dbe" Load "type1" Load "freetype" Load "extmod" Load "glx" Load "v4l" EndSection Section "InputDevice" Driver "kbd" Identifier "Keyboard[0]" Option "Protocol" "Standard" Option "XkbLayout" "us" Option "XkbModel" "pc104" Option "XkbRules" "xfree86" EndSection Section "InputDevice" Driver "mouse" Identifier "Mouse[1]" Option "Buttons" "10" Option "Device" "/dev/input/mice" Option "Name" "Logitech USB Receiver" Option "Protocol" "explorerps/2" Option "Vendor" "Sysp" Option "ZAxisMapping" "4 5" EndSection Section "Monitor" DisplaySize 345 259 HorizSync 30-96 Identifier "Monitor[0]" ModelName "SYNCMASTER 757NF(T)/707NF/700NF" Option "DPMS" VendorName "SAMSUNG" VertRefresh 50-160 UseModes "Modes[0]" EndSection 173 Section "Modes" Identifier "Modes[0]" Modeline "1280x1024" 167.32 1280 1376 1512 1744 1024 1025 1028 1078 Modeline "1280x1024" 165.57 1024 1096 1208 1392 768 769 772 821 Modeline "1024x768" 131.7.59 800 856 944 1088 600 601 604 650 Modeline "800x600" 96.41 1280 1376 1512 1744 1024 1025 1028 1077 Modeline "1024x768" 135.41 1024 1104 1216 1408 768 769 772 822 Modeline "1024x768" 132.89 800 856 944 1088 600 601 604 650 Modeline "800x600" 96.18 800 856 944 1088 600 601 604 650 EndSection .43 1024 1096 1208 1392 768 769 772 821 Modeline "800x600" 97.29 1280 1376 1512 1744 1024 1025 1028 1077 Modeline "1280x1024" 163.

Nh ng dòng đ u tiên thư ng là nh ng dòng chú thích không có nh hư ng gì đ n chương trình. T p tin xorg.174 Section "Screen" DefaultDepth 24 SubSection "Display" Depth 15 Modes "1280x1024" "1024x768" EndSubSection SubSection "Display" Depth 16 Modes "1280x1024" "1024x768" EndSubSection SubSection "Display" Depth 24 Modes "1280x1024" "1024x768" EndSubSection SubSection "Display" Depth 8 Modes "1280x1024" "1024x768" EndSubSection Device "Device[0]" Identifier "Screen[0]" Monitor "Monitor[0]" EndSection Giao di n đ ho "800x600" "800x600" "800x600" "800x600" Section "Device" BoardName "GeForce4 MX 440 with AGP8X" BusID "1:0:0" Driver "nvidia" Identifier "Device[0]" VendorName "NVidia" EndSection Section "ServerLayout" Identifier "Layout[all]" InputDevice "Keyboard[0]" "CoreKeyboard" InputDevice "Mouse[1]" "CorePointer" Option "Clone" "off" Option "Xinerama" "off" Screen "Screen[0]" EndSection Section "DRI" Group Mode EndSection "video" 0660 Section "Extensions" EndSection C n ph i nói r ng nh ng thông tin mà chương trình cài đ t c a openSUSE dò tìm ra là chính xác.conf bao g m m t vài ph n nh hơn. m i ph n có c u trúc như sau: . Có th b n đ c đã nh n th y là trên Linux nh ng t p tin c u hình có c u trúc tương t như nhau. Nh ng dòng này có ký t đ u tiên là # và m t kho ng tr ng sau ký t này.

• Modes – mô t các ch đ hình nh. • ServerFlags – tùy ch n c a chương trình ch . • Screen – c u hình màn hình. • Module – các môđun n p t đ ng. Thi t b nh p vào thư ng là bàn phím và chu t. • Vendor – c u hình cho các thi t b c a các nhà s n xu t c th nào đó. • InputDevice – mô t các thi t b nh p vào. t c là chương trình ch X b t đ u đ c t p tin c u hình xorg. Trong ph n ServerLayout ph i có các dòng ch đ n các ph n c a thi t b v a nói đ n. tuy nhiên khi đó chúng ph i có tên riêng không trùng nhau. chúng đư c xác đ nh trong các ph n InputDevice. • DRI – c u hình DRI. m i ph n cho m t thi t b . Ph n ServerLayout có ưu tiên cao nh t. • Extensions – ph n c u hình m r ng. • ServerLayout – c u hình chung. Cũng có th g p hai ph n ho c nhi u hơn có cùng m t d ng (Ví d Screen).3 C u hình chương trình ch X Section "tên_c a_ph n_này" SectionEntry1 SectionEntry2 SectionEntry3 EndSection 175 Các ph n có th n m trong t p tin c u hình theo th t b t kỳ. ph n ServerLayout ph i ch a ít nh t nh ng dòng sau: Section "ServerLayout" Identifier "Layout[all]" InputDevice "Keyboard[0]" "CoreKeyboard" InputDevice "Mouse[1]" "CorePointer" Screen "Screen[0]" EndSection . Như v y. Trong t p tin c u hình có th có các ph n sau (không nh t thi t ph i có t t c chúng): • Files – đư ng d n đ n các t p tin. • Device – mô t c c hình (video card). Thi t b ra g m các thành ph n riêng bi t là c c hình và màn hình thư ng đư c nhóm l i v i nhau trong ph n Screen. Ph n này xác đ nh nh ng thi t b vào/ra (input/output) nào s đư c s d ng trong giao di n đ ho X.conf t đây.7. • Monitor – mô t màn hình.

đ i v i ngư i dùng thì ý nghĩa c a ch đ hi n th trùng v i đ phân gi i c a màn hình. Ph n Monitor xác đ nh tham s c a màn hình cũng có hai tùy ch n (hai dòng) quan tr ng. Ph n này có d ng như sau: Section "Screen" DefaultDepth 24 SubSection "Display" Depth 15 Modes "1280x1024" "1024x768" EndSubSection SubSection "Display" Depth 16 Modes "1280x1024" "1024x768" EndSubSection SubSection "Display" Depth 24 Modes "1280x1024" "1024x768" EndSubSection SubSection "Display" Depth 8 Modes "1280x1024" "1024x768" EndSubSection Device "Device[0]" Identifier "Screen[0]" Monitor "Monitor[0]" EndSection "800x600" "800x600" "800x600" "800x600" Như b n th y. đó là: color depth Đ sâu màu màn hình thư ng tính theo bit và thư ng nh n các giá tr 8. ngư i dùng c n đ t nh ng ch đ hi n th mu n dùng v i đ sâu màu tương ng.176 Giao di n đ ho Ph n Screen xác đ nh màn hình và c c hình s d ng. Giá tr này càng cao thì s lư ng màu có th hi n th càng l n và hình nh càng đ p. 6 5 . Máy ch X s s d ng ch đ đ u tiên n m trong danh sách theo m c đ nh.6 Trong m i ph n con. và màn hình đư c s d ng có tên Screen[0] (SAMSUNG SYNCMASTER 757NF(T)/707NF/700NF). Đ sâu màu m c đ nh n m trên dòng DefaultDepth. "800x600". t c là GeForce4 MX 440 with AGP8X đư c xác đ nh trong ph n Device. Đ chuy n sang s d ng nh ng ch đ khác hãy th nh n các t h p phím <Ctrl>+<Alt>+<+> và <Ctrl>+<Alt>+<–>. ph n này cho bi t c c màn hình đư c dùng là thi t b có tên Device[0]. 16. tên này n m ngay sau t Modeline. xác đ nh trong ph n Monitor. Các ch đ đư c li t kê theo tên l y t ph n Modes. Tuy nhiên c c màn hình và b n thân màn hình ph i đ t t đ có th h tr nh ng giá tr đ sâu màu l n. ví d . đ ng th i đưa ra các ch đ làm vi c c a màn hình (đ phân gi i và s lư ng màu). trong đó phím <+> và phím <–> n m trên bàn phím s . "1280x1024". Như v y. 24. 15. Ph n Screen còn có th ch a m t vài ph n con (Subsection) Display tương ng v i m t giá tr “đ sâu màu”5 màn hình. "1024x768".

50–160. C n ph i xem xét tài li u c a màn hình đ đưa ra nh ng giá tr chính xác. Trên máy c a tôi dòng này có d ng: Driver "nvidia" T c là tôi s d ng c c màn hình v i chip c a hãng NVIDIA và đã cài đ t driver l y v t trang Web c a hãng này. 90 124. Hai ph n InputDevice xác đ nh chu t và bàn phím. đ t l i giá tr c a các phím.org cho các c c màn hình nvidia có tên ng n hơn — nv.7. Cũng nói luôn. 138 80 100 n u mu n có thêm hai l a ch n ho c nhi u hơn. N u không có tài li u này thì hãy tìm ki m trên CD đi kèm ho c trên trang Web c a nhà s n xu t. do đó tùy ch n Option "XkbModel" "pc104" làm vi c trong đa s trư ng h p. N u mu n đ t m t s c th nào đó thay cho nh ng kho ng thì có th s a thành: HorizSync VertRefresh ho c: HorizSync VertRefresh 80. Chúng ta s quay tr l i v i ti ng Vi t trong m t chương sau. T n s c p nh t màn hình theo chi u ngang HorizSync tính theo KHz còn t n s c p nh t d c VertRefresh tính theo Hz.3 C u hình chương trình ch X HorizSync VertRefresh 30-96 50-160 177 xác đ nh t n s c p nh t ngang (HorizSync) và d c (VertRefresh). đây t n s c p nh t ngang và d c có th n m tương ng trong kho ng 30–96. thì tham s Protocol s có giá tr là PS/2 ho c m t t dài hơn k t thúc b ng PS/2. Trong ph n này quan tr ng nh t là dòng ch ra driver. thì chúng ta s không dùng đư c nút bánh xe c a chu t đ kéo lên kéo xu ng các trang Web. thay đ i các thu c tính c a bàn phím như t c đ l p l i (repeat rate). do đó lúc này không c n thi t ph i tìm hi u sâu và c u hình k cho ph n này. x-unikey ho c scim. Trong trư ng h p c a tôi là explorerps/2. N u chu t đư c k t n i vào m t c ng dành riêng cho nó. Các môi trư ng làm vi c như KDE. Hi n nay ph bi n các bàn phím có 104 phím và Linux h tr t t các bàn phím này. đ gõ ti ng Vi t thì t t nh t là s d ng m t chương trình chuyên d ng như xvnkb. Ph n ti p theo là Device mô t c c màn hình c a b n. GNOME. Tùy ch n Protocol xác đ nh giao th c “liên l c” v i chu t. Nh ng . Driver g c c a X. Trong ph n InputDevice tương ng v i chu t hãy chú ý đ n 3 dòng (tùy ch n) sau: Option Option Option "ZAxisMapping" "4 5" "Protocol" "PS/2" "Device" "/dev/input/mice" N u không có tuỳ ch n ZAxisMapping v i giá tr 4 5. Xfce đ u có các công c đ l a ch n ki u bàn phím.

b n s th y m t con tr chu t hình ch X gi a màn hình và có th b qua nh ng dòng dư i đây. 7. Hãy dùng chương trình v a nh c t i đ làm vi c này 8 B n có th ki m tra l i đi u này b ng câu l nh ls -l 7 . Có kh năng nh ng tham s không đúng s làm h ng màn hình c a b n ho c d n đ n nh ng h u qu không lư ng trư c. ho c màn hình nh p nháy. Bây gi hãy th ch y giao di n đ ho b ng câu l nh X (vi t hoa). Có m t vài cách đưa ra nh ng thư m c này.conf đã t o ra xem có nh ng l i nguy hi m nào không. Cu i cùng. T h p phím này s giúp b n d ng ch y máy ch X trong nh ng trư ng h p có v n đ . Đây không ph i là l i nghiêm tr ng đ ph i d ng làm vi c. N u chu t m i đư c s n xu t thì còn có th dùng giá tr Auto (t đ ng xác đ nh) đây.dir thư ng do câu l nh mkfontdir tr c ti p ho c dán ti p t o ra. Tuy nhiên trư c khi thêm m t thư m c phông ch m i c n ki m tra l i xem thư m c này có t n t i không và có ph i là thư m c phông ch không7 . T t hơn h t là ki m tra t p tin c u hình xorg. N u th y m t màn hình màu đen. do đó hãy nh nó. Đây là thư m c tiêu chu n (chuyên dùng) cho nh ng c u hình có liên quan đ n máy ch X.dir ch là m t t p tin văn b n thông thư ng nhưng không nên t s a đ i nó. N u khi ch y máy ch X không tìm th y m t thư m c phông ch nào đó trong ph n Files. b ng câu l nh: Như đã nói [root]# Xorg -configure đ t o m t cách t đ ng ho c [root]# xorgconfig đ có th ki m soát quá trình này. hãy nh n t h p phím <Ctrl>+<Alt>+<Backspace> đ quay v ch đ văn b n. do đó không nên th c u hình X. Sau khi t o t p tin xorg.conf trên.org b ng cách đã k trên tr khi b n ch c ch n là mình đúng. vì r t có th c n m t chút th i gian đ chuy n vào giao di n đ ho . ph n Files c a t p tin xorg. nhưng ngư i dùng c n bi t đ gi i quy t nh ng trư ng h p như không tìm th y phông ch mong mu n.3 Th c u hình /etc/X11/xorg.3. thì nó s đưa ra c nh báo. Không c n gi i thích ch c b n cũng đã nh n ra là tùy ch n Device xác đ nh tên t p tin thi t b c a chu t.conf.dir cho bi t fonts. Xin chú ý đây ch là liên k t m m đ n chương trình máy ch Xorg8 . có nhi u cách đ t o ra xorg. t c là c u hình v a t o có v n đ . Đ th c hi n công vi c ki m tra ch c n dùng câu l nh: Thư m c phông ch ph i có t p tin fonts. Tuy nhiên đ ng v i vàng s d ng t h p phím <Ctrl>+<Alt>+<Backspace>. Câu l nh file fonts.conf thông thư ng s n m trong thư m c /etc/X11. ví d khi máy ch X không tr l i (không làm vi c). do đó c n ph i có liên k t m m này ho c có th th ch y th ng: [user]$ Xorg N u thành công.conf thư ng n m đ u t p tin này và xác đ nh đư ng d n đ n các thư m c phông ch .178 Giao di n đ ho giao th c còn l i s d ng cho chu t k t n i qua c ng ti p n i (c ng COM).

Trong t p tin này có r t nhi u thông tin có ích v h th ng X Window. (++) from command line. • (NI) — sau d u hi u này là thông báo v nh ng tham s còn chưa đư c phát tri n trong X.log: Markers: (--) probed. Sau khi ch y câu l nh này màn hình s nh p nháy.conf). (==) default setting. L i và c nh báo tìm th y trong xprobe. Nh ng dòng đ u tiên cho bi t m t vài d li u v X.log 2>&1 179 Câu l nh này ch y máy ch X ch đ th và đưa k t qu th đó vào t p tin xprobe. (WW) warning.log thì k t qu th s hi n ra trên màn hình.log) và tên c a t p tin c u hình đư c s d ng: (==) Log file: "/var/log/Xorg. (**) from config file.log này chúng ta còn th y l i gi i thích cho nh ng ký hi u s d ng dư i cũng như trong t p tin b n ghi Xorg.conf. • (EE) — sau d u hi u này là nh ng thông báo l i.0.log chúng ta s s a b ng cách thay đ i tham s tương ng trong t p tin /etc/X11/xorg. (NI) not implemented. N u không ch ra t p tin xprobe. Nhưng t m th i chúng ta s ti p t c xem xét xprobe.log đ sau này có th đ c d dàng hơn.log v a t o ra. phiên b n nhân Linux và m t vài thông tin khác.conf" Trong t p tin xprobe. (EE) error.log.log.log".3 C u hình chương trình ch X [user]$ X -probeonly -verbose 1 > xprobe. Trong t p tin này còn có m t vài dòng thông tin hi n th m i quan h gi a các ph n trong t p tin c u hình: . nhưng trong đa s trư ng h p. Sau đó là thông báo v nơi đ t t p tin b n ghi (thư ng là /var/log/Xorg.7. • (WW) — sau d u hi u này là nh ng c nh báo. sau đó s l i th y dòng l nh c a h v và trong thư m c hi n th i s có thêm t p tin xprobe. (!!) notice. Time: Wed Jan 31 22:25:09 2007 (==) Using config file: "/etc/X11/xorg. • ?? — nh ng thông tin không rõ ngu n g c.0.org. (??) unknown. • (==) có nghĩa là s d ng tham s theo m c đ nh. • (++) có nghĩa là tham s l y t dòng l nh ch y máy ch X.0. ngày phát hành. (II) informational.log còn có nhi u thông tin hơn. Như v y: • (––) có nghĩa là nh ng giá tr tương ng thu đư c khi th (probe).org. • (II) — sau d u hi u này là nh ng thông tin khác nhau. Dư i nh ng dòng này là thông tin v phiên b n c a X Window System.0. • (**) có nghĩa là tham s l y t trong t p tin c u hình (ví d xorg. tên c a h đi u hành. chúng ta ch c n nh ng thông tin trong xprobe. • (!!) — sau d u hi u này là nh ng chú ý. C n nói r ng trong t p tin b n ghi /var/log/Xorg.

S d ng ti n ích này b n s tìm đư c ch đ hi n th thích h p cho màn hình c a mình. . Entry deleted from font path. Ti n ích này ch y trong giao di n đ ho . thì hãy quay tr l i dòng l nh b ng t h p phím <Ctrl>+<Alt>+<Backspace> r i ki m tra k càng k t qu c a câu l nh: [user]$ X -probeonly -verbose 1 > xprobe. Entry deleted from font path. T i th i đi m này. Hãy c g ng s a h t nh ng l i ((EE) tìm th y. có d ng sau: (WW) The directory "/usr/share/fonts/local" does not exist. Entry deleted from font path.3.log xem có còn l i nào không.log 2>&1 Đôi khi có th th ch n m t đ phân gi i ho c đ sâu màu nh hơn. do đó hãy ch y X b ng startx r i ch y xvidtune t m t trình l nh nào đó (ví d xterm). N u không còn n a thì có th m nh d n ch y ch đ đ ho b ng câu l nh X như đã nói đ u ph n này. (WW) The directory "/usr/share/fonts/PEX" does not exist. Nh ng c nh báo như v y b n s thư ng xuyên g p khi s d ng các s n ph m có liên quan đ n Linux như chương trình. T t nhiên. Ví d ch n đ phân gi i “1024x768” và đ sâu màu “16” thay vì “1600x1200” và “24”. (WW) The directory "/usr/share/fonts/kwintv" does not exist. (WW) The directory "/usr/share/fonts/baekmuk" does not exist. Entry deleted from font path. Do đó n u v n th y m t màn hình đen. sau khi đã đóng c a s c nh báo cho bi t các nhà phát tri n không ch u trách nhi m v vi c s d ng xvidtune gây ra. báo. và trên xterm s xu t hi n m t vài dòng thông tin: .log chưa b o đ m vi c ch y thành công ch đ đ ho . b n c n bi t r ng.log 2>&1 r i nhìn vào t p tin xprobe. (WW) The directory "/usr/share/fonts/japanese" does not exist.180 (==) (**) (**) (**) (**) (**) ServerLayout "Layout[all]" |-->Screen "Screen[0]" (0) | |-->Monitor "Monitor[0]" | |-->Device "Device[0]" |-->Input Device "Keyboard[0]" |-->Input Device "Mouse[1]" Giao di n đ ho trong t p tin này r t có th chúng ta s g p nh ng c nh báo v thư m c ch a phông ch đã nói ph n trư c. không có l i tìm th y trong xprob. ki m tra l i b ng: [user]$ X -probeonly -verbose 1 > xprobe. Nói v ch đ làm vi c c a màn hình không th không k đ n m t ti n ích nh nh ng có ích đó là xvidtune. Chúng ta s th y m t c a s hi n ra như trong hình 7.. Entry deleted from font path. . sách. nh ng c nh báo tương t như trên không nh hư ng nhi u đ n vi c s d ng X Window. hư ng d n.

4).conf. ví d di chuy n sang ph i. tôi không s d ng đư c nh ng ch c năng ch nh s a k trên và nh n đư c thông báo không th th c thi (hình 7. Tương t như v y s d ng cách nút Left — di chuy n sang trái.4: Chương trình xvidtune “không ch u” ch nh hình nh .32 1280 1376 1512 1744 1024 1025 1028 1078 Chính nh ng dòng thông tin d ng này đư c s d ng trên các dòng Modline c a ph n Modes t p tin c u hình xorg. Wider— tăng kích thư c hình nh theo chi u cao. Taller. Trong l n ch y th xvidtune cu i cùng. và b ngang ho c gi m chúng xu ng b ng Narrower và Shorter. Down — xu ng dư i. Đ ch nh hình nh trên màn hình.3 C u hình chương trình ch X 181 Hình 7. Model: SYNCMASTER 757NF(T)/707NF/700NF Num hsync: 1.00 . Up — lên trên. r i nh n nút Apply. Hình 7.96. Num vsync: 1 hsync range 0: 30.00 Nút Show cho bi t ch đ hi n th đang đư c s d ng d ng: "1280x1024" 167.3: Chương trình xvidtune Vendor: SAMSUNG.7.160.00 vsync range 0: 50. hãy s d ng (nh n vào) nút Right (khi này các s tương ng phía trên s thay đ i).00 .

th hai. tôi v n ch n kh i đ ng vào ch đ văn b n (b ng cách đ t giá tr initdefault b ng 3 trong t p tin /etc/inittab) và ch ch y X Window khi c n thi t. Cách kh i đ ng này có m t vài đi m b t l i: th nh t. Kh năng này có ích khi hình nh thu đư c sau khi ch nh s a không làm b n hài lòng b ng lúc đ u. và đ ng quên thêm vào đó hai giá tr t n s c p nh t màn hình Horizontal Sync và Vertical Sync n m góc ph i phía dư i c a c a s xvidtune. Đi u này có th th c hi n b ng cách ch y th ng chương trình Xorg (ho c liên k t m m X) t thư m c /usr/bin/X11/. N u vi c cài đ t và c u hình X. Đó là b i vì chưa có m t trình qu n lý c a s nào và chưa có m t chương trình khách (client) nào đư c ch y. T đ ng có nghĩa là ngư i dùng không c n nh n vào nút Apply đ có th th y nh ng thay đ i n a mà s th y chúng ngay l p t c khi có ch nh s a nào đó đư c th c hi n. Nút Test dùng đ th t m th i nh ng giá tr đã đ t ra. Trong khi cài đ t h đi u hành Linux.4 Kh i đ ng h th ng X Window Có th kh i đ ng h th ng X Window b ng nhi u cách. Nhưng ngoài ra thì không còn có gì khác và b n không th th c hi n thêm m t thao tác nào tr di chuy n con tr b ng chu t. thì ngay sau khi kh i đ ng h đi u hành. . Cu i cùng hãy m t p tin xorg. ki m tra l i các dòng Modeline và ghi vào đó các giá tr tương ng. Nút Fetch dùng đ yêu c u nh ng giá tr thi t l p hi n th i c a màn hình. có th ngư i dùng đ ng ý v i đ ngh c a trình cài đ t t đ ng ch y h th ng này. Xin hãy lưu ý là các phiên b n m i c a các b n phân ph i Linux có kh năng c u hình X r t t t ngay trong quá trình cài đ t. Nút Show dùng đ đưa ra các giá tr như đã nói trên. Tuy nhiên nh ng thông tin trong ph n này s có ích khi có v n đ gì đó x y ra. Làm th nào đ kh i đ ng đư c ch đ đ ho theo cách khác? Như b n đã bi t t nh ng ph n trư c. do đó hy v ng là b n s không ph i t mình ch nh s a t p tin xorg.conf. hãy nh n nút Show r i ghi lên gi y nh ng giá tr này. b n s chuy n vào ch đ đ ho . ho c đơn gi n là khi b n mu n tìm hi u và t o cho mình m t c u hình chương trình ch X riêng. Sau khi đã ch n xong các giá tr thích h p. Do đó m c dù nh ng b n phân ph i m i làm vi c r t t t phương di n ch đ đ h a. và nhi u công vi c c a b n có th th c hi n trong ch đ văn b n mà b n l i ph i đ i trong khi kh i đ ng X). đ u tiên chúng ta c n kh i đ ng máy ch X. V i nh ng thông tin gi i thi u v ng d ng xvidtune chúng ta đã k t thúc ph n c u hình chương trình ch X. 7.org bình thư ng. Còn bây gi chúng ta s xem xét quá trình kh i đ ng toàn b h th ng X Window và cách tác đ ng lên quá trình này. Vì th hãy nh n t h p phím <Ctrl>+<Alt>+<Backspace> đ d ng ch y máy ch X và quay v ch đ văn b n. B n đã bi t k t qu thu đư c là m t màn hình tr ng v i con tr hình chéo n m gi a. gi ng như hai t h p phím <Ctrl>+<Alt>+<+> và <Ctrl>+<Alt>+<–>. Nút Auto dùng đ chuy n gi a hai ch đ không t đ ng và t đ ng.182 Giao di n đ ho Thi t l p ban đ u có th ph c h i b ng nút Restore. v s d ng b nh và s d ng tài nguyên nói chung (trình qu n lý màn hình s “ăn” m t m t ph n b nh .conf. Hai nút Next và Prev dùng đ chuy n các ch đ hi n th . khi có v n đ x y ra có th b n s không bi t ph i gi i quy t như th nào ngoài vi c cài đ t l i.

hãy th ch y câu l nh twm ho c fvwm (m t trong hai trình qu n lý c a s này thư ng đư c cài đ t theo m c đ nh). dùng đ ch y máy ch X và ít nh t m t chương trình khách. . ) đư c v i c a s này. t c là ch y nh ng câu l nh có trong . thì chương trình xinit s tìm t p tin . thì theo m c đ nh xinit s th c hi n câu l nh sau: xterm -geometry +1+1 -n login -display :0 K t qu là ngư i dùng s th y m t màn hình tr ng không v i m t c a s trình l nh xterm duy nh t. icewm. Xfce4.xinitrc đ t đ ng hóa nh ng công vi c l p l i đ n nhàm chán này. ví d fluxbox. Câu l nh xinit. ngư i dùng c n s d ng kh năng t o ra t p tin script .xinitrc dùng đ ch y đ ng h . Theo m c đ nh xinit th c hi n script X :0 t c là ch y chương trình máy ch X trên màn hình s 0. nhưng có th dùng nó đ th c hi n nh ng chương trình khác k c trình qu n lý c a s . tôi xin đưa ra dư i đây ví d m t script . N u không có t p tin . N u trên máy c a b n có cài các trình qu n lý c a s và môi trư ng làm vi c khác.xinitrc có trong thư m c c a ngư i dùng đ th c hi n t p tin này gi ng như các script khác.xinitrc. v. hai c a s xterm và cu i cùng ch y trình qu n lý c a s twm. N u trên dòng l nh ch y xinit không ch ra chương trình khách c n ch y. V i m c đích h c t p. thì hãy th ch y m t trong các câu l nh sau: [user]$ [user]$ [user]$ [user]$ [user]$ fluxbox icewm-session xfce4-session startkde gnome-session N u d ng l i cách kh i đ ng giao di n đ ho này. #!/bin/sh xrdb -load $HOME/.v. .Xresources xsetroot -solid gray & xclock -g 100x100-0+0 -bw 0 & xload -g 50x50-100+0 -bw 0 & xterm -g 80x24+0+0 & xterm -g 80x24+0-0 & exec twm . thay đ i kích thư c.7.xinitrc đó. Do đó. Ví d . đó là chúng ta còn chưa k đ n nh ng m t y u khác c a cách này. cũng n m trong thư m c /usr/bin/X11 như Xorg. Sau đó b n s th y c a s xterm có thay đ i và đã có th di chuy n b ng cách kéo thanh trên đ u c a nó. KDE và GNOME. thì m i l n chúng ta s ph i l p đi l p l i m t s câu l nh. Và b i vì chưa có trình qu n lý c a s nào đư c ch y nên b n s không th làm gì (di chuy n.4 Kh i đ ng h th ng X Window 183 Có m t cách t t hơn (nhưng không ph i là t t nh t) đ chuy n vào ch đ đ ho là ch y câu l nh xinit.

). th c hi n script . và chương trình xterm ch y theo m c đ nh s nh n đư c các tham s li t kê trên dòng l nh.xinitrc n u có trong thư m c c a ngư i dùng. Có ích đ th c u hình m i khi đã có máy ch X ch y trên màn hình m c đ nh (s 0).xinitrc ph i đư c th c hi n trong ch đ n n (background). n u như chúng không k t thúc ngay l p t c. Tên c a chương trình khách ph i b t đ u b ng d u g ch chéo (/) ho c d u ch m (. B ng cách này có th thêm tham s vào cho các chương trình (ví d màu n n và màu ch cho xterm) mà không c n ph i gõ l i dòng l nh t đ u. Khi ngư i dùng đóng “magic client”. Chương trình khách này có tên g i đ c bi t là “magic client”. ngư i dùng ph i ch n m c Exit trong th c đơn c a twm. • [user]$ xinit -e widgets -. nhưng n u nhìn k thì script này th c hi n 3 câu l nh chính sau: .184 Giao di n đ ho C n chú ý là nh ng chương trình ch y t . n u không chương trình s coi chúng như là các tham s c n ph i thêm vào chương trình khách n m phía trư c. Có th dùng nh ng tham s dòng l nh c a xinit đ thay cho script . Trong trư ng h p ngư c l i. n u trình qu n lý c a s đư c c u hình đúng.xinitrc s không đư c th c hi n. Script này có m t trang hư ng d n s d ng startx(1) riêng. đ cho vi c ch y script không b k t thúc. chương trình xinit bi t là công vi c đã hoàn thành và nó s t t t. Chương trình khách ph i là tham s đ u tiên c a dòng l nh g i xinit. • [user]$ xinit -. Ví d m t trong nh ng script này đó là startx n m cùng ch v i Xorg (/usr/bin/X11/). Script .:2 Ch y máy ch X trên màn hình có s 2 và đưa t i chương trình khách xterm tham s –e widgets. • [user]$ xinit -geometry 80x25+0+0 -fg white -bg black Ch y máy ch X. Vì ngư i dùng m i thư ng không có đ kh năng đ t o ra m t t p tin script . Tuy nhiên m t trong nh ng chương trình này (thư ng là trình qu n lý c a s ho c trình l nh d ng xterm) ph i đư c th c hi n ch đ bình thư ng (foreground).xinitrc đ t t. n u không s ch ch y xterm. Trong ví d trên. thì đ có th d ng phiên làm vi c (session) v i giao di n đ h a. nh ng chương trình này s ngăn c n không cho ch y nh ng chương trình n m phía sau. T ng k t m t s ví d g i chương trình xinit: • [user]$ xinit Câu l nh này s ch y máy ch X.:1 Ch y máy ch X trên màn hình s 1. C u trúc c a startx có th r t ph c t p và không d dàng cho ngư i dùng m i chưa quen v i ngôn ng l p trình c a Bash. nên trên các b n phân ph i luôn có các script do các nhà phát tri n vi t s n đ th c hi n ch c năng này. Trên dòng l nh có th ch ra chương trình khách. Ví d d u hai ch m và m t ch s nào đó (:n) dùng đ ch ra m t màn hình có s th t khác 0 (theo m c đ nh). T t c nh ng gì n m sau d u g ch chéo đôi (––) s đư c thêm vào dòng l nh g i chương trình ch X.xinitrc.

7.4 Kh i đ ng h th ng X Window xauth add $display . $mcookie xauth add ‘hostname -f ‘$display .$mcookie xinit $client $clientargs -- $server $display $serverargs

185

T c là cu i cùng thì startx cũng g i câu l nh xinit mà chúng ta v a xem xét và ch có đ t trư c các giá tr c n thi t cho tham s dùng trên dòng l nh c a xinit mà thôi. Ví d , tham s tên t p tin script .xinitrc đư c xác đ nh b ng bi n clientargs. N u có t p tin .xinitrc trong thư m c c a ngư i dùng thì s s d ng nó, t c là “clientargs” = “$HOME/.xinitrc”, n u không s l y t p tin xinitrc c a h th ng, t c là “clientargs” = “/etc/X11/xinit/xinitrc”. Vi c đ t giá tr cho các tham s khác cũng x y ra tương t . Câu l nh xauth và tùy ch n –auth $HOME/.Xauthority dùng đ xác nh n ngư i dùng đang ch y ch đ đ h a. Như v y ngay sau khi cài đ t ngư i dùng đã có th dùng câu l nh startx đ kh i đ ng h th ng X Window thay cho l nh xinit v i các tham s khó nh . Nhưng làm th nào đ l a ch n trình qu n lý c a s (môi trư ng làm vi c) thích h p?

7.4.1

L a ch n trình qu n lý c a s

M t khi đã làm đư c cho h th ng X Window ch y thành công, thì b n có r t nhi u kh năng c u hình, tùy ch nh nó theo ý c a mình. Nh ng kh năng c u hình, tùy ch nh này l i ph thu c r t nhi u vào trình qu n lý c a s mà b n s d ng. Như đã nói ngay t đ u, có r t nhi u trình qu n lý c a s cũng như môi trư ng làm vi c d a trên nh ng trình qu n lý c a s này. Ngư i dùng có th l a ch n m t trong nh ng trình qu n lý c a s ngay t lúc b t đ u ch y ch đ đ h a. Ví d có th th c hi n đi u này b ng t p tin .xinitrc dư i đây: #!/bin/sh # $HOME/.xinitrc # dùng Xfce4 theo m c đ nh WMGR="xfce4-session" # t t xscreensaver xset s noblank # ch y screensaver sau 10 phút xset s 600 2 # ch y xterm xterm -bg black -fg white -fn 7x14 -geometry 80x24+57+0 & # n u đưa ra m t Window Manager khác # thì dùng nó thay cho Xfce4 if [ "$1" != "" ] ; then WMGR=$1 fi exec $WMGR M c dù không c n thi t, nhưng có th chuy n t p tin này thành có th th c thi b ng câu l nh chmod quen thu c: [user]$ chmod u+x .xinitrc

186

Giao di n đ ho

T p tin .xinitrc này cho phép ngư i dùng l a ch n trình qu n lý c a s (ho c môi trư ng làm vi c) khi kh i đ ng h th ng X Window b ng câu l nh startx. Ví d đ kh i đ ng KDE, đ u tiên chúng ta tìm xem startkde n m đâu r i đ t nó vào làm tham s cho startx như sau: [user]$ which startkde /opt/kde3/bin/startkde [user]$ startx /opt/kde3/bin/startkde Tương t như v y đ i v i GNOME: [user]$ which gnome-session /opt/gnome/bin/gnome-session [user]$ startx /opt/gnome/bin/gnome-session Chú ý là n u ch ch y startx không có tham s thì Xfce4 s đư c kh i đ ng theo m c đ nh. T t nhiên b n có th t o cho m i trình qu n lý c a s và môi trư ng làm vi c m t t p tin .xinitrc riêng, ví d cho KDE — t p tin .xinitrc-kde: #!/bin/sh #$HOME/.xinitrc-kde # Ch y m t s chương trình #xset b off & # Đ t m t s bi n, ví d thư vi n mà # xvnkb c n #export LD_PRELOAD=/usr/local/lib/xvnkb.so # Dùng export export export cách nh p SCIM làm m c đ nh XMODIFIERS=@im=SCIM GTK_IM_MODULE=scim QT_IM_MODULE=scim

# Ch y môi trư ng làm vi c exec /opt/kde3/bin/startkde Thêm thu c tính có th th c thi cho nó: [user]$ chmod u+x .xinitrc-kde Tương t như v y có th t o các t p tin .xinitrc-gnome, .xinitrc-xfce, .xinitrc-fluxbox, . . . b ng cách thay th dòng cu i cùng c a t p tin k trên tương ng b ng m t trong nh ng dòng dư i đây: exec /opt/gnome/bin/gnome-session exec /usr/bin/xfce4-session exec /usr/bin/fluxbox Và khi c n kh i đ ng m t trình qu n lý c a s nào đó, thì ch c n sao chép t p tin tương ng vào v trí c a .xinitrc, ví d đ kh i đ ng Xfce4: [user]$ cp .xinitrc-xfce .xinitrc

7.4 Kh i đ ng h th ng X Window

187

7.4.2

Môi trư ng làm vi c KDE và GNOME

M i ngư i dùng máy tính dù có nhi u kinh nghi m hay ít đ u c g ng t o cho mình m t môi trư ng làm vi c quen thu c cho b n thân đ có th làm vi c nhanh hơn (có hi u su t hơn) b ng nh ng thao tác có th đơn gi n như t o đư ng d n đ n nh ng chương trình và thư m c thư ng dùng, thay đ i nh n n, hay ph c t p hơn như ch n phím nóng (k c b ng bàn phím và b ng chu t) đ m nhanh m t chương trình ho c th c hi n m t thao tác nào đó trong chương trình đang m , l a ch n các ng d ng thích h p cho công vi c. Trên h đi u hành Linux, ngư i dùng hơn bao gi h t có th t o cho mình m t môi trư ng làm vi c có m t không hai, ví d b ng cách ch n m t trình qu n lý c a s ưa thích nh t r i sau đó ch n các chương trình ng d ng riêng, c n cho công vi c c a mình. Tuy nhiên, cách k trên không ph i lúc nào cũng thu n ti n và quan tr ng hơn là không ph i lúc nào cũng d dàng. Ngư i dùng c n th qua nh ng trình qu n lý c a s chính r i sau đó m i đưa ra đư c l a ch n cho mình, chưa k đ n s lư ng các chương trình ng d ng cho Linux là không th đ m đư c. Do đó đ u tiên nên xem xét kh năng l a ch n m t trong nh ng môi trư ng làm vi c đang phát tri n trong nh ng năm g n đây. Trong thu t ng ti ng Anh thư ng dùng ký hi u vi t t t GUI — Graphical User Interface, t c là giao di n đ h a c a ngư i dùng. Chúng ta s s d ng c m ký t vi t t t này d ng g c c a nó GUI. GUI là m t b các chương trình ng d ng đã đư c ki m tra và nhóm l i v i nhau đ làm vi c trong ch đ đ ho , bao g m trình qu n lý c a s và các chương trình khác và có cùng m t giao di n chung. S d ng GUI thay cho m t môi trư ng làm vi c t t o ra có nhi u ưu đi m: đ u tiên đó là ti t ki m đư c nhi u th i gian; th hai là s d dàng, m i th đã có s n ch c n cài đ t và s d ng; th ba, chúng ta s thu đư c các chương trình v i m t giao di n chung, đi u này cũng h t s c quan tr ng n u không nói là đi m khác bi t quan tr ng nh t c a GUI. Có m t vài môi trư ng làm vi c đ h a mi n phí (t do), cũng như thương m i. Trong s các môi trư ng t do thì KDE và GNOME ph bi n r ng rãi nh t. Có th g i KDE và GNOME là hai “ông l n” trong th gi i GUI. Câu h i môi trư ng nào trong s hai môi trư ng này t t hơn ho c c n l a ch n KDE hay GNOME vư t quá khuôn kh c a cu n sách này, và trên m ng đã có r t nhi u cu c tranh cãi cũng như bài báo xung quanh v n đ này. Fan c a GNOME thì nói GNOME t t hơn, fan c a KDE thì nói ngư c l i. B n thân tôi thích dùng KDE hơn vì lý do s d ng GNOME trư c đây không đư c thành công l m, ng d ng c a GNOME đã liên t c b l i crash (v ). Theo như nhi u ngu n thông tin thì ng d ng GNOME bây gi đã ch y n đ nh hơn, nhưng tôi v n trung thành v i KDE. Tôi thích KDE vì giao di n đ p và có th (nói chính xác là c n thi t) ch nh s a đ đ p hơn. C n công b ng mà nói r ng nh ng phiên b n g n đây c a GNOME cũng đã có “v đ p” không kém KDE. Cách kh i đ ng vào môi trư ng làm vi c KDE (GNOME) qua câu l nh startx b n đã bi t t ph n n m ngay trư c. N u mu n s d ng KDE làm môi trư ng làm vi c m c đ nh cho toàn b h th ng thì hãy m t p tin c u hình h th ng, thư ng là /etc/sysconfig/windowmanager, và thay th giá tr đã có c a DEFAULT_WM thành kde (t c là thu đư c dòng DEFAULT_WM="kde" (t c là n u mu n s d ng GNOME, thì ch c n đ t vào giá tr gnome). Trong chương t i chúng ta s nghiên c u k hơn v môi trư ng làm vi c

188

Giao di n đ ho

KDE. Nhưng n u mu n ngay bây gi b n đã có th xem thông tin v môi trư ng này t trang ch c a nó http://www.kde.org ho c t trang ti ng Vi t http: //www.kde-vi.org (r t ti c là trang KDE-vi không đư c c p nh t k p th i vì nhi u lý do). Trang ch c a GNOME n m t i đ a ch http://www.gnome.org.

7.4.3

Môi trư ng làm vi c Xfce

Môi trư ng làm vi c Xfce, cũng gi ng như KDE và GNOME, thu c vào s môi trư ng t do, mã ngu n m . Đi m khác chính c a Xfce là s nh g n và làm vi c nhanh, và cũng vì v y mà có ít s lư ng chương trình ng d ng cũng như kh năng c u hình hơn so v i hai “ông l n” k trên. Tuy nhiên đ ng vì v y mà đánh giá th p kh năng c a Xfce. N u c n thi t b n có th ch y các ng d ng KDE và GNOME trong Xfce. Môi trư ng Xfce c n ít b nh hơn, đ dành b nh cho nh ng ng d ng khác. Môi trư ng Xfce không đòi h i ph i có m t b x lý m nh. Do đó, Xfce thích h p v i nh ng máy tính có c u hình bình thư ng, không có kh năng làm vi c v i KDE và GNOME ho c làm vi c r t ch m. T t c nh ng ưu đi m c a Xfce d n đ n s ph bi n c a nó trong s nh ng ngư i dùng có chút kinh nghi m làm vi c v i Linux. Phiên b n hi n th i c a Xfce là 4 và đã có m t trình qu n lý t p tin riêng (Thunar), m t trình gi i nén (Xarchiver), trình l nh (Terminal), trình xem phim, h tr panel, v.v. . . B n có th xem nh ch p Xfce sau khi đã s a chút ít trên hình 7.5 ho c làm quen g n hơn v i Xfce qua trang ch c a nó http://www. xfce.org.

7.4.4

S d ng trình qu n lý màn hình

Như b n đã bi t, có th t đ ng ch y h th ng X Window ngay khi kh i đ ng máy tính b ng cách s d ng chương trình có tên g i trình qu n lý màn hình (Display Manager), ví d X Display Manager — xdm. Trong trư ng h p này, ngư i dùng th y ngay giao di n đ h a GUI, mà không c n ph i kh i đ ng nó b ng l nh startx. Khi này v n có kh năng chuy n v giao di n console b ng t h p phím <Ctrl>+<Alt>+<F#> (# đây b ng t 1 đ n 6), sau đó chuy n quay l i vào môi trư ng đ h a b ng t h p <Ctrl>+<Alt>+<F7>. Đ t đ ng ch y trình qu n lý màn hình (ví d xdm), c n s a t p tin c u hình kh i đ ng /etc/inittab. Tìm trong t p tin này dòng id:3:initdefault: xác đ nh c p đ kh i đ ng (runlevel) theo m c đ nh, và s a nó thành id:5:initdefault: S thay đ i này s khi n Linux chuy n sang qu n lý màn hình như xdm cũng có ô login nh p c a mình và ô password đ đưa vào m và password ngư i dùng c n nh n <Enter> đ c a h th ng. kh i đ ng c p đ 5. Trên trình đ ngư i dùng đưa vào tên đăng t kh u. Sau khi nh p xong login vào môi trư ng đ h a m c đ nh

4 Kh i đ ng h th ng X Window 189 Hình 7. . . Chú ý là n u dùng m t trình qu n lý màn hình như kdm hay gdm thì t h p phím <Ctrl>+<Alt>+<Backspace> s không d ng máy ch X như bình thư ng.. kh i đ ng l i.7. nhưng có m m d o hơn: có th ch n s c thái. t c là thay đ i v ngoài theo ý mình. có th ch n môi trư ng làm vi c (trình qu n lý c a s ) và ngôn ng tr c ti p trư c khi vào. có th th c hi n các thao tác khác như t t máy. mà s th c hi n thao tác “kh i đ ng l i” máy ch X. . kdm và gdm th c hi n công vi c tương t như c a xdm — cho phép ngư i dùng đăng nh p vào h th ng. T c là khi này có th dùng <Ctrl>+<Alt>+<Backspace> đ c p nh t nh ng thay đ i đã t o ra trong c u hình máy ch X cũng như toàn b h th ng X Window.5: Môi trư ng làm vi c Xfce N u b n có ch n cài đ t KDE ho c GNOME thì r t có th h th ng s s d ng kdm (KDE Display Manager) ho c gdm (GNOME Display Manager) thay cho xdm.

t c là đư c phân ph i m t cách t do (mi n phí) cùng v i mã ngu n.0. s d ng thu n ti n và thi t k đ p m t. 8. xem phim. Nh ng hình ch p cũng như mô t dư i đây thu c v phiên b n 3. đó là nh ng ng d ng đi kèm giúp ngư i dùng th c hi n nh ng công vi c thư ng ngày như so n th o văn b n.6. môi trư ng làm vi c KDE cùng v i GNOME hi n đang ph bi n trong th gi i ngư i dùng Linux. m t phiên b n mang đ y mong đ i v i nh ng tính năng m i c a b n thân môi trư ng KDE. bi t cách c u hình nó theo ý mình. nhưng cũng có th áp d ng cho nh ng phiên b n khác.Chương 8 Làm vi c trong môi trư ng KDE “Conquer your Desktop!” — konqueror Như đã nói trong chương trư c. GNOME và Xfce có th nói là đã hình thành m t cái “ki ng ba chân” b n v ng.5. làm đ h a . KDE. Trong chương này chúng ta s tìm hi u k hơn v môi trư ng GUI v i tên KDE. cho môi trư ng đ ho c a Linux. KDE có các tính ch t c a m t môi trư ng làm vi c hi n đ i: đ y đ tính năng.1. cũng như các ng d ng c a nó.6.xinitrc ho c t p tin c u hình /etc/sysconfig/windowmanager cùng v i script startx. cu i chương b n s tìm th y m t s ngu n thông tin khác giúp b n ti p t c tìm hi u KDE. s d ng . . 8. Đi u này là c n thi t vì m t chương sách ng n không th nói h t v môi trư ng m nh này. trên n n t ng X. . bao g m hàng trăm ng d ng và h tr trên 60 ngôn ng khác nhau. và các nhà phát tri n KDE đang làm vi c ngày đêm đ cho ra đ i phiên b n 4. Nhưng thông thư ng khi cài đ t KDE.1 Đăng nh p vào KDE Trong chương trư c b n đã bi t cách kh i đ ng vào môi trư ng KDE. nghe nh c. ngư i dùng s cài đ t c trình qu n lý màn hình KDM. KDE đư c phát tri n trong khuôn kh c a c ng đ ng mã ngu n m (Open Source Software hay vi t t t là OSS). Thông tin có trong chương này giúp b n làm quen v i KDE.org. và t t nhiên là làm quen v i m t thành ph n r t quan tr ng c a KDE.5. Phiên b n hi n th i c a KDE là 3.1 B t đ u làm vi c v i KDE KDE là vi t t t c a K Desktop Environment — m t môi trư ng đ h a cho Linux và nh ng phiên b n UNIX khác. Và n u ch n ch y vào ch đ đ ho ngay sau khi .

Remote Login (đăng nh p t xa) giúp b n đăng nh p vào môi trư ng làm vi c trên m t máy khác qua m ng. như kh i đ ng l i ho c t t máy. m t kh u r i gõ <Enter>. màn hình đăng nh p m c đ nh c a KDM có hai ô đ ngư i dùng gõ vào tên đăng nh p (username) và m t kh u (password) ho c ch n tên đăng nh p c a mình bên trái hai ô này.1. • System Th c hi n các công vi c có liên quan đ n h th ng. hình 8. Ví d . ngoài ra có th ch n các m c sau: • Session Type Ch ra môi trư ng làm vi c (trình qu n lý c a s ) mu n dùng khi đăng nh p vào. ch c n nh p vào tên ngư i dùng.2 là màn hình KDE trên máy c a tôi .1 B t đ u làm vi c v i KDE 191 kh i đ ng h th ng thì b n s th y m t màn hình như trên hình 8.1: Màn hình đăng nh p KDM v y. 8.2 V ngoài c a KDE N u b n đã t ng kh i đ ng vào KDE. Ch s d ng m c này khi b n mu n dùng m t môi trư ng làm vi c khác v i môi trư ng m c đ nh (thư ng là KDE).1 hi n ra. Đ kh i đ ng môi trư ng làm vi c m c đ nh KDE. Như Hình 8. thì đã làm quen v i v ngoài c a màn hình sau khi ch y môi trư ng này. N u có nh ng môi trư ng làm vi c khác trên h th ng thì chúng s đư c li t kê trong m t danh sách hi n ra.8.

tuy nhiên đ minh h a tôi đã t o ra hai cái là l4u. tôi đã b đi t t c nh ng bi u tư ng đó. Trên thanh panel chính còn có nút g i là KMenu — trình đơn chính c a h th ng KDE. Nút này có bi u tư ng hình ch K theo m c đ nh. ch nh s a m t chút. Trong trư ng h p c a mình. .192 Làm vi c trong môi trư ng KDE Hình 8. Như b n th y.2: V ngoài c a màn hình sau khi ch y KDE sau khi đã có c u hình. Nút KMenu dùng đ m ra m t trình đơn các ng d ng mà KDE tìm th y trên h th ng. digikam. bên trái ho c bên ph i. trên đó có th đ t các bi u tư ng khác nhau dùng đ ch y các ng d ng (shortcut) ho c đ t các t p tin. Panel dùng đ ch y các ng d ng thư ng dùng. Như trên hình 8.2. chuy n qua l i gi a các không gian làm vi c. thư ng n m đ u bên trái c a thanh panel. bi u tư ng c a OpenSUSE Linux. màn hình có th chia thành hai ph n: • Các thanh panel Các thanh panel thư ng n m ph n ngoài cùng (đư ng biên) c a màn hình. • Màn hình (Desktop) Đây là toàn b ph n còn l i c a màn hình. nhưng m i b n phân ph i có th đ t vào v trí này m t bi u tư ng khác nhau. bi u tư ng đó là hình con t c kè hoa. thư m c thư ng dùng. t c là trên cùng. giúp ngư i dùng ch y nh ng ng d ng này bao g m c nh ng chương trình không có bi u tư ng trên thanh panel nào. dư i cùng.

thì m i không gian làm vi c là m t căn phòng trong nhà đó. M t tính năng quan tr ng khác c a KDE đó là h th ng Hình 8. theo kinh nghi m c a tôi thì ngư i dùng bình thư ng không c n quá 3 không gian. góc bên ph i c a thanh panel thư ng có đ ng h . Khi này trên màn hình ch còn l i mũi tên tam giác đó. S lư ng cũng như tên g i và m t vài c u hình khác c a không gian làm vi c có th thay đ i theo ý mu n c a ngư i dùng. gi ng như b kéo v góc tương ng c a màn hình. KDE.8. ngư i ta nói ng d ng đư c đưa vào tr ng thái ho t đ ng hay (active). bi u tư ng c a nh ng ng d ng đang ch y và chuy n qua l i gi a chúng. Khi ngư i dùng nh n chu t vào th này. Nh có không gian làm vi c ngư i dùng có th đ t các ng d ng thu c v m t công vi c trên m t màn hình riêng. N u coi môi trư ng làm vi c KDE là m t ngôi nhà l n. m c dù có th có màu sơn. Do đó không b r i khi có nhi u ng d ng cùng ch y. M i ng d ng đang ch y có m t th riêng trên thanh công c . Tuy nhiên. ph n không gian chính c a thanh panel là vùng thanh công c (taskbar). thì ng d ng đó s đư c hi n th trên màn hình.1 B t đ u làm vi c v i KDE 193 đây c n nói thêm m t chút v khái ni m không gian làm vi c đã nh c đ n trên. Thanh công c dùng đ hi n th tên g i. thì b n có th ph c h i đưa nó tr l i b ng cách ch y câu l nh (trên xterm ho c konsole ho c m t trình l nh khác): [user]$ kicker & ho c nh n <Alt>+<F2> đ m h p tho i ch y chương trình (hình 8. Nh n vào mũi tên này s đưa thanh panel quay tr l i. Đ chuy n qua l i gi a các không gian làm vi c. có h tr m t s lư ng không gian làm vi c. b n s th y trình nh đó có hai không gian làm vi c là Làm vi c và Gi i trí.3: H p tho i ch y chương trình . và thanh panel c a b n t nhiên bi n m t. Trên hình 8. Thanh panel c a KDE còn có tên g i “Kicker”. hai đ u có th có các nút có hình mũi tên tam giác. trang trí khác nhau. và t t c phòng trong nhà này có ch c năng như nhau.2. Và đôi khi c u hình máy tính (b x lý. Sau m t th i gian làm vi c b n s tìm th y s lư ng c n thi t cho mình. Khi nh n vào nút này. N u ch ng may có l i gì đó. cũng như h u h t các môi trư ng làm vi c và trình qu n lý c a s c a Linux.3) r i gõ vào đó kicker và <Enter>. s lư ng RAM) không cho phép m quá nhi u ng d ng m t lúc đ c n ph i s d ng nhi u không gian làm vi c. và t p tin chương trình tương ng là kicker. thanh panel s b n đi. thì c n nh n vào ô tương ng v i không gian đó trên trình nh (applet) KPager n m trên thanh panel. Thông thư ng.

như Internet. Multimedia. Nhóm ng d ng s có hình mũi tên tam giác cu i. Đ m m t nhóm ng d ng chúng ta c n nh n chu t vào tên c a nó. Ví d . t c là mô t v nó. khi nh n chu t ph i lên n n màn hình. t p tin m i m g n đây). m i ng d ng n m trong m t nhóm th c hi n m t ch c năng chung. 8. Các nhà phát tri n KDE s dùng s thay đ i này trong phiên b n 4. Trên hình 8. N u mu n thêm m t chương trình nào đó vào danh sách c a th Favorites. Trong ph n Applications b n s tìm th y r t nhi u ng d ng có ích. History (nh ng ng d ng. đĩa.1. Sau khi nh n vào bi u tư ng c a KMenu m t trình đơn như trong hình 8. chúng ta c n nh n vào bi u tư ng c a nó. c u hình nh n n. Nh ng ng d ng này l i đư c s p x p trong m t h th ng trình đơn có tr t t . Cách khác đ m KMenu là dùng t h p phím <Alt>+<F1>. Trong trình đơn này ngư i dùng có th ch n m t trong nh ng hành đ ng có th áp d ng cho ph n t đó c a màn hình. Computer (nh ng thư m c.3 Trình đơn KMenu Đ m ra trình đơn chính c a môi trư ng làm vi c KDE (KMenu). Mu n quay l i thì nh n chu t vào thanh có hình mũi tên tam giác n m bên trái. Trình đơn này s hi n ra khi nh n chu t ph i lên b t kỳ m t thành ph n nào đó c a màn hình. Office. m t nút nào đó trên màn hình ho c trên thanh panel.5 chúng ta th y có 5 th như v y: Favorites (nh ng ng d ng ưa thích). Thu t ng ti ng Anh dùng cho tr giúp lo i này là tooltips. đư ng d n chính c a máy tính). k c ph n màn hình tr ng (n n màn hình). Bi u tư ng này theo m c đ nh có hình ch K như bi u tư ng đ u chương sách này. . thì .0 s p t i. Ví d v tooltips có trên hình 8. đư c th nghi m l n đ u trên OpenSUSE. có th ch n các câu l nh đ c u hình nó: t o bi u tư ng m i. Hình 8. . thì s có m t c a s nh hi n ra cho bi t nút hay bi u tư ng đó có tên là gì và có công d ng gì. .5 s hi n ra.194 Làm vi c trong môi trư ng KDE tr giúp tr c ti p trên màn hình. có l đây là ph n quan tr ng nh t đ i v i b n) và Leave (dùng đ thoát ra kh i h th ng và th c hi n m t s hành đ ng khác). Applications (nh ng ng d ng có trên h th ng. c p nh t.4. Graphics. Trình đơn này đã có s thay đ i l n so v i trình đơn “c đi n” c a KDE. cho nên tôi s mô t v KMenu ki u m i này đây. Trong KMenu m i các bi u tư ng có m t đi m gì đó chung đư c nhóm l i v i nhau và đ t vào t ng th (tab) riêng. N u b n đưa chu t lên m t bi u tư ng. Nút chu t ph i trong KDE ph c v cho vi c m m t trình đơn có n i dung ph thu c vào “hoàn c nh” (context menu).4: Tr giúp có ích tooltips Kh năng s d ng chu t c a các môi trư ng làm vi c hi n đ i là t i đa. Khi này s m ra nh ng ng d ng (và có th có nhóm ng d ng) thu c vào nhóm này. Tuy nhiên các b n phân ph i Linux thư ng thay th nó b ng bi u tư ng logo c a mình.

Ngoài ng d ng. Mu n ch y (m ) k t qu nào đó. r i nh n <Enter> ho c đ i m t chút. thì ch c n nh n vào dòng tương ng. Ví d b n mu n tìm ng d ng có tên amarok. ng d ng tìm th y n m trong ph n Application c a k t qu . Ngoài ra trên trình đơn chính còn có hi n th tên đăng nh p và tên máy. Thông tin này có ích khi b n đăng nh p vào b ng tên c a ngư i dùng khác ho c đăng nh p vào máy xa. Tính năng tìm ki m này đư c xây d ng m t ph n d a trên h th ng Kerry/Beagle. ch c năng c a chương trình là hoàn toàn như cũ: trong Thi t l p cá nhân ngư i dùng có th thay đ i h u h t các c u hình c a môi trư ng làm vi c KDE. B n s luôn luôn bi t đư c “mình là ai” và “đang đâu”.8.4 Trung tâm đi u khi n KDE Tên “Trung tâm đi u khi n” c a KDE trong nh ng phiên b n g n đây đã đư c thay th b ng tên m i “Thi t l p cá nhân” (Personal Settings). Thi t l p cá nhân (Personal Settings) có th ch y qua trình đơn chính. qua .1 B t đ u làm vi c v i KDE 195 Hình 8.5: Trình đơn chính c a KDE c n nh n chu t ph i vào tên (bi u tư ng c a chương trình tương ng r i ch n câu l nh Add to Favorites.1. trong k t qu hi n th còn có th có thêm m t vài t p tin có liên quan đ n t tìm ki m. 8. S thay đ i này không có gì quan tr ng mà ch có ý nghĩa tên g i. Hãy nh p tên đó vào ô tìm ki m n m bên c nh ch Search.6). K t qu tìm ki m s hi n th ngay trong trình đơn KMenu (hình 8. M t tính năng m i đ c bi t h u ích c a trình đơn KDE đó là tính năng tìm ki m.

ki u dáng b ng Style. và cu i cùng ch n nh ng phông ch cho thích h p (Fonts). N u mu n thêm phông ch cho toàn b h th ng thì hãy chuy n vào ch đ qu n tr h th ng b ng nút Administrator Mode .8. N u mu n thêm m t phông nào đó thì c n nh n vào nút Add Fonts . bên ph i là ô xem phông đư c ch n. Th nh t.9 cho th y ph n bên ph i c a Personal Settings khi nh n vào . môđun Panels n m trong nhóm Desktop.7 hi n ra. Có th nói đây là trình cài đ t phông ch v i giao di n đ h a c a KDE (xem hình 8.6: Tìm ki m trong trình đơn chính c a KDE bi u tư ng trên thanh panel. . . t c là thay đ i nh ng môđun c a nhóm Appearance & Themes: thay đ i tr c ti p s c thái b ng Theme Manager. . ho c t dòng l nh b ng cách gõ tên chương trình bên là kcontrol. đ “làm đ p” KDE thì thông thư ng tôi thay đ i các tùy ch n s c thái.196 Làm vi c trong môi trư ng KDE Hình 8. còn bên ph i là nh ng th và nh ng tùy ch n thu c v môđun đang đư c ch n bên trái. (khi này b n c n nh p vào m t kh u c a root). Như v y môđun này li t kê nh ng phông đã có trong thư m c cá nhân c a b n (thư ng là ~/. Ví d . . M i môđun n m trong m t nhóm nào đó. trái là danh sách d ng cây c a nh ng môđun có trong Personal Settings. Chúng ta s th y m t c a s như trên hình 8. r i tìm đ n t p tin ch a nó. nh ng môđun còn l i b n s t t tìm hi u khi s d ng KDE. . sau đó thay đ i các bi u tư ng b ng Icons. Trư c khi ch n phông ch c n s d ng đ n môđun Font Installer n u mu n thêm nh ng cái m i m i.fonts) ô bên trái. . . Trong s nh ng môđun c a Personal Settings chúng ta s xem xét m t vài môđun làm ví d . vì s lư ng c a chúng l n. Phông ch cho các thành ph n khác nhau c a KDE đư c l a ch n trong môđun Fonts (hình 8.

Cancel — đóng h p tho i c nh báo này và quay v môđun đã có thay đ i đ xem xét l i. Apply — áp d ng nh ng thay đ i. Ý nghĩa c a các nút c a h p tho i xin đư c gi i thích m t l n đây. . . Nhưng như v y phông ch v n chưa đư c dùng trong KDE. đ m trình đơn chính. Đ thay đ i nh ng “phím nóng” dùng trong KDE. Discard — không áp d ng chúng. b n có th dùng nút chu t gi a (bánh xe) v lên màn hình m t hình gì đó. . c n s d ng môđun Keyboard Shortcuts. Khi ngư i dùng th c hi n m t thay đ i nào đó trong m t môđun (ví d ch n phông ch khác).v . dùng anti-aliasing cho phông hi n th đ p hơn (đánh d u vào ô vuông c nh dòng Use anti-aliasing for fonts). c n nh n vào OK đ ch p nh n nó. thêm các phím nóng đ ch y m t chương trình nào đó. và khi đó chương trình OpenOffice. chúng s l p l i nh ng trư ng h p khác. Trong môđun này b n có th th c hi n thêm m t s thao tác n a. Nói đ n phím nóng không th không k đ n m t tính năng m i c a KDE là kh năng s d ng chu t (bàn phím) đ th c hi n m t thao tác nh t đ nh nào đó trong m t chương trình. Quay l i v i môđun ch n phông ch . tương ng v i nó.8. B n c n làm thêm m t thao tác n a đó là nh n vào nút Apply ho c OK c a môđun đ KDE bi t ch c ch n là b n mu n s d ng phông này. ví d hình ch nh t. .11. cũng b ng nút bánh xe v hình ch L và Konqueror s m m t thư m c xác đ nh (chúng ta s nói k hơn . Ví d .org Writer s ch y. . đây có th thay đ i. .1 B t đ u làm vi c v i KDE 197 Hình 8.7: Trình Thi t l p cá nhân c a KDE môđun này). v. Khi đó s hi n ra c a s như trên hình 8.10. . Ho c trong chương trình Konqueror. và dùng đ phân gi i t ch n (Force fonts DPI). Sau khi ch n đư c phông ch thích h p cùng v i ki u dáng (Font style) và kích thư c (Size). ho c trên n n màn hình. Thao tác cu i cùng này là c n thi t đ i v i c nh ng môđun khác. t c là b n ch mu n th nghi m ch không mu n thay đ i gì. Đ thay đ i m t phông ch nào đó c n nh n vào nút Choose . Đó là ch n t t c các phông ch cùng m t lúc b ng nút Adjust All Fonts . chưa áp d ng nó mà chuy n sang môđun khác thì s có m t h p tho i c nh báo hi n ra như trong hình 8.

. Khi nh n chu t ph i lên ph n tr ng c a thanh panel s m ra m t trình đơn c a panel này (hình 8. Nh ng c u hình này đư c th c hi n trong môđun Input Actions n m cùng nhóm v i môđun v a k trên.9: Ch n phông ch dùng cho text.12). Ngư i dùng các h đi u hành có giao di n đ ho khác ch c ch n là s s d ng trình đơn b i c nh m t cách d dàng.198 Làm vi c trong môi trư ng KDE Hình 8. • Add Application to Panel — Thêm bi u tư ng (nhóm) chương trình vào . d ch t ti ng Anh “context menu”). bao g m các m c sau: • Add Applet to Panel . .8: Cài đ t phông ch m i Hình 8. v Konqueror sau). 8. — Thêm các trình nh có ích. trình đơn. Bây gi chúng ta s nghiên c u c th hơn cách thay đ i v ngoài c a KDE. vào thanh panel. . . đ ng h .5 Thay đ i v ngoài Hai thành ph n chính c a màn hình là n n và các thay panel có th thay đ i m t cách d dàng b ng cách nh n chu t ph i lên chúng và ch n các câu l nh tương ng trong trình đơn m ra (trong sách này chúng ta s t m g i nó là “trình đơn b i c nh”. như trình theo dõi m ng.1. t c là thay đ i n n màn hình. . trình đơn chính và các thanh panel.

— C u hình thanh panel. • Help — Tr giúp v panel. Trong đó quan tr ng nh n có l là l nh Configure XXX Button . s hi n ra c a s ch nh s a các thanh panel như trên hình 8.8. . Menus và Appearance) . • Lock Panels — M t trong nh ng cái m i c a KDE. tính năng này cho phép t m th i “khóa” panel đ không thay đ i nó m t cách vô tình. s m ra m t c a s cho phép thay đ i các tùy ch n c u hình c a panel.10: Ch n phông ch Hình 8. . . Trong danh sách hi n ra b n c n ch n chương trình ho c toàn b nhóm chương trình đó b ng Add this Menu.14. • Add New Panel — Thêm thanh panel m i.13. Khi ch n câu l nh này. • Remove Panel — G b m t thanh panel nào đó cùng v i t t c nh ng gì có trên thanh panel này. • Remove From Panel — G b chương trình ho c applet (đang có) kh i thanh panel. câu l nh c a chương trình s ch y và m t vài c u hình khác. . • Configure Panel .11: C nh báo khi có thay đ i chưa áp d ng thanh panel đ có th tìm (chúng) nó nhanh hơn.1 B t đ u làm vi c v i KDE 199 Hình 8. khi ch n câu l nh Configure Panel . — đ t tên cho nút c a chương trình XXX. n u nh n chu t ph i vào m t bi u tư ng chương trình ho c applet có trên thanh panel thì s m ra m t trình đơn b i c nh có khác m t chút. . Như đã nói trên. Hiding. Ví d . b n có th thêm m t thanh panel đ “đ ng” bi u tư ng nh ng ng d ng thư ng ch y. . như chúng ta có th th y trên hình 8. c a trình đơn b i c nh c a panel ho c ch n môđun Panels (nhóm Desktop) c a Personal Settings. Có 4 th tab (Arrangement. Ngoài ra. Ý nghĩa c a các câu l nh tôi nghĩ không c n gi i thích.

có th ch n đ thanh panel tr thành trong su i (đ p hơn?) b ng tùy ch n Enable transparency. là l nh chúng ta quan tâm. L nh này dùng đ c u hình không gian làm vi c cũng như n n màn hình (như thay đ i nh n n). Nh n vào đó đ ch y chương trình so n th o trình đơn. Sau đó dư i có th ch n v trí đ t thanh panel (Position).16). Trong trình đơn này cũng có nhi u câu l nh đ b n có th nghiên c u d n d n. Trong c a s này ngư i dùng có th ch n không dùng nh n n (ch dùng màu). đ thêm bi u tư ng lên màn hình. m c dù theo tôi là không th c s c n thi t. ho c t t máy hoàn toàn. . khi nh n chu t ph i lên ph n tr ng c a n n màn hình s m ra m t trình đơn b i c nh c a màn hình. . Câu l nh Configure Desktop .200 Làm vi c trong môi trư ng KDE Hình 8. . Đ u tiên c n ch n thanh panel mu n c u hình b ng cách nh n vào ô n m sau dòng Settings for (th Arrangement) r i ch n panel tương ng. Khi nh n chu t ph i lên bi u tư ng c a trình đơn chính b n s th y m t câu l nh có cùng tên v i chương trình này. chi u dài c a nó tính theo % so v i c nh c a màn hình (Length) và đ cao tính theo pixel (Size).15. N u mu n b n có th b đi các nút gi u thanh panel (hình mũi tên tam giác) b ng cách b đi các d u X trong các ô c a Panel-Hiding Buttons (th Hiding). S lư ng và tên g i c a các không gian làm vi c có th th c hi n qua th Multiple Desktops.12: Trình đơn c a thanh panel Hình 8. K t qu thu đư c là như nhau (hình 8. Sau khi k t thúc công vi c b n c n bi t cách thoát kh i KDE cũng như giao di n đ ho . Trên th Appearance. Đ thay đ i trình đơn chính c a KDE (KMenu). Cu i cùng. b n c n s d ng câu l nh Create New (trong trình đơn b i c nh hi n ra khi nh n chu t ph i lên màn hình như đã nói trên) và ch n m c tương ng c a l nh này. ngư i dùng có th s d ng chương trình Menu Editor. Khi ch n l nh này s hi n ra c a s như trên hình 8. Sau m i l n thay đ i đ ng quên áp d ng nó b ng nút Apply. Tương t như các thanh panel. Ho c t dòng l nh ch y câu l nh kmenuedit.13: Trình đơn b i c nh c a nút cùng nhi u tùy ch n nhưng chúng ta ch chú ý đ n m t s trong đó. ch n m t nh làm n n ho c ch n m t nhóm nh thay phiên nhau sau m t kho ng th i gian nh t đ nh (slide show).

8. như Konsole. Chương trình này ch y ngay sau khi tên ngư i dùng và m t kh u đư c h th ng xác nh n là đúng. màu và thi t l p chu t.1 B t đ u làm vi c v i KDE 201 Hình 8.14: C u hình các thanh panel Hình 8. Trình qu n lý phiên làm vi c cho phép b n lưu l i các thi t l p hi n th i cho m i phiên làm vi c. • 1 ng d ng đang ch y. như phông ch . Trình qu n lý phiên làm vi c có th ph c h i các thi t l p sau: • Các thi t l p trang trí và tính năng. Đ đi u khi n phiên làm vi c.6 Đi u khi n phiên làm vi c1 Phiên làm vi c (ti ng Anh là session) có th t m đ nh nghĩa là quá trình làm vi c c a ngư i dùng b t đ u t lúc vào môi trư ng làm vi c đ n lúc thoát ra. Session .15: Thay đ i màn hình 8. và đ ng th i cho phép ph c h i tr ng thái c a phiên làm vi c cu i cùng trong l n đăng nh p sau. t đi n Stardict hay OpenOffice. môi trư ng KDE có m t chương trình riêng — Session Manager (Trình qu n lý phiên làm vi c). nh n n.org.1.

16: So n th o trình đơn chính Tuy nhiên.202 Làm vi c trong môi trư ng KDE Hình 8. Logout — thoát ra kh i KDE khi k t thúc công vi c ho c đ đăng nh p vào môi trư ng làm vi c khác. Trên thanh panel nút đ thoát ra thư ng n m c nh nút Lock. Lock — khóa màn hình c a b n. 2. kh i đ ng l i. c n chú ý là b n không th lưu và ph c h i nh ng ng d ng mà Session Manager không qu n lý. chương trình b o v màn hình2 b t đ u ch y. n u b n ch y câu l nh trình so n th o vim t m t c a s terminal. c n nh n chu t ho c nh n bàn phím đ hi n ra h p tho i m khóa. 2 Screen Saver . Tr ng thái này s đư c ph c h i vào l n đăng nh p sau. Save Session — lưu tr ng thái c a phiên làm vi c hi n t i. Đ m khóa màn hình. M i câu l nh đi u khi n tr c ti p phiên làm vi c n m trong th Leave c a trình đơn chính. N u đã s d ng KDM đ đăng nh p vào thì b n s có m t vài l a ch n khác: t t máy. thì Session Manager không th ph c h i trình so n th o này. h p tho i này b n c n nh p vào m t kh u c a mình. B n có th s d ng phím nóng xác đ nh trong Personal Settings. thông thư ng là <Ctrl>+<Alt>+<Del> ho c dùng nút Lock trên thanh panel (n u có). Ví d . Khi khóa màn hình. chương trình không h i l i). 1. Phím nóng theo m c đ nh đ thoát kh i KDE là <Ctrl>+<Alt>+<Del> (chương trình s h i l i b n có ch c ch n mu n thoát ra không) ho c <Ctrl>+<Alt>+<Shift>+<Del> (thoát th ng. 3.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->