213
T hc s dng Linux Phan Vĩnh Thnh Phiên bn: 0.9.6 Ngày 14 tháng 2 năm 2007 Smith Nguyen Studio.

Tu Hoc Su Dung Linux - Smith.N Studio

Embed Size (px)

Citation preview

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 1/212

T hc s dng LinuxPhan Vĩnh Thnh

Phiên bn: 0.9.6Ngày 14 tháng 2 năm 2007

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 2/212

 Dành cho ngưi dùng mi và rt mi...

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 3/212

Mc lc

Li m đu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1 HĐH Linux: lch s và các bn phân phi 31.1 Th nào là HĐH nói chung và Linux nói riêng . . . . . . . . . . . . 3

1.1.1 Các h điu hành dng UNIX . . . . . . . . . . . . . . . . . . 31.1.2 Mt chút v lch s . . . . . . . . . . . . . . . . . . . . . . . . 41.1.3 Đc đim chính ca HĐH Linux . . . . . . . . . . . . . . . . 7

1.2 Bn phân phi Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.3 Yêu cu đi vi máy tính . . . . . . . . . . . . . . . . . . . . . . . . . 121.4 Ly Linux đâu? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2 Cài đt h điu hành Linux 142.1 Chun b cài đt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.2 Phòng xa và nhng li khuyên . . . . . . . . . . . . . . . . . . . . . . 16

2.3 Phân vùng trên đĩa và quá trình khi đng . . . . . . . . . . . . . . 172.3.1 Th nào là cu trúc “hình hc ca đĩa” . . . . . . . . . . . . . 172.3.2 Phân vùng và bng phân vùng ca đĩa . . . . . . . . . . . . . 182.3.3 Quá trình khi đng các HĐH ca công ty Microsoft . . . . . 202.3.4 Vn đ vi các đĩa ln . . . . . . . . . . . . . . . . . . . . . . . 22

2.4 La chn trình khi đng . . . . . . . . . . . . . . . . . . . . . . . . . 232.4.1 Trình khi đng GRUB . . . . . . . . . . . . . . . . . . . . . . 232.4.2 Trình khi đng LILO . . . . . . . . . . . . . . . . . . . . . . 242.4.3 Các trình khi đng khác . . . . . . . . . . . . . . . . . . . . . 262.4.4 Các phương án khi đng . . . . . . . . . . . . . . . . . . . . 27

2.5 Chun b các phân vùng trên đĩa . . . . . . . . . . . . . . . . . . . . 272.5.1 Li khuyên khi to phân vùng . . . . . . . . . . . . . . . . . . 272.5.2 Chương trình đ phân chia đĩa . . . . . . . . . . . . . . . . 30

2.6 Windows NT và Linux: khi đng qua NT OS Loader . . . . . . . . 312.7 S dng trình khi đng GRUB . . . . . . . . . . . . . . . . . . . . . 34

2.7.1 Cài đt GRUB . . . . . . . . . . . . . . . . . . . . . . . . . . . 342.7.2 Cu hình GRUB . . . . . . . . . . . . . . . . . . . . . . . . . . 34

2.8 S dng trình khi đng LILO . . . . . . . . . . . . . . . . . . . . . 362.8.1 Cài đt và cu hình LILO . . . . . . . . . . . . . . . . . . . . 362.8.2 Cài đt các h điu hành khác sau Linux . . . . . . . . . . . 392.8.3 Chuyn thư mc /boot lên phân vùng DOS . . . . . . . . . . 39

2.9 Khi đng Linux t MS-DOS bng loadlin.exe . . . . . . . . . . . . 40

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 4/212

iv MC LC

3 Khi đng Linux ln đu 433.1 Khi đng HĐH Linux . . . . . . . . . . . . . . . . . . . . . . . . . . 433.2 Đăng nhp vào h thng . . . . . . . . . . . . . . . . . . . . . . . . . 443.3 Console, terminal o và shell . . . . . . . . . . . . . . . . . . . . . . 463.4 Son tho dòng lnh. Lch s lnh . . . . . . . . . . . . . . . . . . . 493.5 Ngng làm vic vi Linux . . . . . . . . . . . . . . . . . . . . . . . . 513.6 Tr giúp khi dùng Linux . . . . . . . . . . . . . . . . . . . . . . . . . 53

3.6.1 Các ngun thông tin tr giúp . . . . . . . . . . . . . . . . . . 533.6.2 Các trang tr giúp man . . . . . . . . . . . . . . . . . . . . . . 543.6.3 Câu lnh info . . . . . . . . . . . . . . . . . . . . . . . . . . . 553.6.4 Câu lnh help . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.6.5 Tài liu bn phân phi và ng dng . . . . . . . . . . . . . . 563.6.6 Câu lnh xman . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

3.6.7 Câu lnh helptool . . . . . . . . . . . . . . . . . . . . . . . . 573.6.8 Sách và Internet . . . . . . . . . . . . . . . . . . . . . . . . . . 57

4 Làm quen vi h thng tp tin ext3fs 604.1 Tp tin và tên ca chúng . . . . . . . . . . . . . . . . . . . . . . . . . 604.2 Thư mc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634.3 Công dng ca các thư mc chính . . . . . . . . . . . . . . . . . . . . 654.4 Dng tp tin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

4.4.1 Các tp tin thit b . . . . . . . . . . . . . . . . . . . . . . . . 70

4.4.2 Các ng có tên (pipes) . . . . . . . . . . . . . . . . . . . . . . . 724.4.3 Các socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724.4.4 Liên kt mm . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

4.5 Quyn truy cp đn tp tin và thư mc . . . . . . . . . . . . . . . . . 734.6 Các câu lnh cơ bn đ làm vic vi tp tin và thư mc . . . . . . . 79

4.6.1 Câu lnh chown và chgrp . . . . . . . . . . . . . . . . . . . . 804.6.2 Câu lnh mkdir . . . . . . . . . . . . . . . . . . . . . . . . . . 804.6.3 Câu lnh cat . . . . . . . . . . . . . . . . . . . . . . . . . . . 804.6.4 Câu lnh cp . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

4.6.5 Câu lnh mv . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824.6.6 Câu lnh rm và rmdir . . . . . . . . . . . . . . . . . . . . . . 824.6.7 Câu lnh more và less . . . . . . . . . . . . . . . . . . . . . 834.6.8 Câu lnh tìm kim find và mu tên tp tin . . . . . . . . . . 834.6.9 Câu lnh split . . . . . . . . . . . . . . . . . . . . . . . . . . 864.6.10 So sánh các tp tin và lnh patch . . . . . . . . . . . . . . . 87

4.7 Các câu lnh lưu tr và nén tp tin . . . . . . . . . . . . . . . . . . . 884.7.1 Chương trình tar . . . . . . . . . . . . . . . . . . . . . . . . . 894.7.2 Chương trình gzip . . . . . . . . . . . . . . . . . . . . . . . . 914.7.3 Chương trình bzip2 . . . . . . . . . . . . . . . . . . . . . . . 924.7.4 S dng kt hp tar vi gzip và bzip2 . . . . . . . . . . . . 93

4.8 To và gn các h thng tp tin . . . . . . . . . . . . . . . . . . . . . 95

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 5/212

MC LC v

5 Bash 1015.1 H v là gì? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1015.2 Các ký t đc bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1025.3 Thc thi các câu lnh . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

5.3.1 Thao tác ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1035.3.2 Thao tác & . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1045.3.3 Thao tác && và || . . . . . . . . . . . . . . . . . . . . . . . . 104

5.4 Đu vào/đu ra tiêu chun . . . . . . . . . . . . . . . . . . . . . . . . 1045.4.1 Dòng d liu vào – ra . . . . . . . . . . . . . . . . . . . . . . . 1045.4.2 Lnh echo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1055.4.3 Lnh cat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

5.5 Chuyn hưng đu vào/đu ra, đưng ng và b lc . . . . . . . . . . 1065.5.1 S dng >, < và >> . . . . . . . . . . . . . . . . . . . . . . . . 106

5.5.2 S dng | . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1085.5.3 B lc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

5.6 Tham bin và các bin s. Môi trưng ca h v . . . . . . . . . . . . 1095.6.1 Các dng tham bin khác nhau . . . . . . . . . . . . . . . . . 1105.6.2 Du nhc ca h v . . . . . . . . . . . . . . . . . . . . . . . . 1125.6.3 Bin môi trưng PATH . . . . . . . . . . . . . . . . . . . . . . . 1135.6.4 Bin môi trưng IFS . . . . . . . . . . . . . . . . . . . . . . . 1135.6.5 Thư mc hin thi và thư mc cá nhân . . . . . . . . . . . . 1145.6.6 Câu lnh export . . . . . . . . . . . . . . . . . . . . . . . . . 114

5.7 Khai trin biu thc . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1145.7.1 Khai trin du ngoc . . . . . . . . . . . . . . . . . . . . . . . 1155.7.2 Thay th du ngã (Tilde Expansion) . . . . . . . . . . . . . . 1155.7.3 Phép th các tham bin và bin s . . . . . . . . . . . . . . . 1165.7.4 Phép th các câu lnh . . . . . . . . . . . . . . . . . . . . . . . 1165.7.5 Phép th s hc (Arithmetic Expansion) . . . . . . . . . . . . 1165.7.6 Phân chia t (word splitting) . . . . . . . . . . . . . . . . . . 1175.7.7 Khai trin các mu tên thư mc và tp tin . . . . . . . . . . 1175.7.8 Xóa các ký t đc bit . . . . . . . . . . . . . . . . . . . . . . . 118

5.8 Shell — mt ngôn ng lp trình . . . . . . . . . . . . . . . . . . . . . 1185.8.1 Toán t if và test (hoc [ ]) . . . . . . . . . . . . . . . . . . 1185.8.2 Toán t test và điu kin ca biu thc . . . . . . . . . . . . 1195.8.3 Toán t case . . . . . . . . . . . . . . . . . . . . . . . . . . . 1225.8.4 Toán t select . . . . . . . . . . . . . . . . . . . . . . . . . . 1225.8.5 Toán t for . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1235.8.6 Toán t while và until . . . . . . . . . . . . . . . . . . . . . 1245.8.7 Các hàm s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1245.8.8 Tham s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1255.8.9 Bin ni b (local) . . . . . . . . . . . . . . . . . . . . . . . . . 125

5.9 Script ca h v và lnh source . . . . . . . . . . . . . . . . . . . . . 1265.10 Câu lnh sh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 6/212

vi MC LC

6 S dng Midnight Commander 1286.1 Cài đt chương trình Midnight Commander . . . . . . . . . . . . . . 1286.2 V ngoài ca màn hình Midnight Commander . . . . . . . . . . . . 1296.3 Tr giúp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

6.4 S dng chut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1326.5 Điu khin các bng . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1336.5.1 Dng danh sách tp tin . . . . . . . . . . . . . . . . . . . . . . 1336.5.2 Nhng ch đ hin th khác . . . . . . . . . . . . . . . . . . . 1366.5.3 Các t hp phím điu khin bng . . . . . . . . . . . . . . . . 137

6.6 Các phím chc năng và thc đơn Tp tin . . . . . . . . . . . . . . . . 1396.7 Mu tp tin khi sao chép hoc đi tên . . . . . . . . . . . . . . . . . 1416.8 Thông báo khi sao chép và di chuyn tp tin . . . . . . . . . . . . . . 1436.9 Dòng lnh ca h v . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1456.10 Trình đơn Câu lnh . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

6.11 Cu hình Midnight Commander . . . . . . . . . . . . . . . . . . . . . 1536.12 Kt ni ti máy xa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1596.12.1 Kt ni FTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1596.12.2 Kt ni Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

7 Giao din đ ho 1627.1 X.Org . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1627.2 Mt chút v h thng hình nh ca máy tính . . . . . . . . . . . . . 1677.3 Cu hình chương trình ch X . . . . . . . . . . . . . . . . . . . . . . 169

7.3.1 Thu thp thông tin cn thit . . . . . . . . . . . . . . . . . . . 1707.3.2 Cu trúc ca tp tin cu hình X . . . . . . . . . . . . . . . . . 1717.3.3 Th cu hình /etc/X11/xorg.conf  . . . . . . . . . . . . . . . . . 178

7.4 Khi đng h thng X Window . . . . . . . . . . . . . . . . . . . . . . 1827.4.1 La chn trình qun lý ca s . . . . . . . . . . . . . . . . . . 1857.4.2 Môi trưng làm vic KDE và GNOME . . . . . . . . . . . . . 1877.4.3 Môi trưng làm vic Xfce . . . . . . . . . . . . . . . . . . . . . 1887.4.4 S dng trình qun lý màn hình . . . . . . . . . . . . . . . . 188

8 Làm vic trong môi trưng KDE 1908.1 Bt đu làm vic vi KDE . . . . . . . . . . . . . . . . . . . . . . . . 190

8.1.1 Đăng nhp vào KDE . . . . . . . . . . . . . . . . . . . . . . . 190

8.1.2 V ngoài ca KDE . . . . . . . . . . . . . . . . . . . . . . . . . 1918.1.3 Trình đơn KMenu . . . . . . . . . . . . . . . . . . . . . . . . . 1948.1.4 Trung tâm điu khin KDE . . . . . . . . . . . . . . . . . . . 1958.1.5 Thay đi v ngoài . . . . . . . . . . . . . . . . . . . . . . . . . 1988.1.6 Điu khin phiên làm vic . . . . . . . . . . . . . . . . . . . . 201

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 7/212

Danh sách hình v

3.1 Màn hình khi đng ca GRUB . . . . . . . . . . . . . . . . . . . . . 43

6.1 Midnight Commander ting Vit . . . . . . . . . . . . . . . . . . . . 1296.2 Màn hình Midnight Commander . . . . . . . . . . . . . . . . . . . . 130

6.3 Hp thoi chn đnh dng hin th . . . . . . . . . . . . . . . . . . . 1336.4 Hp thoi sp xp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1366.5 Ch đ thông tin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1376.6 Ch đ cây thư mc . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1386.7 Ch đ xem nhanh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1396.8 Hp thoi đi tên tp tin . . . . . . . . . . . . . . . . . . . . . . . . . 1426.9 Ca s hi li . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1446.10 Ca s yêu cu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1456.11 Dòng nhp vào đa ch IP ca máy ch FTP . . . . . . . . . . . . . . 1476.12 Bt đu tìm kim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1506.13 Đang tìm kim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1506.14 Tìm kim tt c các liên kt mm . . . . . . . . . . . . . . . . . . . . 1516.15 Hp thoi danh sách thư mc thưng dùng . . . . . . . . . . . . . . 1526.16 Điu khin công vic nn sau . . . . . . . . . . . . . . . . . . . . . . 1536.17 Cu hình Midnight Commander . . . . . . . . . . . . . . . . . . . . . 1546.18 Thay đi v ngoài ca Midnight Commander . . . . . . . . . . . . . 1566.19 Thay đi bit hin th ca Midnight Commander . . . . . . . . . . . . 1576.20 Thit lp các hp thoi hi li ngưi dùng . . . . . . . . . . . . . . . 1586.21 Th và cu hình các phím . . . . . . . . . . . . . . . . . . . . . . . . 1586.22 Thit lp h thng tp tin o . . . . . . . . . . . . . . . . . . . . . . . 159

7.1 H thng đ ho X Window . . . . . . . . . . . . . . . . . . . . . . . . 1647.2 Cu hình X.org qua xorgcfg . . . . . . . . . . . . . . . . . . . . . . 1727.3 Chương trình xvidtune . . . . . . . . . . . . . . . . . . . . . . . . . 1817.4 Chương trình xvidtune “không chu” chnh hình nh . . . . . . . . 1817.5 Môi trưng làm vic Xfce . . . . . . . . . . . . . . . . . . . . . . . . . 189

8.1 Màn hình đăng nhp KDM . . . . . . . . . . . . . . . . . . . . . . . . 1918.2 V ngoài ca KDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1928.3 Hp thoi chy chương trình . . . . . . . . . . . . . . . . . . . . . . . 1938.4 Tr giúp có ích tooltips . . . . . . . . . . . . . . . . . . . . . . . . . . 194

8.5 Trình đơn chính ca KDE . . . . . . . . . . . . . . . . . . . . . . . . 1958.6 Tìm kim trong trình đơn chính ca KDE . . . . . . . . . . . . . . . 1968.7 Trình Thit lp cá nhân ca KDE . . . . . . . . . . . . . . . . . . . . 197

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 8/212

viii DANH SÁCH HÌNH V

8.8 Cài đt phông ch mi . . . . . . . . . . . . . . . . . . . . . . . . . . 1988.9 Chn phông ch dùng cho text, trình đơn, . . . . . . . . . . . . . . . . 1988.10 Chn phông ch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1998.11 Cnh báo khi có thay đi chưa áp dng . . . . . . . . . . . . . . . . . 199

8.12 Trình đơn ca thanh panel . . . . . . . . . . . . . . . . . . . . . . . . 2008.13 Trình đơn bi cnh ca nút . . . . . . . . . . . . . . . . . . . . . . . 2008.14 Cu hình các thanh panel . . . . . . . . . . . . . . . . . . . . . . . . 2018.15 Thay đi màn hình . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2018.16 Son tho trình đơn chính . . . . . . . . . . . . . . . . . . . . . . . . 202

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 9/212

Danh sách bng

1.1 Yêu cu đi vi phn cng . . . . . . . . . . . . . . . . . . . . . . . . 12

2.1 Cu trúc ca sector khi đng chính . . . . . . . . . . . . . . . . . . 202.2 Nhu cu s dng không gian đĩa ca HĐH . . . . . . . . . . . . . . 28

3.1 Nhng câu lnh đơn gin ca Linux . . . . . . . . . . . . . . . . . . 463.2 Nhng phím son tho dòng lnh . . . . . . . . . . . . . . . . . . . . 503.3 T hp phím điu khin lch s lnh . . . . . . . . . . . . . . . . . . 523.4 Các phn chính ca tr giúp man . . . . . . . . . . . . . . . . . . . . 543.5 Phím s dng đ xem trang man . . . . . . . . . . . . . . . . . . . . . 55

4.1 Cu trúc thư mc ca Linux . . . . . . . . . . . . . . . . . . . . . . . 664.2 Nhng tp tin thit b chính . . . . . . . . . . . . . . . . . . . . . . . 714.3 Nhng tùy chn chính ca lnh cp . . . . . . . . . . . . . . . . . . . 814.4 Tiêu chí tìm kim ca câu lnh find. . . . . . . . . . . . . . . . . . . 85

4.5 Nhng tùy chn chính ca tar . . . . . . . . . . . . . . . . . . . . . 894.6 Nhng tùy chn chính ca chương trình gzip . . . . . . . . . . . . 924.7 Nhng tùy chn chính ca chương trình bzip2 . . . . . . . . . . . . 944.8 Nhng tùy chn chính ca câu lnh mount . . . . . . . . . . . . . . 99

5.1 Các câu lnh b lc . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1095.2 Thay th các tham bin đc bit . . . . . . . . . . . . . . . . . . . . . 1115.3 Ký t xác đnh dng du nhc . . . . . . . . . . . . . . . . . . . . . . 1125.4 Các ký t to mu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

6.1 Các t hp phím di chuyn dùng chung . . . . . . . . . . . . . . . . . 131

6.2 Di chuyn trong trình xem tp tin . . . . . . . . . . . . . . . . . . . . 1316.3 Di chuyn khi xem tr giúp . . . . . . . . . . . . . . . . . . . . . . . 1326.4 Các phím chc năng . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1406.5 Các lnh điu khin dòng nhp vào . . . . . . . . . . . . . . . . . . . 148

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 10/212

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 11/212

Li m đu

Trong tác phm ni ting th gii ca nhà văn Nga Lev Tolstoi “Chin tranh vàhoà bình” có đưa ra mt ví d đ minh ho cho suy nghĩ ca tác gi v vai trò canhng ngưi có ting (c th là Napoleon và Alecxandr đ nht) và qun chúngtrong lch s nói chung cũng như trong chin tranh châu Âu nhng năm đuth k XIX. Nhân vt chính trong ví d minh ho này là con ong. Đi vi cu béva b ong cn thì mc đích ca con ong ch cn ngưi. Đi vi mt nhà thơthì mc đích ca con ong là thu vào mình hương v ca nhng bông hoa. Đi vingưi nuôi ong thì mc đích ong là thu thp mt ong. Ngưi nuôi ong có cái nhìnsâu hơn thì cho rng ong thu thp bi phn hoa đ nuôi ong con và to ong chúa,như vy mc đích ca nó là duy trì nòi ging. Nhà sinh hc khi quan sát thyong th phn cho hoa thì quyt đnh đây chính là mc đích ca loài ong. Ngưikhác quan sát quá trình di cư ca thc vt thì cho rng ong tham gia vào quá

trình này và là mc đích ca nó. Tt nhiên mc đích cui cùng ca ong khôngphi là nhng cái trên nm riêng bit mà là tt c chúng cng li, và còn cngthêm nhng gì mà tm thi b óc quan sát hn ch ca con ngưi còn chưa tìmra.

Microsoft nhìn thy Linux kh năng cnh tranh ln và nhiu khi coi Linuxlà k thù ca mình. Nhiu t chc chính ph cũng như phi chính ph nhìn thy Linux mt h điu hành nhiu ha hn và h tr cho Linux. Nhng nưc cònnghèo tìm thy Linux mt cách gii quyt cho vn đ kinh t. Mt s công tyđã thy đưc Linux mt ngun li ln và phát trin công vic kinh doanh camình t h điu hành này. Đi vi Linus Torvalds, Linux là nim đam mê và

“Just for fun”. Các nhà lp trình nhân (kernel) tìm thy Linux s quyn rũ vàcông vic phát trin ca h. Ngưi dùng thì thy Linux mt h thng mnh,thun tin, có th điu chnh theo ý mun ca mình v.v. . .

Linux là h điu hành phát trin mnh. Nhng năm đu thp k th chínca th k XX Linux mi ch là đa con tinh thn chưa bit nói ca Torvalds.Ch trong vài năm gn đây đã có nhiu bn phân phi Linux chim lĩnh đưc môitrưng máy ch cũng như máy đ bàn ca ngưi dùng. Trên th trưng máy chhin thi ch có mt vài tên tui đáng chú ý. Linux cho máy đ bàn có phn đadng hơn. Mi bn phân phi thích hp cho mt nhóm ngưi dùng c th nào đót ngưi dùng mi đn ngưi dùng “cao cp” (advanced) hay nói đúng hơn là mi

ngưi dùng có quyn la chn cho mình mt bn phân phi thích hp và chuynsang s dng bn khác khi nào mong mun. Lch s hình thành và phát trinLinux chúng ta s thy ngay chương đu tiên ca cun sách này.

Linux ngay t ban đu đã đưc xây dng da trên cng đng (ting Anh“community”), da trên s cng tác. Cng đng Linux không ch cung cp chongưi dùng máy tính mt h điu hành thân thin, d s dng mà còn luôn luônsn sàng giúp đ ngưi dùng mi, luôn mong mun có thêm máy tính chy dưiLinux. Vi kt ni mng Internet, bn s luôn tìm thy câu tr li cho vn đ camình t s lưng ln các din đàn, nhóm thư, nhóm tin tc, các trang web cungcp tin tc, bài báo, sách v Linux. . . Tuy nhiên nu bn mi bt đu hc Linux

thì hãy tìm cho mình mt cun sách gii thiu ngn gn v h điu hành này.Mt cun sách tham kho cm tay là không th thiu trong thi gian đu tìmhiu Linux. Hãy xem xét giá và ni dung cun sách trưc khi mua. Nu không

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 12/212

có kh năng tìm đưc sách thích hp hoc bn thích cun sách “T hc s dngLinux” này thì có th in nó ra đ tin đc.

Tôi bt đu hc Linux khi có trong tay 3 đĩa CD RedHat 7.0 khong 4 nămtrưc đây. Và bây gi Linux (c th là OpenSUSE Linux) là h thng duy nht

làm vic trên máy tính ca tôi. Không phi là tôi không mun s dng và ghétb h điu hành Windows mà đơn gin là tôi đã quen làm vic trong môi trưngKDE và Xfce, đôi khi trong console (dòng lnh không có đ ho). Và hơn nami công vic cn đn máy tính ca tôi có th gii quyt nhanh gn bng nhngchương trình đi kèm vi Linux. Nghe nhc bng Amarok, qun lý hình k thuts và ly chúng ra t máy hình bng digiKam, son tho tài liu, c th là lunvăn tt nghip và cun sách này, trong chương trình Kile và biên dch mã LATEXqua nhng chương trình có trong gói teTeX, nhng tài liu khác có th son thotrong Openoffice.org, vi ngưi dùng không chuyên thì kh năng chnh sa nhca The GIMP còn trên c đ, kh năng v đ ho vector ca Inkscape còn đ cho

c nhng nhà thit k chuyên. Tôi không phi là mt nhà qun lý mng hay lptrình chuyên nghip và nói chung không phi ngưi hc theo chuyên ngành côngngh thông tin. Ngành chính ca tôi là Hoá hc, do đó xin đng mong đi nhngkin thc cao siêu trong sách này. Như trang th hai ca sách có ghi “Dành chongưi dùng mi và rt mi. . . ”.

Như vy, cun sách “T hc s dng Linux” đưc to ra vi hy vng s giúpngưi dùng mi làm quen vi h điu hành tuyt vi có tên Linux và hình tưngtrưng là chú chim cánh ct (penguin) xinh đp. Nhng thông tin bn đc tìm thytrong cun sách này có th áp dng cho hu ht ht các bn phân phi ln, tuynhiên mt s phn đc bit ví d phn nói v cài đt chương trình t các gói rpm

ch áp dng tt cho các bn phân phi “dòng RedHat”, đó là Fedora, Mandriva,OpenSUSE, v.v...Thông thưng ngưi dùng mi bt đu gia nhp vào th giiLinux bng nhng bn phân phi này. Happy Using Linux!

Công c đ to ra cun sách bn đang đc là h thng sp ch LATEX. Bn cóth tìm bn phân phi teTeX hoc mt bn phân phi khác ca h thng nàytrên hu ht các b đĩa cài đt h điu hành Linux.

Sách này đưc phân phi min phí theo bn quyn Creative Commons PublicLicense 2.5 (http://creativecommons.org/licenses/by/2.5/ ).Cũngnhưnhng sn phm khác ca cng đng OSS, cun sách này đưc to ra, sa đi,thêm và bt trong thi gian rnh ri ca tôi, do đó đôi khi nó s đưc cp nhtthưng xuyên, và có khi không đưc cp nht c năm. Mi đ ngh sa đi, thôngbáo li chính t, li kin thc cũng như đ ngh giúp đ (luôn luôn hoan nghêng)xin gi cho Phan Vĩnh Thnh theo đa ch [email protected].

 Xin cm ơn Kostromin A.V. (http://linux-ve.chat.ru) đã vit ra mtcun sách s dng Linux hay làm tài liu tham kho chính cho cun sách này,bác Nguyn Đi Quý ([email protected]) và anh Nguyn Đng Hoàng Tuân([email protected]) đã giúp đ tôi trong khi son cun sách này.

Released under Creative Commons Public License 2.5(http://creativecommons.org/licenses/by/2.5/ )

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 13/212

Chương 1

HĐH Linux: lch s và các bnphân phi

“Just for fun” – Linus Torvalds.

Lch s luôn là đim khi đu khi nghiên cu mt ngành khoa hc nào đó. Không có ngoi l đi vi Toán hc, Vt lý, môn chuyên ngành ca tôi – Hoá hc và tt nhiên c HĐH Linux. Trong chương đu tiên ca cun sách “T hc s dng Linux” này chúng ta s tr li ngn gn cho câu hi “Linux là gì?”. Đng thi nói đôi dòng v nhng đim đc bit ca Linux, yêu cu ca Linux đi vi phn cng, khái nim bn phân phi Linux, và cách có đưc nhng bn phân phi này. Hơn th na bn đc s hiu ít nhiu v OpenSource, GNU và FSF.

1.1 Th nào là HĐH nói chung và Linux nói riêng1.1.1 Các h điu hành dng UNIX

H điu hành (HĐH) đó là mt b các chương trình h tr vic điu khin phncng ca máy tính, t chc làm vic vi các tp tin (trong đó có chy và điukhin vic thc hin ca các chương trình), và đng thi thc thi s giao tip vingưi dùng, tc là dch các câu lnh ca ngưi dùng và hin th kt qu làm vicca nhng lnh này.

Không có h điu hành thì máy tính không thc hin đưc chc năng camình. Trong trưng hp đó máy tính ch là mt tp hp các thit b đin tkhông làm vic, không hiu là đ làm gì.

Đn thi đim hin nay thì các h điu hành ni ting nht cho máy tính làMicrosoft Windows (C) và UNIX. Windows bt ngun t h điu hành MS-DOStrưc đây làm vic trên các máy tính ca hãng IBM. H điu hành UNIX donhóm các nhà phát trin Bell Labs vit ra vào năm 1969 dưi s điu khin caDennis Ritchie, Ken Thompson và Brian Kernighan. Nhưng bây gi khi nói đnh điu hành UNIX thưng có ý không nói c th mt h điu hành c th nàomà là mt nhóm các h điu hành dòng UNIX (UNIX-liked OS). Chính bn thânt UNIX (vit hoa tt c các ch cái) tr thành nhãn hiu thương mi ca tngcông ty AT&T.1

1Ngưi m “không ngi ngn” đăng ký nhãn hiu thương mi bt kỳ th gì, k c Yoga màbt ngun t n Đ.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 14/212

4 HĐH Linux: lch s và các bn phân phi

 Vào cui nhng năm 70 ca th k trưc (th k XX) các nhà phát trin catrưng đi hc California Berkeley đã thêm vào mã ngun ca UNIX rt nhius ci tin trong đó có h tr giao thc2 TCP/IP (giao thc mng chính hin nay).Sn phm này ni ting dưi tên BSD ("Berkeley Systems Distribution"). Điu

đc bit ch bn quyn ca sn phm cho phép ngưi khác phát trin và ci tinvà chuyn kt qu thu đưc đn ngưi th ba (cùng vi mã ngun hoc không)vi điu kin là phi ch ra phn nào ca mã đưc phát trin Berkeley.

H điu hành dòng UNIX, trong đó có BSD, lúc đu đưc phát trin đ làmvic vi các máy tính nhiu ngưi dùng – các mainframe. Nhưng dn dn cuhình trang thit b ca máy tính cá nhân cũng mnh lên và hin nay có khnăng cao hơn so vi nhng mainframe ca nhng năm 70 th k trưc. Và vàđu nhng năm 90 mt sinh viên ca trưng đi hc Helsinki (Phn Lan), LinusTorvalds, đã bt đu phát trin mt HĐH kiu UNIX cho các máy tính cá nhântương thích vi IBM (IBM-compatible PC).

1.1.2 Mt chút v lch s

HĐH Linux va k nim sinh nht ln th 15 ca mình. Đây là bc thư màLinus gi vào nhóm tin tc comp.os.minix ngày 25 tháng 8 năm 1991 (đưc coilà ngày sinh nht ca HĐH này):

From: [email protected] (Linus Benedict Torvalds)Newsgroups: comp.os.minixSubject: What would you like to see most in minix?Summary: small poll for my new operating system

Message-ID: <[email protected]>Date: 25 Aug 91 20:57:08 GMTOrganization: University of HelsinkiHello everybody out there using minix -I’m doing a (free) operating system (just a hobby, won’t be big andprofessional like gnu) for 386(486) AT clones. This has been brewingsince april, and is starting to get ready. I’d like any feedback on thingspeople like/dislike in minix, as my OS resembles it somewhat (samephysical layout of the file-system (due to practical reasons) amongother things).I’ve currently ported bash(1.08) and gcc(1.40), and things seem towork. This implies that I’ll get something practical within a fewmonths, and I’d like to know what features most people would want.Any suggestions are welcome, but I won’t promise I’ll implementthem :-)Linus ([email protected])PS. Yes — it’s free of any minix code, and it has a multi-threaded fs.It is NOT portable (uses 386 task switching etc), and it probablynever will support anything other than AT-harddisks, as that’s allI have :-(.

Trong thư này Linus cho bit anh đang phát trin mt h điu hành t do chocác máy tính đi 386 (486) và yêu cu nhng ai quan tâm cho bit nhng thànhphn nào ca h thng cho ngưi dùng cn phi có đu tiên. Nhng ngưi dùng

trong nhóm tin tc này đã làm vic dưi h điu hành Minux do giáo sư Andy2protocol

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 15/212

1.1 Th nào là HĐH nói chung và Linux nói riêng 5

Tanenbaum vit ra đ làm công c hc tp cho các sinh viên lp trình. Minuxlàm vic trên các máy tính vi b x lý 286 và đưc Linus dùng làm mô hình choHĐH mi.

Tp tin phiên bn đu tiên ca Linux (phiên bn 0.01) đưc công b trên

Internet ngày 17 tháng 09 năm 1991. Linus Torvalds vit: “As I already men-tioned, 0.01 didn’t actually come with any binaries: it was just source code forpeople interested in what linux looked like. Note the lack of announcement for0.01: I wasn’t too proud of it, so I think I only sent a note to everybody who hadshown interest.” (“Như tôi đã nói trưc đây, 0.01 không đi kèm theo binary nào:nó ch là mã ngun cho nhng ai mun bit linux trông ra sao. Chú ý rng khôngcó thông báo cho bn 0.01: tôi không t hào lm v nó, vì th ch gi thông báođn tt c nhng ai mun th hin s quan tâm.”)3

Sau đó ngày 05 tháng 10 năm 1991 phiên bn 0.02 ra đi. Đây là phiên bnđã có th làm vic trên máy. Nu bn đc quan tâm đn lch s ca HĐH này thì

hãy đc trang web sau: http://www.li.org/linuxhistory.php. đó bn snhn đưc thông tin chi tit v lch s xut hin và phát trin Linux.Linus Torvalds không đăng ký bng sáng ch cũng như không gii hn vic

phân phi HĐH mi này. Ngay t đu Linux đã đưc phân phi theo điu kinca bn quyn General Public License (GPL)4 thưng dùng cho các phn mmng dng Open Source và d án GNU. Theo ting lóng ca Linux thì bn quynnày đôi khi đưc gi là Copyleft. V bn quyn này, Open Source và d án GNUcn phi nói đn mt cách đc bit.

 Vào năm 1984 nhà bác hc ngưi m Richard Stallman sáng lp ra T chcphn mm t do (FSF, Free Software Foundation) có trang ch nm ti đa ch

http://www.fsf.org. Mc đích ca t chc này là loi tr tt c nhng điucm đoán và hn ch phân phi, sao chép, sa đi, nghiên cu chương trình ngdng. Bi vì tính đn thi đim bt đu xây dng t chc thì các công ty thươngmi gi rt cn thn các chương trình ng dng ca mình, bo v nó bng cácbng sáng ch, các du hiu bo v quyn tác gi, gi bí mt nghiêm ngt mãngun ca chương trình vit trên các ngôn ng bc cao (như C++). Stallman chorng vic này rt có hi đi vi phát trin chương trình ng dng, dn đn vicgim cht lưng chương trình và s có mt ca rt nhiu li không xác đnhđưc trong nhng chương trình này. Ti t nht là làm chm quá trình trao điý tưng trong ngành lp trình, làm chm quá trình to ng dng mi vì mi nhà

lp trình s phi vit li t đu mt ng dng thay vì dùng đon mã ngun đãcó trong ng dng khác.Trong khuôn kh T chc phn mm t do đã bt đu làm vic d án GNU

(http://www.gnu.org) – d án to chương trình ng dùng min phí. GNU là

3Rt thú v là sau khi Linus Torvalds phát trin HĐH ca mình thì gia anh và giáo sư AndyTanenbaum đã n ra mt cuc tranh cãi. Nu bn đc quan tâm thì có th tìm đc nhng thư màhai ngưi này gi cho nhau trong nhóm tin tc nói trên, hoc tìm đc cun “Linux: Just for fun”,mt cun sách nói v đi tư ca Linus Torvalds đn thi đim anh làm cho Transmeta và vicphát trin HĐH Linux.

4Tht ra lúc đu nhân Linux đưc phân phi theo bn quyn mà FSF không không nhn làt do vì nghiêm cm phân phi thương mi. Bn quyn này có th tìm thy trong nhng phiên

bn đu tiên ca nhân trên ftp.kernel.org,ví d ftp://ftp.kernel.org/pub/linux/kernel/Historic/old-versions/RELNOTES-0.01. Bn quyn đưc đi sang GPL t phiên bn 0.12, hãy xemRELNOTES-0.12 theo đa ch trên.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 16/212

6 HĐH Linux: lch s và các bn phân phi

t vit tt ca GNU’s Not Unix, tc là nhng gì thuc v d án GNU không philà mt phn ca Unix (vào thi gian đó thm chí t UNIX đã tr thành thươnghiu, do đó không còn t do). Trong “Manifesto GNU” (http://www.gnu.org/gnu/manifesto.html) vào năm 1985 Stallman vit rng đng lc đ ông sáng

lp ra FSF và d án GNU đó là s khó chu trong quyn s hu ca mt s ngưiđi vi chương trình ng dng.Nhng gì do d án GNU phát trin đ là t do, nhưng không có nghĩa là

chúng đưc phân phi không có bn quyn và không đưc lut pháp bo v.Nhng chương trình Open Source (Mã ngun m) đưc phân phi theo điu kinca bn quyn General Public License (GPL). Bn có th đc bn quyn nàytheo đa ch http://www.gnu.org/copyleft/gpl.html. Bn dch ting Vitkhông chính thc nm ti http://vi.openoffice.org/gplv.html . Nu nhưnói mt cách tht ngn gn thì bn cht ca GPL như sau. Chương trình ngdng phân phi theo GPL đưc quyn phát trin, sa đi, chuyn hoc bán cho

ngưi khác không hn ch vi mt điu kin là kt qu thu đưc cũng phi phânphi theo bn quyn copyleft. Điu kin cui là quan trng và then cht ca bnquyn này. Nó bo đm rng kt qu lao đng ca các nhà phát trin phn mmt do s luôn luôn m và không tr thành mt phn ca sn phm nào đó dùngbn quyn bình thưng (ý nói sn phm đóng). Điu kin này cũng phân bitphn mm t do vi phn mm phân phi min phí . Nói như các nhà sáng lpra FSF, thì bn quyn GPL “làm cho chương trình ng dng t do và đm bo làchương trình này s t do”5.

Gn như tt c các chương trình ng dng phân phi theo điu kin GPL cóth coi là min phí đi vi ngưi dùng (trong phn ln các trưng hp đ nhn

đưc nó bn ch phi tr tin đĩa CD, DVD hoc kt ni Internet). Điu đó khôngcó nghĩa là các nhà lp trình không còn nhn đưc phn thưng (tin) cho côngvic ca mình. Ý tưng chính ca Stallman là ch không phi bán chương trìnhng dng, mà bán chính sc lao đng ca nhà lp trình. đây cn phi đưa raví d đ bn đc hiu rõ hơn: ngun thu nhp có th là các sn phm đi kèm hocdch v cài đt và cu hình cho nhng máy tính mi hoc phát trin cho nhngđiu kin làm vic mi, dy cách s dng, v.v...Mt phn thưng tt na đó làkhi chương trình tr lên ni ting thì tác gi ca chương trình s có điu kin tìmmt công vic có lương cao. Các nhà phát trin xvnkb (http://xvnkb.sf.net),unikey (http://unikey.org) và pdfLaTeX (http://www.tug.org),lànhngngưi hiu rõ nht điu này. Hãy vit thư cho h đ hc hi kinh nghim!

Trong khuôn kh ca hot đng Open Source nói chung và d án GNU nóiriêng, đã phát trin mt lưng đáng k các chương trình ng dng, ni tingnht trong s chúng đó là trình son tho Emacs và trình biên dch GCC (GNUC Compliler) – trình biên dch ngôn ng C tt nht hin nay. Vic m mã ngunđng thi nâng cao rt nhiu cht lưng ca chương trình ng dng: tt c nhnggì tt nht, nhng ý tưng và cách gii quyt mi đưc phân phi rng rãi ngaylp tc, còn các li s đưc nhn ra và sa nhanh chóng. đây chúng ta gpli cơ ch đào thi (hay tt hơn là chn lc) t nhiên như trong thuyt sinh hcca Darwin. Cơ ch này b kìm nén trong th gii chương trình ng dng thương

5Bn đc cũng nên bit là sp ti s có phiên bn th 3 ca GPL (GPLv3). Cùng vi s ra đica phiên bn th 3 này đã ny ra rt nhiu tranh cãi xung quanh tính t do ca bn quyn.Tham gia vào tranh cãi có c ngưi vit ra nhân Linux đu tiên – Linus Torvalds.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 17/212

1.1 Th nào là HĐH nói chung và Linux nói riêng 7

mi.Tuy nhiên bây gi xin quay li vi lch s ca Linux. Cn nói rng Linus

Torvalds ch phát trin phn nhân (kernel) ca h điu hành. Nhân này “đu”đúng vào min “đt lành”, vì trong d án GNU đã phát trin s lưng ln các

tin ích khác nhau. Nhưng đ chuyn GNU thành mt HĐH hoàn chnh thì chcòn thiu nhân. D án GNU cũng đã bt đu phát trin nhân cho riêng mình(đưc gi là Hurd), nhưng vì lý do nào đó đã b chm li. Vì th s xut hin canhân Linux là rt đúng lúc. Nó đng nghĩa vi vic ra đi ca mt h điu hànhmi t do phân phi cùng vi mã ngun m. Stallman tt nhiên đã đúng khi đòihi h điu hành Linux phi đưc gi là GNU/Linux. Nhưng đã thành l ngưidùng thưng s dng tên gi ca nhân làm tên gi ca h điu hành, và chúngta cũng làm như vy trong cun sách này.

1.1.3 Đc đim chính ca HĐH LinuxDo mã ngun Linux phân phi t do và min phí, nên ngay t đu đã có rtnhiu nhà lp trình tham gia vào quá trình phát trin h thng. Nh đó đn thiđim hin nay Linux là h điu hành hin đi, bn vng và phát trin nhanhnht, h tr các công ngh mi gn như ngay lp tc. Linux có tt c các khnăng, đc trưng cho các h điu hành đy đ tính năng dòng UNIX. Xin đưa rađây danh sách ngn gn nhng kh năng này.

1. Nhiu tin trình tht sTt c các tin trình là đc lp, không mt tin trình nào đưc cn tr công

vic ca tin trình khác. Đ làm đưc điu này nhân thc hin ch đ phânchia thi gian ca b x lý trung tâm, ln lưt chia cho mi tin trình mtkhong thi gian thc hin. Cách này hoàn toàn khác vi ch đ “nhiu tintrình đy nha” đưc thc hin trong Windows 95, khi mt tin trình phinhưng b x lý cho các tin trình khác (và có th làm chm tr rt lâu victhc hin).

2. Truy cp nhiu ngưi dùngLinux không ch là HĐH nhiu tin trình, Linux h tr kh năng nhiungưi dùng làm vic cùng lúc. Khi này Linux có th cung cp tt c các tàinguyên h thng cho ngưi dùng làm vic qua các terminal xa khác nhau.

3. Swap b nh lên đĩaSwap b nh cho phép làm vic vi Linux khi dung lưng b nh có hn.Ni dung ca mt s phn (trang) b nh đưc ghi lên vùng đĩa cng xácđnh t trưc. Vùng đĩa cng này đưc coi là b nh ph thêm vào. Vic nàycó làm gim tc đ làm vic, nhưng cho phép chy các chương trình cn bnh dung lưng ln mà thc t không có trên máy tính.

4. T chc b nh theo trangH thng b nh Linux đưc t chc dng các trang vi dung lưng 4K.

Nu b nh đy, thì HĐH s tìm nhng trang b nh đã lâu không đưc sdng đ chuyn chúng t b nh lên đĩa cng. Nu có trang nào đó trongs nhng trang này li tr thành cn thit, thì Linux s phc hi chúng t

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 18/212

8 HĐH Linux: lch s và các bn phân phi

đĩa cng (vào b nh). Mt s h thng Unix cũ và mt s h thng hin đi(bao gm c Microsoft Windows) chuyn lên đĩa tt c ni dung ca b nhthuc v nhng ng dng không làm vic ti thi đim hin thi (tc là TTC các trang b nh thuc v ng dng s đưc lưu lên đĩa khi không đ b

nh) và như vy kém hiu qu hơn.5. Np môđun thc hin “theo yêu cu”

Nhân Linux h tr vic cung cp các trang b nh theo yêu cu, khi nàych phn mã cn thit ca chương trình mi nm trong b nh, còn nhngphn mã không s dng ti thi đim hin ti thì nm li trên đĩa.

6. Cùng s dng chương trìnhNu cn chy mt lúc nhiu bn sao ca cùng mt ng dng nào đó6, thìLinux ch np vào b nh mt bn sao ca mã chương trình và tt c cáctin trình ging nhau cùng s dng mt mã này.

7. Thư vin chungThư vin – b các quá trình (thao tác) đưc chương trình dùng đ làmvic vi d liu. Có mt s thư vin tiêu chun đưc dùng cùng lúc cho vàitin trình. Trên các h thng cũ nhng thư vin đó nm trong mi tp tinchương trình, và thc hin cùng lúc nhng chương trình này dn đn haoht b nh không đáng có. Trên các h thng mi (bao gm Linux) có h trlàm vic vi các thư vin đng (dynamic) và tĩnh (static) đưc chia ra, vànhư vy cho phép gim kích thưc b nh b ng dng chim.

8. B đm đng ca đĩa B đm ca đĩa đó là mt phn b nh ca h thng dùng làm nơi lưu nhngd liu thưng dùng ca đĩa, nh đó nâng cao rt nhiu tc đ truy cp tinhng chương trình và tin trình thưng dùng. Ngưi dùng MS-DOS snh đn chương trình SmartDrive, chương trình này d tr mt phn bnh có kích thưc xác đnh đ làm b đm cho đĩa. Linux s dng h thngđm linh đng hơn: b nh đưc d tr cho đm đưc tăng lên khi b nhkhông đưc s dng, và s gim xung khi h thng hay tin trình cnnhiu b nh hơn.

9. 100% tương ng vi tiêu chun POSIX 1003.1. H tr mt phn các

kh năng ca System V và BSDPOSIX 1003.1 (Portable Operating System Interface – giao din ca hđiu hành lưu đng) đưa ra giao din tiêu chun cho các h thng Unix, đólà mt b các th tc ngôn ng C. Ngày nay giao din này đưc tt c cách điu hành mi h tr. Microsoft Windows NT cũng h tr POSIX 1003.1.Linux 100% tương ng vi tiêu chun POSIX 1003.1. Thêm vào đó Linuxcòn h tr các kh năng ca System V và BSD đ tăng tính tương thích.

10. System V IPCLinux s dng công ngh IPC (InterProcess Communication) đ trao đithông tin gia các tin trình, đ s dng tín hiu và b nh chung.

6hoc mt ngưi dùng chy vài tin trình ging nhau, hoc nhiu ngưi dùng chy cùng mtchương trình

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 19/212

1.2 Bn phân phi Linux 9

11. Kh năng chy chương trình ca HĐH khácTrong lch s Linux không phi là h điu hành đu tiên. Ngưi ta đãvit ra hàng lot các chương trình ng dng, trong đó có c nhng chươngtrình có ích và không đn ni ti, cho các HĐH đã phát trin trưc Linux,

bao gm DOS, Windows, FreeBSD và OS/2. Đ chy nhng chương trìnhnhư vy dưi Linux đã phát trin các trình gi lp (emulator) cho DOS,Windows 3.1, Windows 95 và Wine. Ngoài ra, còn có mt lot các chươngtrình to máy o7 mã ngun m cũng như sn phm thương mi: qemu,bochs, pearpc, vmware,. . . HĐH Linux còn có kh năng chy chương trìnhdành cho b x lý Intel ca các h thng Unix khác, nu h thng đáp ngtiêu chun iBCS2 (intel Binary Compatibility).

12. H tr các đnh dng h thng tp tin khác nhauLinux h tr mt s lưng ln các đnh dng h thng tp tin, bao gm các

h thng tp tin DOS và OS/2, và c các h thng tp tin mi, như reiserfs,HFS,. . . . Trong khi đó h thng tp tin chính ca Linux, đưc gi là SecondExtended File System (ext2fs) và Third Extended File System (ext3fs) chophép s dng không gian đĩa mt cách có hiu qu.

13. Kh năng h tr mngLinux có th gn vào bt kỳ mng ni b nào. H tr tt c các dch v Unix,bao gm Networked File System (NFS), kt ni t xa (telnet, rlogin, ssh),làm vic trong các mng TCP/IP, truy cp dial-up qua các giao thc SLIPvà PPP,v.v...Đng thi có h tr dùng Linux là máy ch hoc máy kháchcho mng khác, trong đó có chia s (dùng chung, sharing) các tp tin và in

t xa trong các mng Macintosh, NetWare và Windows.14. Làm vic trên các phn cng khác nhau

Mc dù đu tiên HĐH Linux đưc phát trin cho máy tính cá nhân (PC)trên nn tng Intel 386/486, bây gi nó có th làm vic trên tt c các bvi x lý Intel bt đu t 386 và kt thúc là các h thng nhiu b x lýPentium IV, bao gm c các b x lý 64bit. Đng thi Linux còn làm victrên rt nhiu b x lý tương thích vi Intel ca các nhà sn xut khác,như AMD. Trong Internet còn có nhng thông báo nói rng trên các b xlý Athlon và Duron ca AMD Linux còn làm vic tt hơn so vi trên Intel.

Ngoài ra còn có phiên bn Linux cho các b x lý khác bao gm ARM, DEC Alpha, SUN Sparc, M68000 (Atari và Amiga), MIPS, PowerPC và nhngb x lý khác8. Xin đưc nói luôn là trong cun sách này chúng ta ch xemxét trưng hp Linux cho các máy tính tương thích vi IBM.

1.2 Bn phân phi Linux

Trong bt kỳ h điu hành nào cũng có th chia ra 4 phn chính: nhân, cutrúc (h thng) tp tin, trình dch lnh ngưi dùng và các tin ích. Nhân đó là

7cho phép s dng nhiu h điu hành trên mt máy8Bn phân phi Linux h tr nhiu b x lý nht cn phi k đn Debian (http://www.debian.org)

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 20/212

10 HĐH Linux: lch s và các bn phân phi

thành phn chính, nòng ct ca HĐH, nó điu khin các thit b phn cng vàđiu khin vic thc hin chương trình. Cu trúc tp tin (h thng tp tin) – làh thng lưu tp tin trên các thit b lưu. Trình dch lnh hay h v (shell) – làchương trình t chc giao tip gia máy tính và ngưi dùng. Và cui cùng cáctin ích – đó đơn gin là các chương trình riêng l, nói chung không khác so vinhng chương trình bình thưng khác mà ngưi dùng có th chy, nhưng có chcnăng chính là thc hin các công vic dch v (service).

Như đã nói trên, nu chính xác thì t “Linux” ch có nghĩa là nhân. Vì thkhi nói v h điu hành nói chính xác hơn s là “h điu hành da trên nhânLinux”. Nhân ca HĐH Linux hin thi đang đưc phát trin dưi s lãnh đoca Linus Torvalds và phân phi mt cách t do (vi bn quyn GPL) ging nhưmt s lưng khng l các chương trình ng dng và tin ích khác. Mt trongnhng kt qu ca vic phân phi t do chương trình ng dng cho Linux đó làcó nhiu công ty cũng như nhóm các nhà phát trin đc lp đã phát hành ra các

bn Linux khác nhau đưc gi là “bn phân phi Linux”.Bn phân phi – đó là mt b các chương trình ng dng bao gm tt c bnphn chính ca HĐH, tc là nhân, h thng tp tin, h v shell và các tin ích,đng thi còn có thêm các chương trình cho công vic hàng ngày ca ngưi dùng.Thông thưng tt c nhng chương trình nm trong bn phân phi Linux đudùng bn quyn GPL. Rt có th xut hin trong bn đc ý nghĩ rng bt kỳ aicũng có kh năng cho ra bn phân phi Linux, hay nói đúng hơn là bt kỳ ngưinào không lưi sưu tp các chương trình t do. Và suy nghĩ đó có phn nào đúng.Tuy nhiên các nhà phát trin ca mt bn phân phi Linux cn to ra ít nhtmt chương trình cài đt đ đưa HĐH lên máy tính trng không chưa có HĐH

nào. Ngoài ra, cn tìm cách gii quyt s ph thuc và mâu thun gia các gói(và gia các phiên bn ca gói) chương trình. Và như chúng ta s thy sau đókhông phi là bài toán đơn gin.

Tuy vy, trên th gii đang có hàng trăm (hàng nghìn?) bn phân phi Linuxvà mi ngày li xut hin các bn mi. Có th tìm thy danh sách tương điđy đ cùng vi đc đim ngn gn ca mi bn phân phi trên http://www.linuxhq.com (còn có mt s bn phân phi khác ting Anh). Ngoài ra, trêntrang đó cũng như nhiu trang web khác còn có liên kt đn nhng danh sáchbn phân phi khác, vì th nu mun có th tìm thy tt c nhng gì có trên thgii (hu ht nhng trang này dùng ting Anh và các bn phân phi Vit Nam ítđưc nói đn).

Mt vài tác gi đã th phân loi các bn phân phi da trên nhng tiêu chíkhác nhau:

• cu trúc h thng tp tin

• chương trình cài đt

• phương tin dùng đ cài đt các gói chương trình

• thành phn ca các tin ích và chương trình ng dng có trong bn phânphi.

Mc dù hu ht các tác gi cho rng s khác nhau gia các bn phân phi làkhông cơ bn. Nhưng hin nay có th chia ít nht 3 nhóm bn phân phi, mà đidin ca mi nhóm là Red Hat, Slackware và Debian.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 21/212

1.2 Bn phân phi Linux 11

 Vy thì cn la chn bn phân phi theo tiêu chun nào? Theo ý kin ca tácgi thì đi vi ngưi dùng Vit Nam có hai tiêu chun: th nht phi có giao dinngưi dùng ting Vit và th hai phi có mt nhóm các nhà phát trin h tr bnphân phi này. Và tt nht nu nhóm các nhà phát trin này nhn đưc ngun

li t sn phm Linux ca mình, tc là làm vic như mt công ty thương mi.Thm chí ch trong khong thi gian không lâu mà tôi s dng Linux (khong5 năm) đã có nhiu bn phân phi Vit Nam cũng như nưc ngoài đã chào tmbit th gii Linux vì nhóm h tr ca chúng không thu đưc nhiu li nhun vàsau đó mt thi gian ngng h tr tác phm ca mình.

Đi vi ngưi dùng Linux Vit Nam hin thi có hai la chn: th nht, sdng các sn phm Linux ting Vit do mt s ngưi t nguyn duy trì; th hai,s dng các sn phm Linux ln có h tr ting Vit. Chúng ta s nói đn hais la chn này mt cách k càng hơn. La chn th nht, theo ý kin ca tôikhông đưc ưu tiên đây. Lý do chính là chưa đt đưc tiêu chun th hai nêu

trên. Hin thi có mt bn phân phi như vy: vnlinux-CD (cùng vi mt vài binth) do anh Larry Nguyn, mt Vit kiu M duy trì. La chn th hai đó là sdng các bn phân phi h tr ting Vit tt như Debian, Ubuntu và Mandriva,openSuSE cũng đang dn dn h tr ting Vit (http://vi.opensuse.org).La chn th hai này đưc ưu tiên vì:

• chúng có h tr ting Vit và càng ngày càng hoàn thin

• chúng có trình cài đt tt, h tr nhiu phn cng khác nhau

• có th cài đt thêm các phn mm khác mt cách d dàng phn ln chương

trình đã đưc biên dch sn cho mi yêu cu ca ngưi dùng• nhng bn phân phi này đưc mt nhóm các nhà phát trin duy trì, cp

nht thưng xuyên thông thưng là theo mt lch đnh sn. Ngoài ra cònđm bo là bn s nhn đưc phiên bn mi ca nó trong tương lai. Khôngs trưng hp “đem con b ch”.

Đ kt thúc câu chuyn v la chn bn phân phi Linux cn nói thêm là gnđây bác Nguyn Đi Quý (http://vnoss.org) đã cho ra đi mt bn phân phimi hưng v ngưi dùng Vit Nam – FCxVnOSS. Bn phân phi này da trênnn tng ca FC cng thêm giao din ting Vit và mt s ng dng “mang tính Vit Nam” như chương trình gõ ting Vit, t đin ting Vit,...

Cn nói vài li v đánh s phiên bn. Cn phân bit s phiên bn ca bnphân phi và s phiên bn ca nhân. Khi nói đn phiên bn ca Linux thưngcó ý là phiên bn nhân (vì mt h điu hành là Linux ch khi nó s dng nhânLinux). Vì Linus Torvalds tip tc điu hành vic phát trin nhân, nên phiênbn ca nhân tăng lên theo th t, ch không phân nhánh và nhân lên gingnhư trưng hp bn phân phi.

Phiên bn nhân Linux thưng đưc ký hiu bng ba s9, phân cách nhau bidu chm. Ví d, bn phân phi openSuSE Linux 10.1 đưc da trên nhân phiênbn 2.6.16.13, tc là Linux phiên bn 2.6.16.13. Phiên bn nhân vi s th hai

9Điu này ch đúng vi các phiên bn nhân trưc 2.6. T 2.6 tr đi Linus và các nhà phát trinkhác th nghim dùng bn s.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 22/212

12 HĐH Linux: lch s và các bn phân phi

l (ví d, 2.5.0) thưng không đưc s dng đ to các bn phân phi, vì đó làphiên bn th nghim (ch dành cho phát trin). Chúng đưc dành cho nhngngưi tình nguyn có mong mun th nghim đ tìm ra các li. Tt nhiên phiênbn như vy có th làm vic, nhưng không bn vng. Phiên bn vi s th hai

chn (ví d 2.6.16.13) đưc coi là làm vic n đnh. Tt nhiên là bn có th càiđt bt kỳ phiên bn nào, nhưng đi vi ngưi dùng mi thì nên chn phiên bnnhân vi s th hai trong phiên bn là chn. Nu cài đt mt bn phân phi đyđ thì đương nhiên la chn nhân đã đưc các nhà phát trin làm giùm bn đc,nhưng cn bit cách đánh s phiên bn nu khi nào đó bn mun cp nht nhânLinux ca mình.

1.3 Yêu cu đi vi máy tính

Tôi đã đc đâu đó nói rng có nhng phiên bn Linux đc bit, làm vic thmchí trên b x lý 8086 vi 512Kbyte b nh, còn phiên bn đc bit có th chy tmt hoc hai đĩa mm không cn đĩa cng thì tôi đã gp.

 Vì th nu bn có mt cái máy tính cũ, trên đó không th chy ni Windows,thì có th s dng nó đ hc Linux và rt có th s ngc nhiên v kh năng caHĐH này. Nhưng trong cun sách này chúng ta s không xem xét nhng trưnghp đc bit như vy. Vì HĐH Linux s dng ch đ bo v ca b vi x lý, nênđ cài đt HĐH này cn ít nht là mt máy tính có b x lý 386. Theo các ngunthông tin khác nhau thì tt c các bin th đu dùng tt: SX, DX v.v. . . Xin đnglo lng, nhng máy tính sn xut gn đây đáp ng đưc toàn b nhng yêu cuđã đưa ra và s đưa ra dưi đây. Yêu cu đi vi phn cng ca h thng muncài đt Linux còn đưc xác đnh bi la chn phn mm ca ngưi dùng (và tclà s ph thuc vào phiên bn ca các phn mm và ít nhiu vào bn phân phi).Bng 1.1 dưi đây s đưa ra mt vài con s ch vi mc đích giúp bn đc làmquen, nhng con s này là không chính xác nhưng không khác bit nhiu giacác bn Linux khác nhau.

Bng 1.1: Yêu cu đi vi phn cngMong mun ca ngưi dùng Yêu cu, MB

B nh Đĩa cng Yêu cu nh nht: ch làm vic trong giao din vănbn vi dòng lnh ca shell, có đ mt s ng dngngưi dùng như vim, emacs,. . .

8 200

Dùng đưc giao din đ ho X Window cùng vi mts trình qun lý ca s nh nh như icewm, fluxbox,windowmaker.

32 400

Dùng môi trưng làm vic đ ho KDE. 128 1000Chy các ng dng cn nhiu b nh (như GIMP,các ng dng nm trong KOffice, OpenOffice.org).

256 1500

Như vy Linux có mt ưu đim ln đó là kh năng làm vic thm chí trênnhng máy rt cũ, mà trưc đây ch có th dùng MS DOS (tt nhiên là trongtrưng hp này chúng ta ch thu đưc ch đ dòng lnh, nhưng điu này không

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 23/212

1.4 Ly Linux đâu? 13

ngăn cn vic dùng các máy tính cũ làm vic có li ví d làm router10). Đ btđu hc Linux thì ch cn có mt máy tính vi b x lý 486, 16MB b nh và cng khong 300MB. Tt nhiên đi vi dung lưng b nh cũng như cu hìnhmáy nói chung thì máy càng mnh, càng nhiu b nh, cng càng rng thì càng

tt. Không có gì là tha thãi.Đ kt thúc xin đưa ra đây trưng hp cu hình máy ca tôi: b x lý 686,b nh 256Mb (+256Mb swap), 10GB cng dành cho cài đt Linux, phn cònli dành cho d liu. Tôi hin s dng openSuSE Linux 10.1 vi môi trưng làmvic KDE. Có th làm vic đng thi nhiu ng dng yêu cu: OpenOffice.org,KBabel, Kile (dùng đ vit nhng dòng này), StarDict (chương trình t đin),Konqueror, GIMP. Nu máy tính ca bn có th làm vic vi các h điu hànhWindows 2000 và Windows XP thì vic chy Linux trên nó s không có gì khókhăn.

1.4 Ly Linux đâu? Và trong phn cui ca chương th nht chúng ta s tr li ngn gn cho câu hi“Ly Linux đâu?”.

Như đã nói trên, Linux cùng vi mt s lưng khng l các chương trìnhng dng đưc phân phi gn như min phí. Có nghĩa là ngưi dùng không có ýđnh thay đi chương trình hoc mua bán nhng chương trình này, thì có toànquyn sao chép toàn b bn phân phi Linux hoc mt phn bt kỳ ca nó ch ngưi quen, hoc ti xung t Internet hoc mua đĩa CD (DVD) Linux chnhng ngưi bán hàng đâu đó trên hè ph mà không s b truy cu vì vi phmbn quyn (các chương trình có bn quyn thương mi thưng dùng t “s đngý” gia ngưi dùng và nhà phân phi) ca các nhà (công ty) phát trin.

Trong s ba phương án k trên thì đi vi ngưi dùng Linux Vit Nam phươngán mua CD, DVD là tt nht. Cn nói thêm là nhng đĩa ghi va hè thưng có livà có th gây mt d liu hoc làm hng phn cng. Tt hơn ht là nên mua đĩaca mt công ty máy tính hoc qua mt ca hàng trên mng. Khi đó còn có khnăng la chn và có bo đm là s đi đưc đĩa xu. Tt nhiên là chênh lnh giáthành đĩa phi không quá cao, giá thành bán Linux bao nhiêu đó là quyn cangưi bán (ngoài ra giá thành cao còn có các bn phân phi chuyên nghip như Xandros, Novell Desktop,...).

Hin gi trên mng Vit Nam đã xut hin mt vài ca hàng bán đĩa Linux.Đa ch c th xin không đưa ra đây vì qung cáo trong th gii hin đi đãkhông còn là min phí. Và vic giu đa ch không làm nh hưng đn nhng aicó mong mun mua Linux đ nghiên cu.

Cn nói riêng v h thng phát đĩa vi bn phân phi Ubuntu mt cách minphí. Ch cn vào đa ch http://shipit.ubuntu.com đăng ký s lưng đĩa bncn, tt nhiên có kèm theo đa ch bưu đin, sau mt thi gian khong 1 tháng –1 tháng rưi bn s nhn đưc chúng. Theo tôi nghĩ đây là cách tt nht nu bnkhông có điu kin đ mua đĩa.

10máy giúp chuyn hưng các gói mng

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 24/212

Chương 2

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

“Software is like sex, it’s good when it’s free” — Linus Torvalds.

Thông thưng trên các đĩa ca bn phân phi Linux đã có hưng dn ngn gn cách cài đt Linux.Ngoài ra, trên Internet bn có th tìm thy rt nhiu cun sách nó v vn đ này. Và tt c các bn phân phi ln (Debian, Slackware, Fedora, Mandrake, ...) đu đã có cun hưng dn cài đt rt chi tit, cho mi tình hung s dng. Hãy ch đi và hy vng trong tương lai không xa s có bn dch Ting Vit ca nhng cun sách này. Chính vì vy trong cun sách này, tác gi s không đưa ra các bưc c th ca vic cài đt, mà xin bn đc hãy tìm các cun hưng dn tương ng. Thay vào đó là nhng gì bn cn bit và chun b trưc khi cài đt, đng thi, tác gi s đi c th và chi tit vào nhng gì đc bit khi cài đt Linux trên máy tính đã có mt trong các h điu hành (HĐH) Windows cũng như vic khi đng nhiu h điu hành.

 Vn đ ch, phn ln ngưi dùng Vit Nam trưc khi bt đu hc Linux đã

làm quen và rt có th đã có kinh nghim s dng các HĐH dòng Windows nhưWindows 98, Windows 2000 và Windows XP. Và trên thc t thì tm thi Linuxkhó có th là HĐH đu tiên mà ngưi dùng làm quen. Như th, mt cách tnhiên, nu ngưi dùng đã làm vic vi HĐH Windows và quyt đnh th nghimvi Linux, thì h không mun mt đi môi trưng làm vic quen thuc ca mình,cùng vi nhng gì đã to ra và đã cu hình dưi dưi Windows. Rt may là khôngnht thit phi đánh mt tt c nhng th đó. Bi vì trên mt máy tính có thcùng “chung sng hòa bình” hai HĐH và thm chí nhiu hơn na (nu có đ chtrên đĩa!). Chính vì th, phía dưi s nói cách cài đt HĐH Linux trên máy tínhđã cài đt mt trong các h điu hành ca hãng Microsoft.

2.1 Chun b cài đt

Có th cài đt Linux bng mt trong các cách sau:

• T đĩa CD-ROM

• T bn sao chép Linux trên đĩa cng

• T máy ch tp tin ca mng ni b qua NFS;

T máy tính khác trong mng ni b qua SMB;• T máy tính xa (ví d t Internet) qua giao thc FTP;

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 25/212

2.1 Chun b cài đt 15

• T mt máy ch WWW qua giao thc HTTP.

Theo ý kin cá nhân ca tác gi thì thun tin và có tính thc t nht là càiđt Linux t CD-ROM, hơn na vic mua các đĩa CD bây gi không gây khó khăn

gì. Trưc khi bt đu cài đt, hãy thu thp (hãy vit lên mt t giy) tt c nhngthông tin cu hình cn thit ca máy tính. Nu như máy tính ca bn tm thivn còn làm vic dưi HĐH Windows 95/98/2000/XP, thì bn s tìm thy rtnhiu thông tin nu nhn chut phi vào biu tưng My Computer, chn lnhProperties. đây bn có th tìm thy gn ht tt c thông tin cn thit. Nunhư bn không thy thông tin nào đó, thì cn tìm kim theo các cách khác, k cvic m v máy và đc nhng dòng ch trên thit b.

Đ giúp bn đc, xin đưc đưa ra đây danh sách nhng thông tin cn thuthp. Xin đng lưi bing và hãy c gng ghi càng nhiu d liu v mt thit b

càng tt (tt c nhng thông tin có th tìm thy), nhng d liu này s cn đnkhi cài đt và cu hình, khi mà vic tìm kim chúng s khó khăn hơn.

• BIOS:

– nhà sn xut;– s hiu phiên bn.

• Controller đĩa cng: loi (IDE hay SCSI) và dung lưng ca đĩa (nunhư bn đc dùng đĩa IDE, thì cn kim tra xem BIOS có h tr vic truycp ch đ LBA hay không):

– hda (Master trên controller s 1 hay Primary Master);– hdb (Slave trên controller s 1 hay Primary Slave);– hdc (Master trên controller s 2 hay Secondary Master);– hdd (Slave trên controller s 2 hay Secondary Slave).– nhà sn xut và s mu mã ca adapter SCSI (nu có).

• Dung lưng ca b nh (tính bng Kilobyte

• CD-ROM:

– Giao din (IDE, SCSI, hay giao din khác);– đi vi các đĩa CD-ROM không phi IDE, cũng như SCSI - nhà sn

xut và s mu mã.

• Chut:

– loi chut (serial, PS/2, hay bus mouse);– giao thc (Microsoft, Logitech, MouseMan, v.v. . . );– s nút;

– đi vi chut cm vào cng ni tip thì cn s th t ca cng đó.• Cc màn hình

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 26/212

16 Cài đt h điu hành Linux

– nhà sn xut;– s mu mã (hay chipset s dng)– dung lưng b nh;

• Màn hình

– nhà sn xut– s mu mã;– các giá tr gii hn (min, max) ca tn s làm mi theo chiu dc và

theo chiu ngang (nhng giá tr này bn đc ch có th tìm thy trongtài liu đi kèm vi màn hình, Windows không hin th nhng giá trnày, và chúng rt quan trng trong khi cu hình giao din đ ha).

• Nu như bn đc mun kt ni mng (mà UNIX nói chung là HĐH dành

cho mng), thì hãy ghi li nhng d liu sau:– nhà sn xut và s mu mã cc mng;– đa ch IP ca mình;– tên ca máy tính trong mng;– mt n mng con (subnet mask);– đa ch IP ca gateway;– đa ch IP ca các máy ch tên min (DNS server);– đa ch IP ca máy ch WINS(Windows Internet Name Service);– tên min ca công ty bn đc.

• Loi và nhà sn xut cc âm thanh và game controller (nu như có)

2.2 Phòng xa và nhng li khuyên

Trưc khi cài đt HĐH Linux sau Windows, rt nên thc hin vài thao tác “phòngxa” (“phòng cháy hơn cha cháy” ). Vì rt có th bn đc s phi phân vùng li đĩa, thay đi bn ghi khi đng (Boot Record) và làm vic vi các tp tin khi

đng cũng như các tp tin cu hình. Các thao tác này không phi lúc nào cũngđem li đem li mt kt qu theo ý mun, và trong trưng hp xu có th máytính ca bn đc s không khi đng na. Có bit cách thoát ra khi tình hungnày và phc hi d liu cn thit không đó còn là mt câu hi. Nhưng rơi vàotình hung như vy ht sc d dàng nht là vi ngưi dùng ln đu tiên cài đtLinux. Chính vì vy, đu tiên, cn to mt đĩa mm khi đng hay mt đĩa mmgiúp phc hi h thng (nu bn đc còn chưa to). Th hai, cn ghi li nhngd liu có giá tr (backup). Và th ba, chun b các tp tin (đĩa mm, CD) cài đtcho h thng cũ. Mt li khuyên quan trng khác: nu có gì đó xy ra không theoý mun thì không nên hoang mang. Xin chia s mt kinh nghim bun: khi ln

đu tiên tác gi cài Linux trên máy tính đã có Windows NT, và kt qu là máytính không th khi đng đưc. Không hiu ht vn đ tác gi nghĩ là không còncách gì khác ngoài đnh dng li đĩa và cài đt li t đu. Bây gi thì tác gi đã

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 27/212

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

hiu là có th phc hi li nu như không quyt đnh quá vi vàng. Vì vy có thnói rng Werner Almesberger đúng, khi trong hưng dn s dng LILO có đưara nhng li khuyên sau cho ngưi dùng khi rơi vào trưng hp khó khăn nhưvy:

• Không hong ht. Nu như có gì đó không làm vic, hãy th mi cách đtìm ra nguyên nhân, kim tra li nhiu ln thao tác ca mình. Ch sau khiđó mi thc hin các bưc sa li.

• Hãy đc tài liu. Đc bit trong các trưng hp, khi h thng làm nhng gìbn đc không mong đi.

 Xin thêm mt li khuyên ph bin sau: * Hãy xem các tp tin log, tc là cáctp tin ghi li s kin ca h thng (cn tìm chúng trong thư mc /var/log).

Như đã nói trên, quá trình cài đt HĐH Linux nói riêng không phi là đ tàica cun sách. Ngưi dùng cn tìm các cun hưng dn tương ng. Tuy nhiên,tác gi cũng mun đưa ra vài li khuyên đ giúp ngưi dùng đưa ra quyt đnhtrong khi cài đt.

Th nht, đng vi vàng và hãy chú ý đc nhng thông báo s hin th trênmàn hình, và hãy suy nghĩ k khi chn câu tr li. Đ minh chng cho li khuyênnày xin đưc k li trưng hp khi tác gi cài Red Hat 7.1, và t đng nhn lênnút Next, vì cho rng phương án theo mc đnh là đ. Kt qu là tác gi khôngth truy cp đưc đn máy này qua các giao thc mng (telnet, ftp, NFS, Samba),mc dù đã cu hình giao din mng cho máy. Nguyên nhân là trong phương ántheo mc đnh thì tưng la đưc cài đt, và tưng la đóng ht các truy cp tmng. Đ m truy cp này, thì trong quá trình cài đt cn ch rõ các dch v đưcm. Nhưng chúng ta quá vi vàng! Th hai, tác gi khuyên không nên đng ý vivic t đng khi đng vào giao din đ ha. Vì cui cùng ngưi dùng không khókhăn gì khi gõ câu lnh startx, còn vic cu hình giao din đ ha (nu có gì đólàm vic không đúng) vi ngưi dùng mi rt khó thành công.

Sau khi làm xong các công vic phòng xa, cn quyt đnh s t chc khi đngnhiu HĐH như th nào, chun b các đĩa (phân vùng) đ cài đt, tc là cnchia đĩa thành s phân vùng cn thit. Nhưng trưc khi chuyn sang các bưcc th đ chun b đĩa, xin đưc nói qua mt chút v cu trúc ca đĩa và quátrình khi đng HĐH. Nu ai đó không đ kiên nhn đ đc phn lý thuyt này,

thì có th b qua chúng và chuyn thng đn vn đ chn chương trình khiđng.

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

2.3.1 Th nào là cu trúc “hình hc ca đĩa”

Như bn đc bit, đĩa cng gm vài đĩa có ph lp t tính, nm trên cùng mttrc và quay vi vn tc ln. Đc/Ghi d liu đưc thc hin bi các đu đc nm

gia các đĩa này, di chuyn t tâm đĩa ra rìa ngoài ca đĩa. Vòng tròn đu đc vra trên các đĩa khi quay quanh chúng gi là rãnh (track), còn tp hp các rãnhnm chng lên nhau gi là cylinder. Mi rãnh li chia thành các sector, và có

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 28/212

18 Cài đt h điu hành Linux

th ghi vào mi sector 512 byte thông tin. Vì th đc đim ca mt đĩa thưnglà tp hp ba sô: s cylinder/s rãnh trong cylinder/s sector trên rãnh hay cònvit tt là C/H/S (ba ch cái đu tiên ca các thut ng Ting Anh tương ng:Cyliner/Head/Sector). Ba s này gi là cu trúc “hình hc ca đĩa” . Đĩa vi cu

trúc hình hc C/H/S có dung lưng C*H*S*512 byte.Đĩa cng là các thit b khi, t là đc và ghi thông tin theo các khi, và kíchthưc nh nht ca khi bng mt sector (512 byte). Đ có th ghi thông tin lênđĩa, cn đt đu đĩa đúng v trí, tc là ch cho controller bit cn ghi thông tinnày vào sector nào. Sector đưc đánh đa ch theo s th t cylinder, s th tđu đc (hay rãnh) và s th t sector trên rãnh.

2.3.2 Phân vùng và bng phân vùng ca đĩa

Trong các h thng Intel đĩa thưng đưc chia thành các phân vùng. Rt có th

nguyên nhân ca vic phân vùng là nguyên nhân lch s: các phiên bn MS-DOSđu tiên không th s dng đưc các đĩa ln, mà dung lưng đĩa li phát trinnhanh hơn kh năng ca DOS. Khi đó đã nghĩ ra vic chia đĩa thành các phânvùng. Đ làm đưc điu này, trong sector s 0 ca đĩa (sector s 0 ca rãnh đutiên trong cylinder s 0) ghi nh bng chia đĩa thành các phân vùng (partitiontable). Mi phân vùng đưc dùng như mt đĩa vt lý riêng r. Mt trưng hp nóiriêng đó là trong các phân vùng khác nhau có th cài đt các h điu hành khácnhau.

Bng phân vùng cha 4 bn ghi 16 byte cho 4 phân vùng chính. Mi bn ghicó cu trúc như sau:

struct partition {char active; /* 0x80: phân vùng kích hot, 0: không kích hot */char begin[3]; /* CHS sector đu tiên, 24 bitchar type; /* loi phân vùng (ví d, 83 -- LINUX_NATIVE) */char end[3]; /* CHS sector cui cùng, 24 bit */int start; /* s ca sector đu tiên (32-bit, tính t 0) */int length; /* s sector có trong phân vùng (32 bit) */

};

Bng phân vùng đĩa thưng đưc to bi chương trình fdisk. Trên HĐHLinux ngoài chương trình fdisk “truyn thng” (tuy vy rt khác so vi chương

trình fdisk trong MS-DOS và Windows), còn có hai chương trình đ làm vic viphân vùng đĩa: cfdisk và sfdisk. Chương trình cfdisk, ging như fdisk chdành đ làm vic vi bng phân vùng đĩa: nó không quan tâm chú ý đn thôngtin có trên đĩa. Ch khác bit vi fdisk giao din thun tin: ch dn s dnglnh và h thng trình đơn (thc đơn). Chương trình sfdisk có vài kh năng caohơn, ví d, cho phép thao tác trên các phân vùng đã có ca đĩa.

DOS s dng trưng begin và end ca bng phân vùng và Interrupt 13 caBIOS (Int 13h) đ truy cp ti đĩa, vì th không th s dng đĩa có dung lưngln hơn 8,4 Gbyte, ngay c vi các BIOS mi (v vn đ này s nói đn sau),còn phân vùng thì không th ln hơn 2,1 Gbyte (nhưng đây là do hn ch ca h

thng tp tin FAT16).Linux thì ch s dng trưng start và length ca bng phân vùng đĩa và htr các phân vùng cha đn 232 sector, tc là dung lưng có th đt 2 Tbyte

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 29/212

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

 Vì trong bng chia đĩa ch có 4 dòng cho các phân vùng, s phân vùng chínhtrên đĩa ngay t đu dã hn ch: không th ln hơn 4. Khi mà 4 phân vùng trthành ít, thì ngưi ta sáng ch ra phân vùng lôgíc. Mt trong s các phân vùngchính tr thành m rng (loi phân vùng - 5 hay F hay 85 trong h cơ s mưi

sáu). Và trong phân vùng m rng ngưi ta to ra các phân vùng lôgíc. Phânvùng m rng không đưc s dng trc tip mà ch dùng đ ghi các phân vùnglôgíc. Sector đu tiên ca phân vùng m rng ghi nh bng phân vùng vi bnđu vào: mt dùng cho phân vùng lôgíc, mt cho phân vùng m rng khác, cònhai cái còn li không đưc s dng. Mi phân vùng m rng có mt bng chiaca mình, trong bng này, cũng ging như trong phân vùng m rng chính, chs dng có hai dòng đ đưa ra mt phân vùng lôgíc và mt phân vùng m rng.Như vy, thu đưc mt chui các mt xích t bng phân vùng, mt xích đu tiênmô t ba phân vùng chính, và mi mt xích tip theo – mt phân vùng lôgíc vàv trí ca bng tip theo.

Chương trình sfdisk trên Linux cho thy toàn b chui này:[root]# sfdisk -l -x /dev/hda

Disk /dev/hda: 784 cylinders, 255 heads, 63 sectors/trackUnits = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

Device Boot Start End #cyls #blocks Id System/dev/hda1 * 0+ 189 190- 1526143+ 6 FAT16/dev/hda2 190 783 594 4771305 5 Extended/dev/hda3 0 — 0 0 0 Empty/dev/hda4 0 — 0 0 0 Empty

/dev/hda5 190+ 380 191- 1534176 6 FAT16— 381 783 403 3237097+ 5 Extended— 190 189 0 0 0 Empty— 190 189 0 0 0 Empty

/dev/hda6 381+ 783 403- 3237066 7 HPFS/NTFS— 381 380 0 0 0 Empty— 381 380 0 0 0 Empty— 381 380 0 0 0 Empty

S phân vùng lôgíc theo nguyên tc không hn ch, vì mi phân vùng lôgíc

có th cha bng phân vùng và các phân vùng lôgíc ca mình. Tuy nhiên trênthc th vn có nhng hn ch. Ví d, Linux không th làm vic vi hơn 15 phânvùng trên các đĩa SCSI và hơn 63 phân vùng trên đĩa IDE.

Phân vùng m rng trên mt đĩa vt lý, hay trong mt phân vùng m rngcha nó (có th gi là “m”) ch có th làm mt: không mt chương trình phânchia đĩa nào trong s đã có (fdisk và tương t) có th to thêm mt phân vùngm rng th hai.

đĩa trên Linux nói riêng ( đĩa vt lý) đưc truy cp qua tên ca thitb: /dev/hda, /dev/hdb, /dev/sda, v.v. . . Các phân vùng chính có thêm s 1-4 trong tên thit 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 ...(bt đu t s 5). Tnhng gì đ cp đn trên có th suy ra ti sao li có th b qua các tên như/dev/hda3 hay /dev/hda4 (đơn gin là phân vùng chính th ba và th tư

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 30/212

20 Cài đt h điu hành Linux

không đưc to ra) và ngay sau /dev/hda2 bn đc thy /dev/hda5 (phân vùnglôgíc trong phân vùng m rng /dev/hda2), và sau đó thì vic đánh s li theoth t thông thưng.

Trong Windows các phân vùng lôgíc nhn đưc tên (ch cái), bt đu t ch

cái cui dùng dành cho phân vùng chính. Ví d nu mt đĩa cng có hai phânvùng chính (C: và D:) và mt phân vùng m rng, trong phân vùng m rng tora hai phân vùng lôgíc, thì nhng 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 ca các phânvùng đĩa.

2.3.3 Quá trình khi đng các HĐH ca công ty Microsoft

Dù h điu hành có là gì, thì đ có th bt đu điu khin máy tính, cn npHĐH vào b nh. Vì th hãy xem xét qua quá trình khi đng ca các HĐH khác

nhau. Chúng ta ch quan tâm đn vic khi đng t đĩa cng, nên s khôngxem xét đn vic khi đng t đĩa mm, CD-ROM và qua mng. Hãy bt đu tMS-DOS và MS Windows cũ (xin đng quên rng, vic phát trin và hoàn thinmáy tính cá nhân song song vi s phát trin ca HĐH ca Microsoft và nhngquyt đnh s dng trong các HĐH này có nh hưng mnh đn quyt đnh cacác nhà phát trin thit b).

Như bn đc bit, khi bt máy tính đu tiên s chy chương trình POST(Power On Self Test). Chương trình xác đnh dung lưng b nh, th nghim bnh, và xác đnh các thành phn khác (bàn phím, cng...), khi đng các thadaptor. Trên màn hình thưng xut hin các thông báo v dung lưng b nh,

v vic th nghim b nh, danh sách các thit b nhn ra ( đĩa cng và mm,b x lý, cng COM và v.v. . . ).Sau khi hoàn thành vic th nghim POST gi Int 19h. Công vic ca Int

19h là tìm thit b khi đng. Vic tìm kim thc hin theo th t xác đnh trongSetup BIOS và theo cách thăm dò sector s 0 ca các thit b tương ng. Nuđĩa có th khi đng, thì trong sector s 0 ca đĩa có bn ghi khi đng chính –Master Boot Record (MBR). Hai byte cui cùng ca MBR – “s màu nhim” , làdu hiu cho bit sector có MBR, và theo đó đĩa có th khi đng. Ngoài “s màunhim” MBR còn cha bng phân vùng đĩa đã nói trên, và mt chương trìnhnh – trình khi đng chính, kích thưc ch có 446 (0x1BE) byte.

Bng 2.1 cho thy cu trúc ca sector khi đng chính sau khi cài đt Win-dows.

Bng 2.1: Cu trúc ca sector khi đng chính

Dch chuyn Ni dung0x000 Mã ca trình khi đng chính0x1BE Bng phân vùng đĩa0x1FE “S màu nhim” (0xAA55)

MS-DOS, Windows95 và NT ghi nh DOS MBR trong khi cài đt. Ngoài ra cũngcó th to MBR ca MS vi câu lnh DOS sau: fdisk /mbr.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 31/212

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

 Xin tr li vi quá trình khi đng. Int 19h ca BIOS np trình khi đngchính vào b nh máy tính và chuyn quyn điu khin cho chương trình này.Nhưng chương trình “bé nh” này không đ kh năng khi đng HĐH; tt cnhng gì mà nó có th làm – đó là np vào b nh chương trình mnh hơn –

trình khi đng th hai. Đ làm đưc điu này, nó tìm trong bng phân vùngkích hot và đc vào b nh trình khi đng th hai, bt đu t sector lôgíc đutiên ca phân vùng kích hot. Hãy chú ý đn cm t “bt đu t”. Vì trình khiđng th hai trên các h thng khác nhau có đ dài khác nhau. Trong phân vùngđưc đnh dng dưi h thng tp tin FAT, trình khi đng th hai chim mtsector (512 byte). Trong phân vùng đnh dng dưi h thng tp tin NTFS, trìnhkhi đng th hai chim vài sector.

Trình khi đng th hai np lp chương trình đu tiên, cn thit cho vic khiđng h điu hành. Trong trưng hp MS DOS chương trình khi đng đng npIO.SYS theo đa ch 700h, sau đó MSDOS.SYS và chuyn quyn điu khin cho

SYSINIT ca môđun IO.SYS.Nu vì lý do nào đó không tìm thy trên đĩa phân vùng kích hot, thì quátrình khi đng s tip tc vi vic x lý Int 18h. Trưng hp này trên thc trt him khi s dng, nhưng kh năng này có th có ích trong trưng hp nàođó. Trong khi khi đng t xa, khi h điu hành khi đng t máy ch, thì Intnày đưc POST chuyn hưng lên ROM ca cc mng.

Đi vi các HĐH khác ca Microsoft thì quá trình khi đng din ra tương t.

• Windows95 khi đng ging như DOS nhưng thay th IO.SYS và MS-DOS.SYS bi các tp tin ca mình. Các tp tin DOS đưc gi li dưi cáctên tương ng IO.DOS và MSDOS.DOS. Khi bn đc chn khi đng DOS,Windows95 s đi tên các tp tin ca mình vi phn m rng w40 và phchi tên ban đu ca các tp tin h thng ca DOS. Quá trình khi đng tiptc vi vic np IO.SYS. Như th, sector khi đng ca DOS và Windows95là như nhau.

• Windows NT4 s dng MBR DOS, nhưng thay th bn ghi khi đng caphân vùng kích hot bng cách thay th NTLDR vào ch IO.SYS. Đây làmt chương trình mng và có th làm đưc nhiu th. Ví d, có th tìmtp tin boot.ini và nu như tham s timeout ln hơn 0, thì đưa ra trình đơn(thc đơn) khi đng.

Mi dòng ca phn [operating systems] trong tp tin boot.ini xác đnhmt phương án (mt HĐH) khi đng và đưc vit theo mu sau:

đa_ch_trình_khi_đng_th_hai=‘‘tên_gi_ca_phương_án’’Đa ch ca trình khi đng th hai có th là mt phân vùng c th nào đó

ca đĩa cũng như tp tin khi đng. Dưi đây là mt ví d tp 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"

Nu ngưi dùng chn NT, thì s khi đng theo đa ch phân vùng đưc chtrên dòng đu tiên. Trên dòng tương ng vi phương án Microsoft Windows, ch

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 32/212

22 Cài đt h điu hành Linux

đưa ra “C:\”, vì tên ca tp tin khi đng đưc ly theo mc đnh: bootsect.dos.Tp tin đưc np vào b nh và quá trình khi đng đưc tip tc ging như khibn ghi khi đng đưc np bi mã chương trình t MBR.

Đi vi vic khi đng các h thng khác, có th s dng cách đó. Ch cn

thêm vào boot.ini các dòng cha liên kt đn tp tin khi đng khác. Khi chncác dòng này s khi đng HĐH tương ng. Trong ví d trên Linux cũng đưckhi đng theo các này. Trong tp tin C:\BOOTSECT.LNX cn ghi ni dung cabn ghi khi đng, to bi Linux (nói đúng hơn – LILO, trình khi đng tiêuchun ca Linux).

2.3.4 Vn đ vi các đĩa ln

Trên MS-DOS và các phiên bn đu tiên ca Windows truy cp ti đĩa (trong đócó c bưc khi đng đu tiên ca HĐH) đưc t chc qua Int 13 (Int 13h) ca

BIOS. Khi này s dng s đánh đa ch sector trên đĩa trên cơ s C/H/S (xemtrên). Chính xác hơn:

• AH — chn thao tác;

• CH — 8 bit nh hơn ca s cylinder;

• CL — 7-6 bit tương ng bit ln ca s cylinder, 5-0 tương ng s sector;

• DH — s ca đu đc;

• DL — s ca đĩa(80h hay 81h).

(Cn lưu ý rng vic đánh s cylinder vt lý và rãnh thưng bt đu t 0,còn sector trên rãnh đánh s bt đu t 1). Tuy nhiên trên thc t s đu đckhô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 vn không th làm vic vi đĩa dung lưng ln hơn1024*63*16*512 = 528 Mbyte.

Đ vưt qua hn ch này, ngưi ta áp dng nhiu cách “láu cá” khác nhau. Víd, Extended CHS (ECHS) hay “Large disk support” (đôi khi còn gi là “Large”)s dng ba bit chưa dùng đn ca s th t đu đc đ tăng s cylinder. Cáchnày cho pehsp s dng cu trúc “hình hc gi mo ca đĩa” vi 1024 cylinder, 128

đu đc và 63 sector/rãnh. Bin đi Extended CHS thành đa ch CHS thc (cóth cha đn 8192 cylinder) đưc BIOS thc hin. Cách này cho phép làm vicvi đĩ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 trin càng ngày càng tăng mt đ ghi ca đĩ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ãnhkhác nhau (trên các rãnh nm gn rìa ngoài ca đĩa, dài hơn, s sector đưc tănglên). Kt qu là b ba s C/H/S không còn phn ánh đúng cu trúc “hình hc cađĩa”, và các phiên bn BIOS cũ không th h tr truy cp ti toàn b không gianđĩa.

Khi đó ngưi ta nghĩ ra phương pháp khác đ làm vic vi các đĩa lên qua Int13h - đánh đa ch các khi theo đưng thng (“Linear Block Addressing” hayLBA). Không đi sâu vào chi tit, có th nói rng tt c sector trên đĩa đưc đánh

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 33/212

2.4 La chn trình khi đng 23

s mt cách tun t, bt đu t sector đu tiên trên rãnh s 0 ca cylinder s 0.Thay vào ch đa ch CHS mi sector nhn đưc mt đa ch lôgíc – s th t casector trong tng s tt c sector. Vic đánh s sector lôgíc bt đu t 0, trongđó sector s 0 cha bn ghi khi đng chính (MBR). Trong Setup BIOS h tr

bin đi s th t theo đưng thng thành đa ch CHS có dng “H tr LBA”.Như vy, trong các phiên bn BIOS mi thưng có la chn vi ba phương án:“Large”, “LBA”, và “Normal” (phương án cui cùng có nghĩa là không thc hinbin đi đa ch).

Tuy nhiên trong ch đ LBA vic s dng đĩa vt lý vn đưc thc hin quaInt 13h, mà Int 13h vn s dng b 3D (C,H,S). Vì nguyên nhân này xut hinhn ch lên dung lưng ca đĩa: BIOS, và theo đó, MS-DOS và các phiên bnWindows đu tiên không th đánh đa ch các đĩa có dung lưng ln hơn 8,4Gbyte.

Cn chú ý rng hn ch nói trên ch áp dng vi các đĩa có giao din IDE.

Trong các controller ca đĩa SCSI, s ca sector đưc chuyn vào các lnh SCSI,và sau đó t đĩa tìm ra v trí cn thit, vì th hn ch lên dung lưng đĩa khôngxut hin.

Mt ln na mun nhc li rng, tt c nhng hn ch nói trên ch có ý nghĩatrong giai đon khi đng HĐH. Bi vì Linux và các phiên bn Windows mi nhtkhi làm vic vi đĩa đã không còn s dng Int 13 ca BIOS, mà s dng driverriêng ca mình. Nhưng trưc khi có th s dng driver ca mình, h thng phiđưc np. Vì th trong giai đon khi đng đu tiên bt kỳ h thng nào cũngcn s dng BIOS. Điu này hn ch vic đt nhiu h thng ra ngoài vùng 8Gbyte đĩa đu tiên: chúng không th khi đng t đó, mc dù sau khi khi đng

thì có th làm vic vi các đĩa có dung lưng ln hơn nhiu. Đ có th hiu cáchthoát khi nhng hn ch này, chúng ta cn mt chút kin thc v quá trình khiđng ca HĐH Linux.

2.4 La chn trình khi đng

2.4.1 Trình khi đng GRUB

GRUB (GRand Unified Bootloader) – trình khi đng ht sc mnh có kh năngkhi đng rt nhiu HĐH min phí cũng như HĐH thương mi. GRUB đưc

Erich Boleyn vit vào năm 1995 đ khi đng h thng GNU Mach, vì không ths dng nhng trình khi đng khác. Sau đó vào năm 1999 Gordon Matzigkeit và Yoshinori K. Okuji chuyn GRUB thành mt gói chương trình GNU, đưa chươngtrình này thành mt phn mm mã ngun m. Mc dù mi ra đi và s phiên bncòn rt nh1 nhưng đây là s la chn tt đi vi phn ln ngưi dùng máy tínhcá nhân. Nu không có nhu cu đc bit nào đó thì bn nên chn trình khi đngnày. Các bn phân phi Linux ln (Debian, SuSE, Fedora,...) cũng đã chuynsang s dng GRUB làm la chn theo mc đnh.

Mt trong nhng tính năng quan trng ca GRUB là tính mm do. GRUBcó th hiu các h thng tp tin và đnh dng thc thi ca nhân, vì th bn có

th np HĐH theo cách ưa thích. Ngoài ra, nu không mun dùng giao din1hãy so sánh s phiên bn ca GRUB và LILO

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 34/212

24 Cài đt h điu hành Linux

dòng lnh, thì bn có th cài đt và s dng giao din thc đơn và thay đi giaodin thc đơn theo mong mun ca mình. Mt đim mnh khác ca GRUB đó là“grub shell” có th chy khi bt đu khi đng hoc sau khi đã khi đng xongh thng. Bng grub shell bn có th “gi lp” (emulate) trình khi đng này và

cài đt GRUB.Bây gi chúng ta xem xét ngn gn v tên gi thit b dùng trong GRUB, vìcú pháp thit b trong trình khi đng này có khác mt chút so vi nhng gì màbn đã thy trên nhng h thng ca mình. Bn cn hiu cú pháp này đ bitcách ch ra mt đĩa hay phân vùng nào đó. Ví d mt cú pháp là:

(fd0)

Trưc tiên cn nói GRUB yêu cu tt c các tên thit b phi đt trong ngoc ‘(’và ‘)’. Phn fd có nghĩa là đĩa mm. S ‘0’ ch ra s th t ca , đm bt đu t0.

 Ví d 2:(hd0,1)

đây ‘hd’ có nghĩa là cng. S nguyên ‘0’ đu tiên cho bit s th t ca ,tc là cng th nht. S nguyên th hai (‘1’) cho bit s th t ca phân vùng(chúng ta không xem xét các HĐH khác Linux). Xin nhc li mt ln na là cács đm đu bt đu t s không ‘0’. Trong trưng hp này đây là phân vùng thhai ca cng th nht. GRUB s dng mt phân vùng ca đĩa ch không phitoàn b đĩa.

 Ví d 3:

(hd0,4)Đây là phân vùng m rng (“extended partition”) th nht ca đĩa cng th nht.Chú ý rng các phân vùng m rng đưc đm bt đu t ‘4’ không ph thuc vàos phân vùng chính (“primary partition”) thc t có trên đĩa. Cn chú ý thêm làGRUB không phân bit IDE và SCSI. Nó đm s th t bt đu t ‘0’ khôngph thuc vào dng đĩa.

Làm sao đ ch ra mt tp tin? Hãy xem ví d sau đây:

(hd0,0)/vmlinuz

Dòng này ch ra tp tin ‘vmlinuz’ nm trên phân vùng đu tiên ca cng đu

tiên. Ht sc đơn gin! Thông tin trong phn này s giúp bn hiu đưc cu hìnhca GRUB s nói đn sp ti đây.

2.4.2 Trình khi đng LILO

Trình khi đng LILO đưc vit bi Werner Almesberber. LILO có th khiđng nhân Linux t đĩa mm, đĩa cng, và cũng có th khi đng các h điuhành khác: PC/MS-DOS, DR DOS, OS/2, Windows 95/98, Windows NT/2000/XP,386BSD, SCO UNIX, Unixware v.v...LILO cho phép chn đn 16 h điu hànhkhác nhau đ khi đng.

LILO không phi là chương trình đơn l mà là mt b gm nhiu chươngtrình: trình khi đng, các chương trình s dng đ cài đt và cu hình trìnhkhi đng, và các tp tin phc v:

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 35/212

2.4 La chn trình khi đng 25

• chương trình /sbin/lilo, chy dưi Linux, phc v đ ghi tt c thôngtin cn thit trong giai đon khi đng vào các ch tương ng. Cn chychương trình này sau mi ln có thay đi trong nhân hay trong tp tin cuhình LILO;

• các tp tin phc v, cn cho LILO trong thi gian khi đng. Nhng tp tinnày thưng nm trong thư mc /boot. Quan trng nht trong s chúng –đólàbnthântrìnhkhiđng(xemphíadưi)vàtptinmap(/boot/map);trong tp tin này có ch ra v trí ca nhân. Mt tp tin quan trng khác –tp tin cu hình LILO; thưng có tên /etc/lilo.conf;

• trình khi đng – đây là phn LILO đưc np vào b nh đu tiên qua Intca BIOS; trình khi đng np nhân Linux hay sector khi đng ca h điuhành khác. Trình khi đng gm có hai phn. Phn th nht đưc ghi vàosector khi đng và phc v đ np phn th hai, có kích thưc ln hơn rt

nhiu. C hai phn thưng đưc ghi trên đĩa trong tp tin /boot/boot.b.Cn nh rng, đnh dng ca sector khi đng to ra bi LILO khác vi đnh

dng MBR ca DOS. Vì th nu ghi sector khi đng LILO vào MBR, thì các hđiu hành đã cài ca Microsoft s ngng khi đng (nu như không có các binpháp b sung).

Sector khi đng ca LILO có th đưc thit k đ s dng như sector khiđng ca phân vùng, trong đó có ch cho bng phân vùng. Sector khi đng caLILO trong khi cài đt có th đt vào nhng ch sau:

• sector khi đng ca đĩa mm trong đnh dng Linux (/dev/fd0, . . . );

• MBR ca đĩa cng đu tiên (/dev/hda, /dev/sda, . . . );

• sector khi đng ca phân vùng chính vi h thng tp tin Linux trên đĩacng đu tiên (/dev/hda1, /dev/hda2, . . . );

• sector khi đng ca phân vùng lôgíc trong phân vùng m rng đĩa cngđu tiên (/dev/hda5, ...). S tht là phn ln chương trình dng fdiskkhông đ ra kh năng khi đng khi đng t phân vùng m rng và tchi vic kích hot phân vùng này. Vì vy trong thành phn LILO có chamt chương trình đc bit (activate) cho phép vưt qua hn ch này. Tuy

nhiên chương trình fdisk ca bn phân phi Linux h tr kh năng kíchhot phân vùng m rng. Cn s dng tùy chn -b hoc bin BOOT.

Sector khi đng ca LILO không th đt vào các ch sau:

• sector khi đng ca đĩa mm hay phân vùng chính, vi đnh dng h thngtp tin khác Linux;

• trong phân vùng swap ca Linux;

• trên đĩa cng th hai.

Ngoài ra, cn nh rng, LILO trong thi gian khi đng cn nhng tp tinsau:

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 36/212

26 Cài đt h điu hành Linux

• /boot/boot.b;

• /boot/map (to ra bi lnh /sbin/lilo);

• tt c phiên bn nhân khi đng (nu bn đc chn phiên bn nhân khikhi đng);

• sector khi đng ca các h điu hành khác mà bn đc mun khi đngqua LILO;

• tp tin cha các thông báo đưa ra khi khi đng (nu đưc xác đnh).

Như vy, sector khi đng LILO cũng như nhng tp tin đã lit kê (trong sđó có các tp tin bn đc s cài đt sau này) cn nm trong phm vi 1024 cylinderđu tiên ca đĩa cng, bi vì chúng cn đưc truy cp qua BIOS. Xem phn nóiv hn ch ca BIOS trên.

Bt đu t phiên bn 21, LILO đưa ra màn hình trình đơn (thc đơn) chophép chn h thng đ khi đng (trưc đây cn nhn phím Tab đ gi trình đơnnày).

2.4.3 Các trình khi đng khác

Ngoài GRUB và LILO đ khi đng Linux có th khi đng các trình khi đngkhác.

• Nu như trưc khi cài đt Linux đã có HĐH Windows NT/2000/XP, thì trình

khi đng bn đc có th s dng là OS Loader ca NT. So sánh vi LILOthì trình khi đng OS Loader có ít nht hai ưu th. Th nht, tt c cuhình cũ không b mt (chúng ta có th chn khi đng Windows hay Linuxtheo la chn), và th hai, có th cài đt Linux lên đĩa mà LILO không thkhi đng, ví d, đĩa th hai trên controller th hai (Secondary Slave).

• Nu như trưc khi cài đt Linux bn đc ch có HĐH Windows 95 hayWindows 98 và không có Windows NT/2000 hay XP, thì OS Loader khôngđưc cài đt. Và nu như vì mt lý do nào đó bn đc không mun cài đtLILO, thì có th s đng chương trình khi đng loadlin.exe (thưng đi kèmvi bn phân phi Linux);

• Thi gian gn đây trong thành phn bn phân phi Linux thưng có chươngtrình khi đng GRUB.

• Trong thành phn OS/2 ca công ty IBM có chương trình khi đng BootManager. Trong rt nhiu hưng dn ngưi ta khuyên dùng chương trìnhnày đ ti chc khi đng nhiu HĐH.

• Trong các ngun thông tin khác nhau còn nhc đn chương trình SystemCommander;

Thêm mt trình khi đng khác có trong thành phn gói PartitionMagicca công ty Power Quest. Chúng ta s nói v chương trình này trong phnnh tip theo.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 37/212

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

Ngoài ra, tác gi còn thy nói đn mt lot trình khi đng khác (mt s cóth tìm thy trong thư mc public/ftp/pub/Linux/system/boot/loadersca ftp://metalab.unc.edu/ . Nhưng vì tôi không s dng nhng chương trình này,nên không th nói c th cách s dng chúng. Và tt c nhng li khuyên dùng

sau ca tác gi s da trên vic s dng LILO, NT Loader và loadlin.exe. Nunhư có ý mun cài đt chương trình khi đng khác, thì bn đc cn đc hưngdn cài đt và s dng ca nó.

2.4.4 Các phương án khi đng

Như vy, theo ý kin ca tác gi có các phương án khi đng sau:

• Nu trên máy ch có mt h điu hành Linux duy nht, hãy dùng GRUB.

Nu đã cài đt Windows NT hay Windows 2000/XP, thì hãy s dng GRUB.• Nu có Windows 95 hay Windows 98 trên FAT16, và bn đc không mun

cài đt chương trình khi đng nào khác, thì có th s dng GRUB hocLILO, hoc đu tiên chy DOS và sau đó khi đng Linux nh chươngtrình loadlin.exe (hay mt chương trình tương t, có vài chương trình nhưvy, nhưng chúng ta s không xét đn).

• Nu đã cài đt Windows 95 OSR2 hay Windows 98 trên FAT32, và bnđc không mun cài đt thêm chương trình khi đng, thì cn s dngloadlin.exe. Rt nhiu HOWTO khng đnh rng không cn s đng LILO,

nu như phân vùng kích hot có đnh dng FAT32, mc dù tác gi không rõnguyên nhân. Tuy nhiên thí nghim khi đng Linux qua NT Loader, càiđt trên phân vùng FAT32, ca tác gi đã kt thúc không thành công. Vìth, trong trưng hp này tác gi đã phi s dng chương trình loadlin.exe.Chương trình này đã hoàn thành tt nhim v, và to cho tác gi mt ntưng tt, vì th tác gi khuyên bn đc s dng loadlin.exe đ khi đngLinux.

Trong nhng phn tip theo tác gi s cho bit cách cài đt Linux, s dngtt c bn phương án khi đng: qua trình khi đng NT Loader, trình khi đngGRUB, trình khi đng LILO và trình khi đng loadlin.exe. Tuy nhiên trưckhi cài đt trình khi đng cn chun b các phân vùng trên đĩa, hay ít nht lànghĩ cách t chc chúng.

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

2.5.1 Li khuyên khi to phân vùng

Đưa ra li khuyên đây không phi là vic d dàng, vì phân vùng đĩa phc thucrt nhiu vào ý thích và nhu cu ca 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 chun” ca Linux,tc là /dev/hda, /dev/hdb, v.v...đi vi đĩa và /dev/hda1, /dev/hda2,v.v...– đi vi các phân vùng.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 38/212

28 Cài đt h điu hành Linux

 Vic phân chia đĩa thành các phân vùng là cn thit, bi vì Windows và Linuxs dng 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 tt hơn ht là dành cho mi h điu hành mt (hoc thm chí mtvài như chúng ta s thy dưi) phân vùng riêng.

Đu tiên chúng ta hãy xem xét mt trưng hp đơn gin – dung lưng đĩaca bn đc không vưt quá 8,4 Gbyte (nói chính xác hơn – s cylinder khôngvưt quá 1024). Trong trưng hp này mi th đu đơn gin: bn đc ch vicchia đĩa làm sao đ đ ch cho h điu hành s cài đt. Có th s dng d liucho bit kích thưc đĩa nh nht cn thit đ cài đt h điu hành vi cu hìnhcơ bn trong bng 2.2.

Bng 2.2: Nhu cu s dng không gian đĩa ca HĐH

H điu hành Yêu cu

Windows 95 100 MbyteWindows 98 200 MbyteWindows NT 200 MbyteWindows 2000 700 MbyteLinux Red Hat 6.2 (Work-station vi KDE)

700 Mbyte

Tuy nhiên xin hãy nh rng, không nhng phi tính kích thưc các tp tin cabn thân h điu hành, mà còn phi tính c kích thưc ca các chương trình bn

đc d tính chy. Và còn phi dành mt phn d tr không nh cho các chươngtrình s cài đt sau này (không th tránh khi!). Hãy tính rng, 700 Mbyte dànhcho Linux trong bng nói trên ch dành cho các chương trình cài đt cùng viLinux theo mc đnh, trong s đó có, ví d, chương trình son tho rt mnhLyx. Đi vi Windows cũng tương t như vy.

Theo kinh nghim ca tác gi thì đ làm vic vi Windows 95/98, WindowsNT và Linux các phân vùng vi kích thưc 800-1000 Mbyte là đ (tt nhiên, nubn đc không cài đt các gói chương trình ln, như OpenOffice.Org), còn đi viWindows 200 thì cn phân vùng ln hơn.

Bây gi chúng ta s xem xét vn đ chia các phân vùng cho Linux. đây

không th ch chia mt phân vùng. Th nht, cn chia mt phân vùng swapriêng bit cho Linux. Khi xác đnh dung lưng ca phân vùng swap Linux cntính đn nhng yu t sau:

• Trong Linux, RAM và không gian swap hp li to thành b nh o chung. Ví d, nu bn đc có 256 MByte RAM và 128 Mbyte không gian swap, thìs có 384 Mbyte b nh o.

• Đ làm vic vi Linux cn ít nht 16 Mbyte b nh o, vì th nu bn đcch có 4 Mbyte RAM, thì cn phân vùng swap không nh hơn 12 Mbyte.

Kích thưc ca phân vùng swap có th ln bao nhiêu tùy thích, tuy nhiênkhông cn cu hình quá nhiu nu không cn thit. Thông thưng ch cndùng swap khi máy ít b nh RAM hoc chy máy ch vi nhiu ng dng

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 39/212

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

nng. Trong tt c mi trưng hp tt nht tránh dùng swap vì nó chmhơn RAM nhiu.2

• Khi tính kích thưc ca không gian swapping, cn nh rng kích thưc quá

ln có th là vô ích. Trên máy tính vi 16 Mbyte RAM khi cài đt Linux vicu hình chun và các chương trình ng dng chun thì 48 Mbyte khônggian swapping là đ. Còn nu cài đt Linux vi cu hình nh nht, thìkhông cn đn không gian swap. Tt nhiên, kích thưc chính xác ca khônggian swap ph thuc ln vào chương trình s đưc cài đt.

Nói chung, ch nên suy nghĩ v vn đ dung lưng ca phân vùng swap khicó mt đĩa nh và ít b nh RAM. Trong trưng hp ngưc li hãy phân chia đtng s dung lưng ca b nh o (gm RAM và phân vùng swap) không nh hơn128 Mbyte. Còn nu như bn đc có 128 Mbyte RAM hay nhiu hơn, thì phân

vùng này có th không cn thit.Tt c các phn còn li ca Linux và các chương trình h tr theo nguyên tccó th đt vào mt phân vùng. Tuy nhiên, vic đt h thng tp tin Linux lênvài phân vùng riêng r là có ý nghĩa. Ví d, có nhà chuyên gia khuyên nên dànhcho h thng tp tin Linux ba phân vùng (nu tính c swap thì thành 4). Phânvùng th nht (theo ý kin cá nhân tác gi, 1 Gbyte là đ) s cha h thng tptin gc (/). Phân vùng th hai dành cho thư mc /home. Còn phân vùng thba đưc gn vào thư mc /usr. Vic phân chia như vy da trên nhng lý lsau. Dù HĐH Linux có n đnh và đáng tin cy đn đâu, thì thnh thong cũngcn cài đt li. Ví d, bn đc mun cp nht phiên bn mi ca bn phân phi,

hoc vì ít kinh nghim s dng nên làm hng tp tin h thng quan trng, hocđơn gin là mun cài đt mt bn phân phi khác. Nu như tt c đưc cài đtvào mt phân vùng, thì khi cài đt li nhng d liu đã làm ra và ghi nh trongthư mc cá nhân s b mt (nu không có bn sao chép). Ngoài ra, s b mt cnhng chương trình đã cài t mã ngun, hay cài bng phương pháp khác. Phnln nhng gói chương trình này đưc cài vào thư mc /usr. Nu dành cho thưmc này mt phân vùng riêng và khi cài đt không đnh dng li chúng, thìnhng chương trình nói trên s đưc gi li và có th s làm vic (rt có th cnvài cu hình nh) sau khi cài đt li h thng. Trong tiêu chun v h thng tptin ca Linux FHS (c th xin xem chương ??) cũng có li khuyên v vic đtthư mc /usr lên mt phân vùng riêng.

Theo tác gi thy, nhng ý kin nói trên đã đ đ bn đc t tìm ra phương ánphân chia đĩa ca mình, trong trưng hp ch có mt đĩa nh. Bây gi chúngta xem xét trưng hp đĩa vi s cylinder ln hơn 1024.

T nhng gì đã nói đn phn trưc (hn ch dung lưng đĩa cng), cn đtchương trình khi đng trong phm vi 1024 cylinder đu tiên. Nhân tin, NTLoader không nht thit phi đt vào phân vùng NTFS, cũng như không nhtthit phi đt vào phân vùng cha các tp tin khác ca HĐH. Như đã nói trên,đi vi Linux có th đt thư mc gc cùng vi thư mc con /boot vào các cylinder“thp” (trong vòng 1024 đu tiên), còn các thư mc khác – ch nào tùy thích.

Như vy trong trưng hp này, nhng đ ngh ca tác gi cho ra bng tng

kt sau:2 Xin cám ơn bác Tony Lý v mc này

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 40/212

30 Cài đt h điu hành Linux

• phn khi đng ca tt c các h thng Microsoft đt vào phân vùng chínhđu tiên ca đĩa, vi đnh dng FAT16 (DOS);

• phân vùng chính tip theo dành cho thư mc gc (/), kích thưc khong 1

Gbyte;• phân vùng chính th ba dành cho swap ca Linux (li khuyên v kích thưc

ca phân vùng này xem trên);

• phn còn li ca đĩa đt thành phân vùng m rng;

• trong phân vùng m rng to các phân vùng lôgíc cho mi HĐH s cài đt:Windows 98, Windows NT/2000/XP, và đng thi cho các h thng tp tin/home và /usr ca HĐH Linux (trong /home s đt các tp tin riêng cangưi dùng, còn trong /usr – chương trình s cài đt).

Tt nhiên, nu như bn đc ch có Windows 95 vi FAT16, thì có th đ Win-dows trên phân vùng đu tiên. Nu như trên máy đã cài đt Windows NT haycó FAT32, thì mt phân vùng FAT16 cũng không tha. Th nht, k c trongtrưng hp h thng có vn đ, bn đc có th khi đng t đĩa mm DOS (tmthi khi chưa làm quen vi Linux mt cách “tưng tn”) và thy đưc rng đĩacng làm vic bình thưng. Th hai, h thng tp tin FAT16 đưc h tr trênmi HĐH, trong đó có Linux, vì th phân vùng này có th phc v cho vic traođi tp tin gia các h thng. Nhưng không nên đ phân vùng này ln, vì FAT16s dng không gian đĩa rt không hp lý. Chính vì vy hãy dành cho phân vùng

này khong 256 hoc 512 Mbyte.Nhng li khuyên này đưa ra vi gi thit rng, bn đc ch có mt đĩa cng.Nu như bn đc có 2, thì vn s dng đưc nhng li khuyên này, ch có điuphân vùng swap tt hơn đt trên đĩa khác vi đĩa dành cho Linux. Ngưi ta nóirng như vy tăng tc đ làm vic trong Linux (cũng d hiu vì đu đc ít phichy hơn).

2.5.2 Chương trình đ phân chia đĩa

Sau khi hoàn thành kt hoch chia đĩa, cn la chn công c đ đưa k hoch

này thành hin thc. Chương trình phân chia đĩa đưc bit đn nhiu nht làfdisk; trên mi h điu hành đu có phiên bn riêng ca chương trình này. Vàkhông cn gì hơn ngoài chương trình này, nu như phân chia đĩa trng, khôngcha bt ký d liu nào. Nhưng chúng ta đang xem xét trưng hp đã có HĐHnào đó trên đĩa và cn phân chia đĩa mà không làm mt thông tin. fdiskkhông thích hp cho nhng mc đích như vy.

Trong thành phn các bn phân phi Red Hat và BlackCat (rt có th trongcác bn phân phi khác) có chương trình fips, phc v cho phân chia đĩa.Tuy nhiên, theo ý kin ca ngưi dùng thì không nên s dng chương trình này. Vì th li khuyên ca tác gi vi bn đc, nhng ngưi dùng Linux mi – nu

như mun phân chia li đĩa mà không làm mt thông tin, thì hãy tìm chươngtrình Partition Magic ca công ty Power Quest (http://www.powerquest.com) vàs dng chương trình này.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 41/212

2.6 Windows NT và Linux: khi đng qua NT OS Loader 31

Th nht, chương trình này cho phép phân chia li đĩa mà không làm mtthông tin (tc là, tt c nhng cài đt và cu hình trưc đó s đưc ghi li). Khinày, không ch to đưc phân vùng mi t ch trng trên đĩa, mà còn có th dichuyn các phân vùng đã có theo ý mun.

Th hai, chương trình này (thm chí trong phiên bn dành cho DOS) cungcp mt giao din đ ha d s dng có h tr chut, và mi thao tác cũng nhưthay đi đu thy rõ ràng. Điu này rt quan trng vi ngưi dùng mi.

Khi to phân vùng cn đ ý không cho ranh gii gia các phân vùng ct lnnhau.

Tác gi cho rng, nhng thông tin đã đưa đ đ bn đc lp k hoch và thchin vic phân chia đĩa thành các phân vùng. Vì th tip theo chúng ta s xemxét các phương án cài đt hai HĐH trên mt máy tính.

2.6 Windows NT và Linux: khi đng qua NT OSLoader

Trong phn này, khi nói v Windows NT xin ngm hiu c Windows 2000 và NT,vì “quan h” ca chúng đi vi vic cài đt Linux hoàn toàn ging nhau. Chúngta gi thit là Windows NT đã đưc cài vào phân vùng /dev/hda2 (nu như bnđc nh, /dev/hda1 s dành cho phân vùng FAT16). Nu HĐH Windows NT đãđưc cài đt, nghĩa là trình khi đng OS Loader cũng đã đưc cài đt. Và nhưth có th s dng chương trình này đ khi đng Linux. Tác gi hy vng rngbn đc đã sao lưu nhng thông tin có giá tr ca mình. Các bưc cài đt có th

mô t như sau:1. Nu như bn đc chưa cài đt Linux bao gi, thì trưc khi bt đu cn

chun b đĩa mm khi đng và phc hi Windows NT. Đ to đĩa mm khiđng ch cn đnh dng li đĩa mm, ri sao chép lên đó các tp tin ntldr,ntdetect.com và boot.ini t thư mc gc ca đĩa khi đng NT. Chươngtrình to đĩa phc hi Windows 2000/XP có th chy t trình đơn h thng(lnh Backup trong Start/Program/Accessories).

2. Dùng chương trình Partition Magic đ ly mt phn đĩa trng và t đó tora phân vùng vi dng ext2(3) (h thng tp tin Linux) và phân vùng swap.Cách tính kích thưc ca chúng đã nói trên.

3. Cài đt Linux theo ch dn ca bn phân phi. Trong khi cài đt cn chú ýđn nhng đim sau:

• th nht, trong quá trình cài đt nht đnh phi to ra các đĩa mmkhi đng Linux. Tc là cn tr li “Yes, make a BOOT DISK” (haytương t th, tùy thuc vào bn phân phi) khi đưc hi có to đĩamm khi đng hay không. Đĩa mm này s đưc dùng đn sau.Ngoài ra, có th s dng đĩa mm này đ khi đng Linux. Đây cũng

là mt phương án khi đng, và hơn na khác vi đĩa mm khi đngDOS, sau khi khi đng h thng không còn yêu cu đĩa mm na,có th b nó ra khi , s dng đ đc các đĩa mm khác. Tuy nhiên

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 42/212

32 Cài đt h điu hành Linux

cách khi đng này cũng có điu tin, vì th không nên s dng thưngxuyên. Ch s dng trong trưng hp “bt đc dĩ”. Đĩa mm này còncn thit cho cu hình đ khi đng nhiu HĐH.

th hai, khi cài đt Linux cn cài LILO vào sector đu tiên ca phânvùng dành cho thư mc gc (/) ca Linux, ch không phi vào sectorkhi đng chính ca đĩa (MBR). Chúng ta gi thit Linux đưc cài vàophân vùng /dev/hda3. Như vy LILO s đưc cài vào sector đu tiênca /dev/hda3

Theo nguyên tc, nu như bn đc cài LILO vào MBR, thì không phi mith đã hng ht. Kt qu cui cùng (khi đng qua NT Loader) vn có thđt đưc nhưng cn b ra mt chút công sc. Vn đ ch, đnh dng MBRto bi LILO và Windows (DOS) khác nhau. Vì th nu bn đc cài LILOvào MBR, thì cu phc hi li MBR ca Windows. Tác gi cũng s nói cách

phc hi, nhưng tt hơn ht là bn đc cài LILO ngay lp tc vào sectorđu tiên ca phân vùng đã cài Linux.

4. Sau khi cài đt xong, khi đng Linux bng đĩa mm (nu như bn đc càiLILO vào phân vùng ca Linux và không đng gì đn MBR, thì đây là khnăng duy nht).

5. Sao chép sector khi đng ca Linux vào mt tp tin; tp tin này s cn đtrình khi đng Windows NT/2000 có th khi đng Linux. Vic sao chépthc hin như sau: đu tiên gn mt đĩa mm trng (mi mua thì càng tt),

[root]# mount -t vfat /dev/fd0 /mnt/floppy

chuyn vào thư mc /mnt/f loppy

[root]# cd /mnt/floppy

và thc hin câu lnh

[root]# dd if=/dev/hda3 of=/mnt/floppy/bootsect.lnx bs=512 count=1

đ ghi ni dung sector khi đng ca đĩa /dev/hda3 vào tp tin/mnt/floppy/bootsect.lnx3

6. Tip theo cn khi đng li đ vào Windows NT, bng câu lnh:

[root]# shutdown -h now

3Ghi chú: nu đĩa C: (/dev/hda1) có đnh dng FAT, thì có th to tp tin bootsect.lnx trong thưmc gc ca đĩa C:. Tác gi không bit (chưa th) có th khi đng không cn đĩa mm không,

nu phân vùng chính đu tiên có đnh dng NTFS. Tuy nhiên đây cũng không có vn đ gì, chcn sao chép sector khi đng qua đĩa mm như đang trình bày. Tm thi nhân Linux còn chưah tr tt vic ghi lên phân vùng NTFS.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 43/212

2.6 Windows NT và Linux: khi đng qua NT OS Loader 33

 Vì MBR chưa có gì thay đi, nên Windows NT s khi đng. Trong NT cnsao chép tp tin bootsect.lnx vào thư mc gc ca đĩa C:, hay chính xác hơnlà vào thư mc gc ca phân vùng mà t đó khi đng Windows NT. Đây cóth là phân vùng FAT16 hay phân vùng NTFS. Đc đim đ nhn ra phân

vùng này là hai tp tin ntldr và boot.init cha trong đó (nhng tp tin nàycó th n!). Tp tin bootsect.lnx có th đt thuc tính ch đc (read-only).

7. Sau đó tìm tp tin boot.ini và thêm vào dòng sau:C:\bootsect.lnx="LINUX"

(tt nhiên, trong du ngoc kép bn đc có th đt tên bt kỳ.)

8. Vic còn li là khi đng li máy tính mt ln na, và trong trình đơn chnh điu hành s có LINUX. Nu chn LINUX, thì LILO s đưc chy và sauđó nó (LILO) s np Linux.

Còn bây gi chúng ta s xem xét trưng hp bn đc (do vô tình hay c ý)cài đt LILO vào bn ghi khi đng chính ca đĩa (Master Boot Record, MBR).Trong trưng hp này bn ghi khi đng Windows NT (hay 2000) s b xóa, vàvic khi đng Windows NT (bưc th 6 trên) là không th. Nu như bn đcvn còn mun s dng trình khi đng OS Loader ca NT, ch không mun dùngLILO, thì nhng bưc trên có thay đi mt chút: thay cho bưc th 6 cn làm cácthao tác sau.

1. Khi đng Windows NT t đĩa mm khi đng (đã to trưc khi cài đtLinux, nu không có thì bn đc cn tìm mt máy khác đang chy Windows

NT ri to). Trong trình đơn (thc đơn) ca trình khi đng cn chn lnhRecover, ri chn ch đ Command mode. Sau đó đăng nhp vào tài khonnhà qun tr (administrator).

2. Phc hi li bn ghi khi đng chính ca đĩa. S dng câu lnh fdisk /mbr.Tác gi dùng lnh này thành công, mc dù trong mt s bài báo nói cáchphc hi MBR như vy không phi lúc nào cũng làm vic. Trong Windows2000 có các lnh chuyên dùng fixboot và fixmbr (chy t console phc hih thng). Chy hai lnh này theo th t đã ch ra. Sau đó Windows 2000s khi đng bình thưng.

3. Khi đng li máy tính t đĩa mm khi đng Linux và đăng nhp vào hthng vi quyn ngưi dùng root.

4. Nhp lnh cd /etc và m tp tin lilo.conf. đu tp tin này có liênkt đn phân vùng khi đng theo mc đnh, ví d, /dev/hda.

5. Dùng bt kỳ trình son tho nào, ví d, CoolEdit ca Midnight Comman-der, đ thay th giá tr này thành phân vùng đã cài Linux lên (chính xáchơn là thành phân vùng đưc gn như gc (/) ca Linux). Nu Linux đưccài vào phân vùng /dev/hda3, thì cn ghi cái đó, tc là thay th /dev/hdathành /dev/hda3. Nu như bn đc không nh đã cài Linux vào đâu, thì

hãy chy câu lnh mount và tìm kt qu tương t như sau4:4có nghĩa là tìm phân vùng đã gn vào thư mc gc /, trong ví d này là /dev/hda3

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 44/212

34 Cài đt h điu hành Linux

/dev/hda3 on / type reiserfs (rw)

6. Chy lnh /sbin/lilo đ ghi trình khi đng vào phân vùng /dev/hda3(cn chy lnh lilo không có tham s). S có cnh báo v vic phân vùng

không phi là đu tiên trên đĩa. Đây chính là điu chúng ta cn, bn ghikhi đng ca Windows đưc gi nguyên vn.

7. Thc hin các bưc 6-8 như trên.

D dàng đoán ra rng, “quy trình” phc tp vi hai ln khi đng li ch đchuyn sector khi đng Linux t MBR vào sector đu tiên ca phân vùng dànhcho Linux, và phc hi MBR ca Windows.

Quá trình cài đt Linux kt thúc đây. Bn đc đã có th chn HĐH s khiđng và điu khin máy tính ca mình.

2.7 S dng trình khi đng GRUB

Như đã nói trong phn la chn chương trình khi đng, nu trên máy đã càiWindows 98 vi h thng tp tin FAT16, thì la chn tt hơn cho trình khi đnglà chương trình có trong thành phn ca mi bn phân phi HĐH Linux – GRUB(GRand Unified Bootloader).

2.7.1 Cài đt GRUB

Cách d nht đ có th cài đt trình khi đng GRUB là chn dùng trình khiđng này trong quá trình cài đt h thng Linux ca bn. Trong nhng phiênbn mi ca các bn phân phi Linux mi khi này có th chn cu hình chonhng h điu hành đã có trên máy. Mt s bn phân phi, ví d Xandros cònt đng tìm thy nhng h điu hành đã có này và thêm chúng vào tp tin cuhình ca GRUB. Nh đó sau khi cài đt bn có th chn khi đng Linux hoch điu hành (thưng là Windows) đã có. Mc dù vic t đng cu hình này htsc thun tin, nhưng s có ích nu bn bit đưc cách cu hình Linux đ x lýnhng li có th xy ra và hơn th na bit cách cu hình đ khi đng h điuhành mong mun khi không có t đng cu hình. Chúng ta s xem xét cu hình

GRUB trong phn tip theo.

2.7.2 Cu hình GRUB

GRUB có mt giao din trình đơn đ t đó ngưi dùng có th chn mt mc (mth điu hành) bng các phím mũi tên ri nhn <Enter> đ khi đng. Đ dùngđưc trình đơn đó, bn cn mt tp tin cu hình ‘menu.lst’ nm trong thư mckhi đng /boot. Thông thưng tp tin này đưc to ra khi cài đt. Hãy xem víd mt tp tin như vy dưi đây:

# GRUB example configuration file on the teppi’s openSUSE system.

# Modified by YaST2. Last modification on Sun Apr 2 22:22:11 MSD 2006

color white/blue black/light-gray

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 45/212

2.7 S dng trình khi đng GRUB 35

default 0timeout 8

###Don’t change this comment - YaST2 identifier: Original name:linux###title SUSE LINUX 9.3

kernel (hd0,0)/vmlinuz root=/dev/hda5 vga=0x31a selinux=0splash=silent resume=/dev/hda7 showopts

initrd (hd0,0)/initrd

###Don’t change this comment - YaST2 identifier: Original name:windows###title Windows

map (hd0) (hd1)map (hd1) (hd0)rootnoverify (hd1,0)makeactivechainloader +1

###Don’t change this comment - YaST2 identifier: Original name: xen###title XEN

kernel (hd0,0)/xen.gz dom0_mem=196608module (hd0,0)/vmlinuz-xen root=/dev/hda5 vga=0x31a selinux=0

splash=silent resume=/dev/hda7 showoptsmodule (hd0,0)/initrd-xen

###Don’t change this comment - YaST2 identifier: Original name: floppy###title Floppy

root (fd0)chainloader +1

Tác gi nghĩ rng cn gii thích c th hơn mt chút v tp tin này. Có thbn đã đoán ra nhng dòng bt đu bng ký t ‘#’ là nhng dòng chú thích.Bn có th ghi bt kỳ câu gì mong mun vào dòng này và không nh hưng gìđn công vic ca chương trình. Ngoài dòng chú thích GRUB cũng b qua nhngdòng trng.

đu tp tin là nhng thit lp chung (global options), nhng tùy chn cóliên quan đn giao din ca trình đơn. Chúng đưc đt trưc các mc bt đubng ‘title’. Tùy chn default ch ra h điu hành khi đng theo mc đnh(nu không đng vào bàn phím khi khi đng). S ‘0’ ch ra đó là h điu hànhth nht trong danh sách (tc là SuSE Linux 9.3). Hãy nh li, trong GRUB vic

đánh s đưc bt đu t ‘0’ ch không phi ‘1’. Tùy chn timeout cho bit GRUBs khi đng mt cách t đng sau khong thi gian ch ra (tính theo giây) nukhông nhn phím nào. Trong trưng hp này là sau 8 giây. Tùy chn color dùngđ chn màu cho trình đơn (hãy th nó!).

Sau nhng thit lp chung là phn thit lp cho tng h điu hành c th.Mi phn đu bt đu bng lnh ‘title’ theo sau là tên s hin th trong trìnhđơn. Và vì lnh này hin th tham s mt cách nguyên vn, nên bn có th nhpbt kỳ th gì vào phía sau. Như bn thy trong tp tin cu hình trên, phn đutiên là đ khi đng “SUSE LINUX 9.3”, phn th hai – “Windows”, v.v. . .

Khác vi trưng hp LILO, sau khi thay đi cu GRUB không cn phi chy

bt kỳ lnh nào đ nhng thay đi này có hiu lc. Chúng s đưc cp nht mtcách t đng trong ln khi đng sau. Đây là mt đim mnh ca GRUB so viLILO.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 46/212

36 Cài đt h điu hành Linux

Tt nhiên đây không phi là tt c nhng kh năng s dng ca GRUB,nhưng đi vi ngưi dùng mi thì như vy là đ. Sau mt thi gian làm vic viLinux và có đ kinh nghim bn s bit cách tìm thêm thông tin v trình khiđng tuyt vi này.

2.8 S dng trình khi đng LILO

2.8.1 Cài đt và cu hình LILO

Ging như trưng hp Windows NT, chúng ta s đưa ra các bưc cn thc hinđ có th khi đng nhiu HĐH.

1. Trưc khi cài đt Linux hãy chun b đĩa mm khi đng Windows.

2. Dùng chương trình Partition Magic đ ly phn không gian đĩa còn trngvà trên đó to ra mt phân vùng ext2(3) (h thng tp tin Linux) và mtphân vùng swap. Cách chia đĩa đã nói trên. Nu dung lưng đĩa cngvưt quá 8,4 Gbyte thì hãy đc k các phn 2.3 và 2.5.

3. Cài đt Linux theo ch dn đi kèm vi bn phân phi. Cn nh rng, nubn mun s dng trình khi đng LILO, thì trong quá trình cài dt Linuxcn chn phương án cài LILO vào bn ghi khi đng chính (Master BootRecord). To các đĩa mm khi đng theo nguyên tc là không bt buc,nhưng tác gi khuyên bn đc nên làm.5

4. Bưc tip theo cn cu hình LILO đ có th khi đng các HĐH theola chn. LILO đưc cu hình bng tp tin /etc/lilo.conf và câu lnh/sbin/lilo. Câu lnh này dùng đ cài đt (hay cài đt li) LILO.Chúng ta xem xét mt ví d nh ca tp tin cu hình LILO. Trong ví d nàychúngtascoinhưthitb /dev/hda1 là phân vùng vi DOS/Windows, cònphân vùng /dev/hda2 cha Linux. Trong trưng hp đó /etc/lilo.confcó dng gn như sau:

boot = /dev/hda2compact

delay = 50# message = /boot/bootmesg.txtroot = currentimage = /boot/vmlinuz-2.4.22label = linuxread-onlyother = /dev/hda1

5Ghi chú. Trình khi đng LILO không bt buc phi cài đt vào bn ghi khi đng chính cađĩa, LILO có th nm bn ghi khi đng ca phân vùng chính đưc kích hot và cha thư mcgc ca Linux hoc thm chí trên phân vùng lôgíc trong phân vùng m rng. Trong trưng hp

đó MBR cn phi có kh năng np LILO, ví d khi MBR là trình khi đng ca MS-DOS hayWindows. Tuy nhiên tác gi chưa nhìn thy s cn thit ca ng dng này (nu đã chn LILOlàm trình khi đng chính thì hãy s dng cho “trn b”), vì th chúng ta s không xem xét đn.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 47/212

2.8 S dng trình khi đng LILO 37

table = /dev/hdalabel = dos

 Vài li gii thích cho ví d: Dòng boot cho bit thit b khi đng.

Dòng compact bt ch đ nén tp tin map – tp tin cha đc tính ca nhânđưc khi đng; tính năng (nén) này tăng tc đ ca khi đng đu.Câu lnh message dùng đ đưa ra thông báo theo ý mun khi khi đng.Bt đu t dòng image là các phn nh ca tp tin cu hình, mi phntương ng vi mt h điu hành s khi đng theo la chn ca ngưi dùng.Trong mi phn như vy có mt dòng label. Trên dòng này ghi tên cnnhp vào du nhc LILO hay tên s hin th trong trình đơn ca LILOđ có th chn HĐH mun khi đng. Nu như tên không đưc nhp saukhong thi gian ch trên dòng delay (tính theo phn mưi giây – cn nhânvi 0,1 giây), thì s khi đng HĐH theo mc đnh. Trong ví d này, s khiđng Linux theo mc đnh, vì phn cu hình tương ng vi Linux nm đutiên trong tp tin. Có th ch ra h điu hành đưc khi đng theo mc đnhkhi thêm mt dòng có dng default=dos, tc là s dng tên đã đt trêndòng label.Dòng table=<device> cho bit tên thit b cha bng phân chia đĩa. LILOs không đưa thông tin v phân chia đĩa cho h điu hành đưc khi đngnu bin này không đưc đưa ra. (Mt s h điu hành có công c khác đxác đnh là đã đưc khi đng t phân vùng nào.) Đng quên rng, cn thchin câu lnh /sbin/lilo, sau khi thay đi ch dn đn bng phân chia

đĩa, tc là thay đi bintable

. Nu đt dòng (gi là phn nh thì tt hơn)other = /dev/hda1 trong tp tin /etc/lilo.conf, thì trong thư mcgc ca đĩa /dev/hda1 (đĩa C: trong h thng thut ng Microsoft) cn cótrình khi đng ph (không phi là chính). Trên mt máy ca tác gi đónm trình khi đng NT Loader (vì Windows NT đưc cài đt trưc Linux),và LILO khi đng thành công Windows NT. Ch cn đt thi gian ch khiđng trong tp tin boot.ini bng không, đ không thy trình đơn khi đngca NT Loader. Tuy nhiên, nu vì mt lý do nào đó bn mun thy trìnhđơn này thì giá tr timeout trong tp tin boot.ini cn đt khác không (thigian ch đưc tính theo giây). Điu này có th cn thit khi mun khi đngc Windows 98 t trình đơn ca NT Loader (trong trưng hp này s có 3HĐH: Linux, Windows NT và Windows 98, trong trình đơn ca LILO nuchn dos thì s hin ra trình đơn ca NT Loader ri t đó chn mt tronghai HĐH Windows đ khi đng).Nu bn đc mun khi đng Windows trc tip t LILO, thì hãy thêmphn nh sau vào /etc/lilo.conf:

other = /boot/bootsect.doslabel = win

trong đó bootsect.dos ly t thư mc gc ca đĩa cha NT Loader.

5. Sau khi sa xong tp tin /etc/lilo.conf theo ý mun, cn chy câu lnh/sbin/lilo đ nhng thay đi có hiu lc. Câu lnh này (trong tài liu

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 48/212

38 Cài đt h điu hành Linux

hưng dn gi là map-installer) cài đt trình khi đng ph, mà s đưckích hot trong ln khi đng tip theo. Trưc khi chy /sbin/lilo đthay đi bưc khi đng, hãy thc hin câu lnh này vi tham s -t. Khi cótham s này s thc hin tt c các th tc cài đt trình khi đng, tr vic

thay đi tp tin map, bn ghi sector khi đng, và bng phân chia đĩa,tc là ch chy th cu hình mi. Nu cho thêm tùy chn -v, thì bn đcs đưc bit thêm thông tin chi tit v nhng gì lnh /sbin/lilo s thchin.

Khi /sbin/lilo ghi đè ni dung mi lên sector khi dng, thì ni dung cũca sector này s t đng đưc ghi nh vào mt tp tin. Theo mc đnh đó làtp tin /boot/boot.NNNN, trong đó NNNN tương ng vi s ca thit b, víd, 0300 – tương ng /dev/hda, 0800 – /dev/sda, v.v...Nu tp tin nàyđã có trên đĩa, thì nó không b ghi đè lên. Tuy nhiên có th đt mt tên khácđ ghi sector khi đng, không nht thit phi dùng /boot/boot.NNNN.

Tp tin /boot/boot.NNNN có th s dng đ phc hi ni dung cũ casector khi đng, nu không còn cách phc hi nào khác đơn gin hơn. Câulnh đ thc hin có dng:

[root:~#] dd if=/boot/boot.0300 of=/dev/hda bs=446 count=1

hay

[root:~#] dd if=/boot/boot.0800 of=/dev/hda bs=446 count=1

(bs=446 vì ch phc hi chương trình khi đng, và không đng gì đn bngphân chia đĩa).

Cũng có th phc hi MBR cũ khi cn thit bng câu lnh /sbin/lilo vitùy chn -u. Nhưng cn bit rng, câu lnh này ch làm vic đúng vi điukin là thư mc LILO (tc là /boot) không thay đi k t khi cài đt.

MBR ca MS-DOS có th đưc phc hi bng cách khi đng vào DOS tđĩa mm (CD) ri chy câu lnh fdisk /mbr (xem trên). Lnh này ch thayđi mã chương trình khi đng nm trong MBR, mà không thay đi bngphân chia đĩa.

6. Sau khi cài đt li trình khi đng cn khi đng li máy tính và th cácphương án khi đng khác nhau đ kim tra.

Đ kt thúc phn nói v LILO này chúng ta s xem xét vài khó khăn có thxut hin khi s dng LILO, và cách khc phc (nu có th).

Khi LILO đưc np, nó đưa ra màn hình t “LILO”. Khi này mi ch cái biuth s kt thúc mt hành đng nào đó hay kt thúc mt bưc np LILO. Nukhi đng b b ngưng gia chng, thì qua s ch cái đưa ra có th nhn đnh vnguyên nhân xut hin vn đ.

• Không ch cái nào hin ra – không có phn nào ca LILO đưc np. HocLILO không đưc cài đt, hoc phân vùng cha LILO chưa đưc kích hot.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 49/212

2.8 S dng trình khi đng LILO 39

• L [mã li] – trình khi đng chính đã đưc np và đã chy (tc là đã nhnđưc quyn điu khin), nhưng nó không th np trình khi đng ph. Mãli hai ký t cho bit nguyên nhân c th ca vn đ (cách gii mã cn tìmtrong tài liu k thut ca LILO). Thông thưng thì vn đ ny sinh do

đĩa xu (có khuyt tt) hay không đt đúng cu trúc hình hc ca đĩa. NuLILO không dng li đây, mà tip tc đưa ra mt chui vô tn các mã li,thì vn đ thưng d gii quyt.

• LI – trình khi đng chính đã np đưc trình khi đng ph, nhưng khôngchy đưc nó. Có th là li đưa cu trúc hình hc ca đĩa, hoc tp tinboot/boot.b b di chuyn mà ngưi dùng quên không chy /sbin/lilo.

• LIL — trình khi đng ph đã đưc chy, nhưng nó không th np bng môt t tp tin map. Nguyên nhân thưng do khuyt tt ca đĩa hoc khôngđưa đúng cu trúc hình hc ca đĩa.

• LIL? – trình khi đng ph đã đưc np vào đa ch không đúng. Thôngthưng do li đưa ra cu trúc hình hc ca đĩa hoc tp tin /boot/boot.bb di chuyn mà ngưi dùng quên không chy /sbin/lilo.

• LIL- – bng mô t trong tp tin map b phá hy. Thông thưng do li đưara cu trúc hình hc ca đĩa hoc tp tin /boot/boot.b b di chuyn màngưi dùng quên không chy /sbin/lilo.

• LILO – tt c các phn ca LILO đưc np thành công.

2.8.2 Cài đt các h điu hành khác sau Linux

Khi cài đt MS-DOS và Windows 95/98, trình khi đng ca chúng (không phthuc vào ý mun ca bn đc) đưc ghi vào Master Boot Record (MBR), và dukích hot trong bng phân vùng s đưc chuyn sang phân vùng MS-DOS (Win-dows 95/98). Mà trình khi đng MS-DOS và Windows 95/98 ch “bit” chuynquyn điu khin cho sector đu tiên ca phân vùng kích hot. Như th, nunhư bn đc đu tiên cài đt Linux, và sau đó mi cài đt Windows 95/98 hayMS-DOS, thì Linux s không th khi đng. Có th phc hi li LILO bng cách

chy lnh /sbin/lilo (nu LILO đưc cài vào MBR), hoc kích hot phân vùngcha LILO (nu LILO đưc cài vào phân vùng chính).Khi có vn đ sau khi cài đt mt h điu hành khác sau Linux, thưng có

th gii quyt bng cách khi đng vào Linux bng đĩa mm khi đng, sa litp tin cu hình LILO (thêm phn nh cho HĐH mi), ri chy /sbin/lilo.

2.8.3 Chuyn thư mc /boot lên phân vùng DOS

Nhng phiên bn nhân Linux mi nht h tr kh năng đt các tp tin cn thittrên giai đon khi đng vào h thng tp tin MS-DOS (hay UMSDOS). Vì trong

phn ln các trưng hp phân vùng DOS chim các vùng đĩa đu (không có hnch ca BIOS), nên cho phép gii quyt nhiu vn đ ca đĩa ln, khi mà thưmc /boot không th nm trên phân vùng dành cho Linux.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 50/212

40 Cài đt h điu hành Linux

Đ thc hin phương án khi đng này, cn phân vùng DOS ch đ đc/ghi,to trong đó mt thư mc (ví d, /dos/linux), và chuyn tt c các tp tin tthư mc /boot vào đó; thư mc /boot đưc chuyn thành liên kt tưng trưngđn thư mc /dos/linux; v trí mi ca thư mc /boot cn ch ra trong tp tin/etc/lilo.conf, và cui cùng chy lnh /sbin/lilo.

2.9 Khi đng Linux t MS-DOS bng loadlin.exe

Không ch các tp tin khi đng và nhân có th nm trong phân vùng DOS,mà c tin trình khi đng Linux nói chung có th đưc t chc t DOS. Khnăng này thc hin nh chương trình đc bit loadlin.exe, do Hans Lermen ([email protected]) vit. Chương trình này thưng có trên các đĩa ca bnphân phi.6

Loadlin.exe cung cp cách khi đng Linux t cng an toàn nht, khi cóphân vùng kích hot là DOS hay Windows. Phương án khi đng này đưckhuyên s dng cho ngưi dùng Linux mi. Phn ln ngưi dùng mi (và khôngch h) không đ kiên nhn đ đc tài liu rt hay nhưng rt dài (và li vit trênting Anh na) ca LILO. Vì th h thưng s dng LILO không đúng cách, vàkt qu là không th khi đng đưc bt kỳ h điu hành nào (tác gi cũng đãrơi vào trưng hp như vy). Đi vi nhng ngưi dùng mi thì s thun tinhơn khi s dng loadlin.exe đ khi đng và bt đu tìm hiu Linux. Tuy nhiên,“không vào hang cp sao bt đưc cp” .

Chương trình loadlin.exe không yêu cu phi cài đt, ch cn đt chương trình

– tp tin loadlin.exe và nhân (nh ca nhân) lên mt trong các đĩa mà DOS nhnra. Có th dùng chương trình này đ khi đng Linux t CD hoc t đĩa trongmng mà không cn s dng đĩa mm khi đng. Kh năng này bin loadlin.exethành mt công c tuyt vi đ khi đng Linux khi có vn đ vi LILO.

Phiên bn 1.6 ca loadlin.exe làm vic vi mi cu hình DOS và có rt ít hnch. Phiên bn này có th s dng b nh m rng; có th np các nhân ln (cácbzImage) và các nh đĩa o (initrd) trc tip vào vùng b nh nm trên.

 Vic s dng loadlin.exe không có nghĩa là Linux làm vic dưi DOS, vìchương trình này h tr “khi đng lôgíc” ca máy tính, và sau đó DOS đưcthay th hoàn toàn bng Linux. Nu như bn đc mun quay tr li DOS, thì

phi khi đng li máy tính, ví d, bng câu lnh reboot.Như vy, cn làm gì đ có th s dng chương trình loadlin.exe.

• Trên máy tính ca bn (tt nhiên vi b x lý 386 hoc cao hơn) cn cài đtDOS hay WINDOWS 95.

• Cn có nh nén ca nhân Linux (zImage, bzImage)7.

6mt s bn phân phi còn có gói cài đt cho chương trình này, thông thưng ghi tp tinloadlin.exe vào thư mc ca ngưi dùng root

7Ghi chú. zImage là đnh dng nh phân cũ ca nhân, bzImage là đnh dng mi hơn (s phiên

bn nhân ln hơn 1.3.73) có kích thưc lên ti 1 Mbyte, do đó, nhân khi gii nén có kích thưclên ti 2 Mbyte. Tip theo chúng ta s ch nói v các tp tin zImage, mc dù bn đc có th thayth zImage thành bzImage

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 51/212

2.9 Khi đng Linux t MS-DOS bng loadlin.exe 41

• Chương trình loadlin.exe. Có th tìm thy trên đĩa phân phi dng khôngnén hay trong gói LOADLIN16.TGZ. Gói nén này còn cha hưng dns dng DOC\MANUAL.TXT, tp tin tham s ví d DOC\TEST.PAR, vàhưng dn cách đưa các tham s DOC\PARAMS.DOC (đng quên rng

chúng là nhng tp tin DOS).Nu bn chy loadlin.exe không có tham s

C:\LOADLIN> loadlin

thì s nhn đưc hưng dn s dng ngn gn. Thun tin hơn đ đc hưng dnnày khi chy chương trình vi tham s more (ging 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 dng loadlin.exeđ khi đng.

1. Chia các phân vùng cho Linux (cách làm xem phn 2.5)

2. Cài đt Linux vào phân vùng đã chia. LILO cn cài đt vào sector đu tiênca phân vùng Linux đ không ghi đè lên MBR và không b mt kh năngkhi đng vào Windows.

3. Sau khi kt thúc phn cài đt hãy khi đng Linux (nu không có cách nàokhác, hãy s dng đĩa mm khi đng). Gn phân vùng DOS (gi thit là

/dev/hda1, còn phân vùng Linux là /dev/hda3):[root]# mount -t vfat /dev/hda1 /mnt/C

To thư mc /mnt/C/loadlin và gii nén tp tin LOADLIN16.TGZ vàođó. Ngoài ra sao chép t thư mc /boot vào thư mc đó c tp tin chanh ca nhân Linux. Có th tìm tp tin cha nh ca nhân cn thit nhtp tin /etc/lilo.conf: tìm trong tp tin cu hình dòng “image=...” vàbn đc s thy tên cn thit phía bên phi du bng. Ví d tên ca tptin này là vmlinuz-2.4.22. Sao chép tp tin vmlinuz-2.4.22 t /boot vào/mnt/C/loadlin và đi tên thành vmlinuz (vic đi tên là không nht

thit, và ch có ý nghĩa thun tin cho s dng):

[root]# cp /boot/vmlinuz-2.4.22 /mnt/C/loadlin/vmlinuz

4. Bây gii khi đng li máy tính vào DOS trc tip (nu bn đc có Windows95/98 thì cn nhn phím <F8> khi khi đng đ hin th trình đơn cho phépchn DOS), hoc qua hp thoi la chn khi nhn lnh tt máy (shutdown)Windows 95/98.Sau khi vào DOS hãy chuyn sang thư mc C:\LOADLIN:

CD \LOADLIN

ri thc hin lnh:

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 52/212

42 Cài đt h điu hành Linux

C:\LOADLIN> LOADLIN vmlinuz /dev/hda3 ro vga=ask

hoc, nu bn đc mun np nhân cùng vi đĩa RAM:

C:\LOADLIN> LOADLIN vmlinuz /dev/ram rw initrd=diskimage

Còn có th ghi tt c các tham s ca lnh loadlin.exe vào tp tin (ví d vitên params) và gi câu lnh đó dng sau:

C:\LOADLIN> LOADLIN @params

Kh năng này đc bit có ích khi đưa nhiu tham s dòng lnh và khi dònglnh dài hơn 127 ký t. Mô t đy đ tt c các tham s ca câu lnh load-

lin.exe có th tìm thy trong tp tin PARAMS.DOC hoc Internet trên tranghttp://sunsite.unc.edu/mdw/HOWTO/BootPrompt-HOWTO.html vàhttp://rsphy1.anu.edu/~gpg109/BootPrompt-HOWTO.html .

Bây gi bn đc có th s dng cách này đ khi đng Linux. Công vic duynht còn li là làm sao đ không phi gõ lnh loadlin vi tt c các tham s saumi ln khi đng li. Có th vit thêm lnh gi loadlin vào tp tin autoexec.bathoc to mt tp tin lnh (ví d, linux.bat), và khi chy tp tin này, máy tínhs chuyn vào ch đ DOS trưc, sau đó thì chy Linux. Tác gi cho rng nhngthông tin đã đưa ra trên đ đ to tp tin bat cn thit. Cn nói thêm rng,

không đưc khi đng Linux t giao din đ ha DOS/Windows và cn tt mt vàitùy chn trong tp tin n C:\MSDOS.SYS (đây là tp tin văn bn thông thưng),bng cách thêm vào hai dòng sau (nu chưa có):

BootGUI=0Logo=0

Dòng đu tiên tt giao din đ ha, và DOS s đưc khi đng thay choWindows 95/98. (Đ chy giao din đ ha, cn nhp câu lnh C:\> win). DòngLogo=0 tt vic hin th biu tưng Windows (ca s). Vn đ ch, đi vi mts cc màn hình Linux s đưa ra mt màn hình trng rng sau khi khi đng,

nu như có hin th biu tưng Windows.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 53/212

Chương 3

Khi đng Linux ln đu

 Vn s khi đu nan – Trung Quc

Sau khi cài đt rt có th bn đc s không bit bưc tip theo phi làm gì. Bt máy tính lên, đi h thng khi đng xong và ... ngi nhìn. Phi làm gì đ có th tip tc làm vic vi h thng Linux? Sau khi làm vic xong thì tt máy th nào? Có nhng chương trình nào nên bit? Trong khi làm vic có vn đ ny sinh thì tìm câu tr li đâu? Trong chương này chúng ta s tìm thy câu tr li cho nhng câu hi trên.

3.1 Khi đng HĐH Linux

Như vy là vic cài đt Linux đã hoàn thành. Nu ngưi dùng đã cài đt GRUBlàm trình khi đng, thì sau nhng dòng ch BIOS thưng đưa ra s xut hinmàn hình dng như trong hình 3.1.

Hình 3.1: Màn hình khi đng ca GRUB

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 54/212

44 Khi đng Linux ln đu

Nu không chm vào bàn phím, thì trên màn hình s xut hin rt nhiuthông báo mà tm thi chúng ta s không xem xét ý nghĩa ca chúng1. Cui cùngxut hin màn hình cho phép ngưi dùng đăng nhp vào h thng. Nu bn đãchn t đng chy ch đ đ ho thì hãy nhn <Ctrl>+<Alt>+<F1> đ thy màn

hình đăng nhp như sau:ThinhQuyen login:

MànhìnhđăngnhpnàyxuthintrênmáycatácgikhikhiđngDebianLinux. Tt nhiên màn hình đăng nhp ca bn đc s khác. Nu có đ kiên nhnđ đc ht cun sách này, thì bn s bit cách thay đi màn hình này, ví d đưara nhng câu chào dng “ Xin chào! Hôm nay là 02 tháng 09 năm 2006. Hãy nhpvào tên ngưi dùng và mt khu”. Tuy nhiên bây gi vn còn sm đ nói v vnđ này. Nu khi đng bng đĩa mm thì quá trình cũng tương t nhưng chmhơn mt chút.

Nu Linux không phi là h điu hành (HĐH) duy nht trên máy tính, thìtrên màn hình khi đng GRUB s xut hin danh sách các h điu hành tìmthy. Có th chn HĐH mun khi đng bng các phím <↑> và <↓> ri nhn phím<Enter>. Nu đã chn khi đng Linux thì cui cùng ngưi dùng phi thy dònglogin:, tc là dòng mi nhp vào tên đăng nhp.

3.2 Đăng nhp vào h thng

Như bn đã bit, khi hin ra dòng mi này thì đu tiên cn nhp vào tên ngưi

dùng, sau đó nhp vào mt khu khi có yêu cu đ vào h thng. Nu đây là lnđăng nhp đu tiên vào h thng ngay sau khi cài đt, và trong khi cài đt bnquên to thêm ngưi dùng, thì hãy nhp vào tên ngưi dùng “root” (ngưi dùngcao cp). Đây là ngưi dùng duy nht luôn luôn có tài khon đưc to ra trongquá trình cài đt. Ngưi dùng này là ch s hu có toàn quyn đi vi h thngbây gi cũng như sau này, tc là có quyn truy cp không gii hn đn các tàinguyên, có th thêm, xóa nhng ngưi dùng khác, dng h thng v.v. . . Nhngthao tác không cn thn ca ngưi dùng này có th d dàng dn đn nhng huqu khó lưng, thm chí làm hng h thng. Vì th thưng ch đăng nhp dưitên ngưi dùng này khi thc hin các công vic qun tr h thng. Tuy nhiênchúng ta đang trong trưng hp này, vì th hãy nhp “root” vào dòng login:

ri nhn phím <Enter> (<Return>). H thng s đưa ra câu hi mt khu:

Password:

Tt nhiên là bn cn nhp vào mt khu tương ng vi ngưi dùng đã đưara, đây là mt khu ca root. Mt khu này là mt khu đã đưa ra cho ngưidùng root trong quá trình cài đt. Sau khi nhp mt khu cũng nhn <Enter>.Nu sau khi nhp vào tên ngưi dùng ri rt lâu sau không vào mt khu, thìh thng s t đng quay tr li dòng hi tên ngưi dùng login:. Sau khi nhpđúng mt khu, bn s thy dòng như sau:

1Trong nhng bn phân phi Linux mi, ví d SuSE Linux, có s dng màn hình flash. Do đócó th bn đc s không thy nhng thông báo này. Trong trưng hp đó, hãy nhn phím tươngng đ chuyn v màn hình khi đng bình thưng. Phím này thưng là <Esc>.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 55/212

3.2 Đăng nhp vào h thng 45

[root@ThinhQuyen /root]#

Dòng này đưc gi là du nhc. Xut hin du nhc có nghĩa là h thng đãsn sàng tip nhn và thc hin câu lnh ca ngưi dùng. thi đim này nó có

nghĩa là bn đã đăng nhp vào h thng mt cách thành công. Trong MS-DOSvà Windows(TM) màn hình đen và du nhc h thng thưng đưc gi là ch đdòng lnh. Chúng ta s gi ch đ này là văn bn đ phân bit vi ch đ đ hoca h thng X Window.

Trong ví d đưa ra trên du nhc gm tên ngưi dùng (root), tên h thng(ThinhQuyen) và thư mc hin thi (/root). Sau này bn có th thay đi dngca du nhc này. Trong tt c các ví d tip theo chúng ta s s dng du nhcch gm có tên ngưi dùng.

Trưc khi đ ngh bn đc nhp vào câu lnh đu tiên, cn nói rng trên btkỳ h thng UNIX nào kiu ch cũng đu đóng vai trò quan trng, tc là có phân

bit ch hoa và ch thưng. Vì th cn nhp vào tt c các câu lnh cũng nhưtham s ca chúng như ch ra trong ví d, k c kiu ch. Câu lnh đu tiênchúng ta s nhp vào là useradd. Sau tên ca câu lnh cn khong trng và sauđó là tên ngưi dùng, ví d, nhimlui:

[root]# useradd nhimlui

Ngay sau khi nhn phím <Enter> đ chy lnh này, trên h thng s bitrng ngưi dùng nhimlui tn ti (chúng ta nói, “m tài khon cho ngưi dùngnhimlui”). Tuy nhiên vn chưa th vào h thng (thưng nói, “đăng nhp”) dưitên ngưi dùng này. Đ h thng cho phép ngưi dùng mi nhimlui làm vic,

cn phi “to” thêm cho ngưi dùng này mt khu bng câu lnh:

[root]# passwd nhimlui

S xut hin dòng:

Changing password for nhimlui.New Password:

Hãy nhp vào mt khu. Sau khi nhp xong, cũng nhn phím <Enter>, h thngs hi nhp mt khu mt ln na đ kim tra.

Reenter New Password:

Đng ngc nhiên, bn s không nhìn thy mt khu vào vì h thng s khônghin th gì ra, k c du sao ‘*’ như thưng thy. Nu bn đã nhp đúng tt c,thì s xut hin thông báo thành công dng:

Password changed.

và s li xut hin du nhc ca h thng. Nu nhp vào mt khu không tt

(mt khu quá ngn hoc quá đơn gin), thì s xut hin dòng cnh báo (dngBad password: too short), nhưng h thng vn tip nhn mt khu và chophép ngưi dùng mi đăng nhp vào h thng.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 56/212

46 Khi đng Linux ln đu

Như vy là bn đc đã làm quen vi hai câu lnh đu tiên ca h thng Linux:useradd và passwd. Câu lnh tip theo mà bt kỳ ngưi dùng Linux nào cũngcn phi bit đó là câu lnh man. man là h thng tr giúp luôn luôn đi kèm vih thng Linux. Cn phi nhp vào câu lnh này vi mt tham s – tên ca câu

lnh khác hoc t khóa. Ví d:[root]# man passwd

Kt qu là bn s nhn đưc mt văn bn mô t câu lnh tương ng hocthông tin v đ tài mà t khoá đưa ra. Vì thông tin thưng không th nm gntrên mt màn hình nên khi xem cn s dng các phím <PageUp>, <PageDown>,và phím trng. Hãy nhn phím <Q> bt kỳ thi đim nào đ thoát ra khimàn hình xem man và quay li dòng nhp lnh. Bây gi xin bn đc hãy th xemthông tin v hai câu lnh đã đ cp đn trên – login và passwd. Chú ý là cóth xem thông tin v chính bn thân câu lnh man. Hãy chy lnh:

[root]# man man

Rt tic theo như tác gi bit thì hin thi các trang thông tin man còn chưađưc dch sang ting Vit. Do đó bn s nhn đưc nhng trang này bng ting Anh. Nu như bn không có kh năng đc ting Anh, thì hay kiên nhn đc cunsách này hoc mt cun sách khác cùng đ tài.

Bn đc còn có th th chy thêm mt vài câu lnh na và theo dõi xem hthng làm gì. Ví d, hãy th nhng câu lnh lit kê trong bng 3.1 (hãy nhpchúng cùng vi nhng tham s có trong bng).

Bng 3.1: Nhng câu lnh đơn gin ca LinuxCâu lnh Mô t ngn gnwhoami Thông báo tên đăng nhp ca bnw hoc who Cho bit nhng ngưi dùng nào hin đang làm vic trên

h thngpwd Cho bit tên ca thư mc hin thils -l Hin th danh sách tp tin và thư mc con ca thư mc

hin thicd tên_thư_mc Chuyn thư mc hin thi đn tên_thư_mc

ps ax Hin th danh sách các tin trình đang chy

Hãy xem mô t v nhng câu lnh này bng man.Chúng ta s không xem xét chi tit danh sách tt c nhng câu lnh có th

gp. Vì th nht, ngưi dùng s dn dn làm quen vi chúng trong quá trình đccun sách này và thc hành trên HĐH Linux ca mình. Th hai, có th đc vnhng câu lnh chính trong bt kỳ cun sách nào nói v UNIX.

3.3 Console, terminal o và shell

Như vy là bn đc đã có kinh nghim làm vic đu tiên ch đ văn bn (haycòn gi là kênh giao tác “console”) ca h thng Linux. Chúng ta s còn gp

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 57/212

3.3 Console, terminal o và shell 47

thưng xuyên nhng khái nim trình lnh “terminal” và “console”, do đó tác gigii thích k hơn nhng khái nim này.

Khi h thng UNIX đu tiên mi đưc to ra, máy tính còn rt to (mainframe)và ngưi dùng làm vic trên nhng máy tính này qua mt h thng nhng giaodin k tip nhau dùng đ kt ni các terminal xa. Terminal – thit b dùngđ giao tip gia ngưi dùng và máy tính, thưng gm màn hình và bàn phím.Máy tính cá nhân ca bn đc là máy tính th h mi, do đó chc s không cóterminal xa nào kt ni ti, nhưng vn có bàn phím và màn hình thc hin vaitrò terminal đi vi ngưi dùng. Ngoài ra thêm vào thành phn ca terminal bâygi còn có chut.

Mainframe có mt terminal đc bit dành cho nhà qun tr (system adminis-trator) h thng, đưc gi là console. Console thưng kt ni ti máy tính khôngqua giao din k tip nhau mà qua mt cm riêng (đôi khi thit b đưa rakhông phi là màn hình mà là mt thit b in). Vì trên các h thng UNIX ngưi

ta thưng tuân theo các truyn thng, do đó bàn phím và màn hình máy tính cánhân ngày nay làm vic ging như console ngày xưa. Đim mnh ca gii phápnày ch tt c nhng chương trình cũ đã dùng đ qun tr h thng UNIX cóth làm vic không có vn đ gì trên dng console mi này.

Tuy nhiên, ngoài console Linux còn cho phép kt ni các terminal xa timáy tính. Và hơn th na còn cung cp kh năng làm vic vi mt vài terminalo t mt console duy nht. Hãy nhn t hp phím <Ctrl>+<Alt>+<F2>. Bnđc s li thy dòng mi đăng nhp login:. Nhưng đây không phi là làm vicli t đu vi h thng mà bn đc ch chuyn sang mt terminal o khác. đây bn đc có th đăng nhp dưi tên ngưi dùng khác. Hãy th vào h thng

bng tên ngưi dùng va mi to ra (nhimlui). Sau đó hãy nhn t hp phím<Ctrl >+< Alt>+<F1>. Bn s quay li màn hình ban đu. Theo mc đnh, huht các bn phân phi Linux ln (Red Hat, SuSE, Debian,...) m ra 6 phiênlàm vic song song (terminal o) như vy khi khi đng. Như vy rt thuntin cho s dng. Đ chuyn gia các terminal o chúng ta s dng các t hpphím <Ctrl>+<Alt>+<F1> — <Ctrl>+<Alt>+<F6>. Cn nói thêm là khi làm vic ch đ văn bn (không phi đ ho) thì cũng có th s dng các t hp phím<Alt>+<F1> — <Alt>+<F6> và thu đưc kt qu tương t. Tuy nhiên nu làmvic ch đ đ ho thì không th không dùng phím <Ctrl>. Do đó, tt hơn ht làlàm quen ngay t đu vi t hp 3 phím. Nhân tin cũng cn nói luôn, nu trong

quá trình làm vic bn đc không nh đang nm trong terminal o nào thì hãys dng câu lnh tty. Lnh này s đưa ra tên ca terminal dng: /dev/tty2. Xin nói ngay lp tc nu bn mun thoát khi mt trong các terminal thì có

th thc hin bng t hp phím <Ctrl>+<D>. Thao tác này không tt máy vàcũng không khi đng li h thng. Đng quên rng Linux là HĐH nhiu tintrình (multiproccess) và nhiu ngưi dùng (multiuser). Mt ngưi dùng nào đódng công vic không có nghĩa là cn phi tt máy, còn có nhng ngưi dùngkhác vn tip tc làm vic. T hp phím nói trên ch đơn gin là dng phiên làmvic hin thi ca mt ngưi dùng, và h thng s hin th li trên terminal nàydu mi đăng nhp (login:) mà bn đc đã thy. Cũng có th dng phiên làmvic bng mt trong hai câu lnh logout hoc exit.

Bây gi khi đã bit cách bng đu và kt thúc phiên làm vic trên h thng,xin bn hãy thc hin nhng li khuyên trên, tc là vào h thng dưi tên ngưi

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 58/212

48 Khi đng Linux ln đu

dùng bình thưng (không có quyn cao “cp” ca ngưi dùng root). Hãy đóng ttc nhng phiên làm vic mà root m ra, ri vào h thng dưi tên ngưi dùngmi to ra.

Còn bây gi cn nói vài dòng v h v. H v hay shell (t này thưng khôngdch mà đ nguyên ting Anh) là chương trình thc hin vic giao tip ca hthng vi ngưi dùng. Chính shell nhn tt c nhng câu lnh mà ngưi dùngnhp vào t bàn phím và t chc vic thc hin nhng câu lnh này. vì th shellcòn có th gi là b x lý lnh (thut ng quen thuc đi vi ngưi dùng DOS).Nói mt cách cht ch thì câu “h thng hin th du nhc” là không đúng, vìdu nhc này là do shell đưa ra đ đi ngưi dùng nhp vào câu lnh tip theo.Mi ln ngưi dùng nào đó vào h thng, câu lnh login s chy cho ngưi dùngnày mt b x lý lnh – shell. Nu bn đc đăng nhp vào h thng t terminalth hai dưi tên ngưi dùng nhimlui (hoc dưi tên ngưi dùng bn đã chn),thì hãy chú ý đn s khác nhau trong du nhc ca hai ngưi dùng root vànhimlui. Du nhc ca ngưi dùng root có ký t # cui, du nhc ca tt cnhng ngưi dùng còn li – ký t $.

Không ch duy nht lnh login có kh năng chy shell. Bn ch cn nhpvào lnh bash (đây cũng là tên ca chương trình h v trên phn ln các hthng Linux) và như vy là đã chy mt shell mi. Khi thoát khi h v minày (bng câu lnh exit hoc t hp phím <Ctrl>+<D>), bn s quay li h vban đu (h v mà t đó bn đã chy lnh bash).

H v bash không ch là b x lý lnh mà còn là mt ngôn ng lp trìnhmnh. Trong bash có đy đ các câu lnh tích hp (ni b) và các toán t, vàngoài ra còn có th s dng các chương trình khác nm trên đĩa làm câu lnh.

Có th xem danh sách các câu lnh tích hp trong bash bng lnh help. Hãyth lnh này! Xem thông tin chi tit v mt lnh nào đó cũng bng lnh helpnày vi tham s là tên ca lnh, ví d: help cd. Vì h v bash đóng mt vai tròht sc quan trng trong Linux, nên tác gi s dành riêng mt chương ca cunsách này đ nói v nó. Tt nhiên là bn có th tìm thy nhng thông tin tươngt trong bt kỳ cun sách nào v UNIX. Cũng cn lưu ý là đi vi các h thngUNIX các nhà phát trin đã vit ra nhiu h v khác thay th cho bash. Cũng cóth s dng nhng h v này trên Linux, nhưng theo mc đnh s chy bash.

Bây gi chúng ta s xem xét thêm mt câu lnh na mà bn đc cn bit. Máytính ca ngưi dùng thông thưng là máy cá nhân (personal computer hay nói

gn là PC) dù nhà hay cơ quan. Có nghĩa bn đc cũng là ngưi dùng rootca h thng. Nhưng như đã nói trên, đăng nhp dưi tên ngưi dùng cao cpnày là không nên, vì mi thao tác không cn thn ca ngưi dùng này có thdn đn nhng hu qu không mong mun. Khi đăng nhp dưi tên ngưi dùngthông thưng, ít nht bn đc cũng không th xóa hoc làm hng các tp tin hthng (system files) do s không cn thn ca mình. Trong khi đó, có mt lotcác thao tác, ví d gn h thng tp tin, ch có ngưi dùng cao cp mi có ththc hin. Đng khi đng li máy tính mi ln như vy! Câu lnh su giúp đgii quyt nhng trưng hp như vy. Ch cn nhp câu lnh su và shell hinthi (hay nói không đúng là “h thng”) s chy mt shell mi mà khi vào trong

đó bn s chy tt c các lnh vi quyn ca root. Tt nhiên là đ có quyn nàybn cn nhp mt khu ca root vào dòng yêu cu hin ra (Password:). Saukhi thc hin xong các công vic qun tr h thng, hãy thoát khi h v và bn

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 59/212

3.4 Son tho dòng lnh. Lch s lnh 49

s tr thành ngưi dùng bình thưng vi nhng quyn ca mình.Bng cách tương t như vào h thng dưi tên root trên, còn có th vào h

thng dưi tên mt ngưi dùng bt kỳ mà bn bit mt khu2 (nói cách khác là“chy mt h v shell mi dưi tên ngưi dùng khác”). Nhưng cn ch ra tên

ca ngưi dùng này trên dòng lnh, ví d:

[user]$ su nhimlui

Câu lnh su trưc không kèm theo tên nào, theo mc đnh s đt tên ngưidùng cao cp root vào.

Nhưng trong HĐH Linux còn có thêm mt kh năng chuyn tm thi vàotài khon ca ngưi dùng root đ thc hin các chc năng qun tr. Hãy nhrng Linux là h thng nhiu ngưi dùng, trên h thng có th làm vic cùng lúcnhiu ngưi dùng. Vì th có th làm vic dưi tên ngưi dùng root trên terminal

o th nht, còn trên terminal o th hai – dưi tên ngưi dùng bình thưng.Nhng công vic thưng ngày (son tho văn bn, đc thư,...) bn có th thchin bng tài khon bình thưng, còn khi cn thc hin các công vic qun tr,bn s dùng tài khon ngưi dùng cao cp (root). Đ thc hin la chn này bnch cn nhn <Ctrl>+<Alt>+<F1> và s có ngay quyn ca nhà qun tr. Saukhi làm xong nhng thao tác mà ch có ngưi dùng cao cp mi có th làm, hãyquay li tài khon ca ngưi dùng bình thưng ngay lp tc bng t hp phím<Ctrl>+<Alt>+<F2>. Như vy bn đc s không có nguy cơ làm hng h thngkhi còn chưa có nhiu kinh nghim s dng Linux.

3.4 Son tho dòng lnh. Lch s lnhTrong nhng phn trưc tác gi đã đ ngh bn đc thc hin mt vài lnh caHĐH Linux. Tác gi cho rng nu trong quá trình nhp lnh có xy ra li thìbn có th đoán đưc cách sa chúng. Nhưng dù sao cũng có ích nu đưa ra danhsách ngn gn nhng câu lnh (hay nói đúng hơn là phím và t hp phím) dùngđ son tho dòng lnh, cũng như gây nh hưng đn cách làm vic ca shellbng bàn phím (bng 3.2, chúng ta s nói v chut mt phn riêng).

Ghi chú: Nu bn làm vic trong chương trình Midnight Commander, thì có ths không th s dng nhng phím như <→>, <←>, <Home>, <End>, <Del> đ làm cáccông vic như bng trên, vì chúng đưc Midnight Commander dùng đ di chuyn dòngchiu sáng trong bng3 hin thi. Nhưng mt s t hp phím dùng vi <Ctrl> và <Esc>thì vn dùng đưc bình thưng.

Danh sách nhng câu lnh (t hp phím) có th dùng không ch gii hn trongphm vi bng 3.2, nhưng chúng ta ch xem xét nhng câu lnh đơn gin và cnthit trong ln làm quen đu tiên vi Linux này. Đ có thêm thông tin hãy sdng câu lnh man bash hoc info bash.

 Xin lưu ý bn đc trong h v bash có chương trình tích hp giúp d dànhnhp câu lnh trên dòng lnh. Gi chương trình con này bng mt hoc hai lnnhn phím <Tab> sau khi nhp mt vài ký t. Nu nhng ký t này là phn

2Ngưi dùng root không cn phi bit mt khu đ làm vic này.3panel

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 60/212

50 Khi đng Linux ln đu

Bng 3.2: Nhng phím son tho dòng lnhPhím Phn ng ca h thng<→>, <Ctrl>+<F> Di chuyn sang phi mt ký t (trong khuôn kh nhng ký

t đã nhp cng thêm mt ký t s nhp).<←>, <Ctrl>+<B> Di chuyn sang trái mt ký t.<Esc>+<F> Di chuyn sang phi mt t.<Esc>+<B> Di chuyn sang trái mt t.<Home>, <Ctrl>+<A> Di chuyn v đu dòng lnh.<End>, <Ctrl>+<E> Di chuyn v cui dòng lnh.<Del>, <Ctrl>+<D> Xóa ký t nm ti v trí con tr.<Backspase> Xóa ký t nm bên trái con tr.<Enter>, <Ctrl>+<M> Bt đu thc hin câu lnh.<Ctrl>+<L> Dn màn hình và đưa dòng lnh hin thi lên dòng đu tiên.

<Ctrl>+<T> Đi ch hai ký t: ký t nm ti v trí con tr và ký t nmbên trái con tr, sau đó di chuyn con tr sang phi mt kýt.

<Esc>+<T> Đi ch hai t: t nm ti v trí con tr và t nm bên tráicon tr.

<Ctrl>+<K> Ct phn dòng lnh bt đu t ký t nm ti v trí con trđn cui dòng (phn dòng lnh ct ra đưc lưu trong b đmvà có th đt vào v trí khác).

<Ctrl>+<U> Ct phn dòng lnh bt đu t ký t nm bên trái con trđn đu dòng (phn dòng lnh ct ra đưc lưu tron b đmvà có th đt vào v trí khác).

<Esc>+<D> Ct phn dòng lnh bt đu t v trí con tr đn cui t (nuti v trí con tr là du cách thì ct toàn b t nm bên phinó).

<Esc>+<Del> Ct phn dòng lnh bt đu t v trí con tr đn đu t (nuti v trí con tr là du cách thì ct toàn b t nm bên tráinó).

<Ctrl>+<W> Ct phn dòng lnh bt đu t v trí con tr đn du cách bên trái.

<Ctrl>+<Y> Đt (dán) đon dòng lnh đã ct cui cùng vào v trí con tr.<Esc>+<C> Chuyn ký t ti v trí con tr thành vit hoa ri di chuyn

con tr ti du cách đu tiên bên phi so vi t hin thi.<Esc>+<U> Chuyn tt c các ký t bt đu t v trí con tr thành vit

HOA ri di chuyn con tr ti du cách đu tiên bên phi.<Esc>+<L> Chuyn tt c các ký t bt đu t v trí con tr ti cui t

thành vit thưng ri di chuyn con tr ti du cách đutiên bên phi.

<Shift>+<PgUp>,<Shift>+<PgDown>

Nhng t hp phím này cho phép xem các trang màn hìnhđã hin th. S lưng nhng trang này ph thuc vào b nhca cc màn hình. Có ích khi có câu lnh nào đó đưa ra mànhình rt nhiu thông tin chy nhanh qua màn hình, ngưidùng không kp thy chúng.

<Ctrl>+<C> Dng thc hin câu lnh va chy (mà vn đang chy).<Ctrl>+<D> Thoát ra khi h v bash.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 61/212

3.5 Ngng làm vic vi Linux 51

đu ca ít nht mt trong nhng câu lnh mà bash bit, thì có hai kh năng xyra. Nu chúng là phn đu ca duy nht mt câu lnh, tc là bash ch tìm thycó mt câu lnh này, thì h v s thêm phn còn li ca câu lnh này vào dònglnh. Nu bash tìm thy nhiu câu lnh có phn đu này, thì s hin th danh

sách tt c nhng phương án có th chn. Nh đó ngưi dùng có kh năng nhpthêm mt vài ký t na làm gim s phương án chn xung còn 1 ri là dùngphím <Tab> mt ln na. Nu s phương án chn là rt nhiu (ví d nhn phím<Tab> hai ln khi dòng lnh trng rng) thì bn đc s nghe thy ting bíp sauln nhn <Tab> đu tiên, và sau ln nhn <Tab> th hai s xut hin mt dòngdng Display all 2627 possibilities? (y or n) (Hin th tt c 2627kh năng? cn chn y – có hoc n – không).

Nu nhn hai ln phím <Tab> sau tên ca mt câu lnh và mt khongtrng, thì h v bash s coi như bn đang tìm tên tp tin đ dùng làm tham scho lnh này, và bash s đưa ra danh sách tp tin ca thư mc hin thi. Đây là

tính năng tr giúp ca bash trong trưng hp ngưi dùng quên tên tp tin trongkhi làm vic căng thng. Cũng ging như trưng hp câu lnh, nu đã nhp vàomt phn tên tp tin thì phn còn li s đưc t đng thêm vào. Tương t nhưvy có th đoán phn còn li ca các bin môi trưng4, ch cn s dng t hpphím <Esc>+<$> thay cho <Tab>.

Trong khi làm vic vi h v s có ích nu bit rng, bash ghi nh mt s câulnh (theo mc đnh là 1000 lnh, giá tr này đưc đt trong bin HISTSIZE, xemchương 5) và cho phép gi li chúng bng cách chn t danh sách. Đây đưc gilà lch s lnh. Có th xem lch s lnh bng câu lnh history. đây bn cns dng các t hp phím <Shift>+<PgUp> và <Shift>+<PgDown> đ xem danh

sách (có th) rt dài này. Lch s lnh đưc lưu trong tp tin xác đnh bi binHISTFILE (thưng là $HOME/.bash_history). Đ làm vic vi lch s câu lnhtrong h v bash ngưi ta s dng nhng t hp phím trong bng 3.3.

3.5 Ngng làm vic vi Linux

Mc dù máy tính làm vic dưi s điu khin ca HĐH Linux có th đ chysut ngày đêm, nhưng phn ln ngưi dùng máy tính cá nhân đã quen vi victt máy sau khi làm vic xong. Khi làm vic vi HĐH Linux không th tt máybng cách ngt ngun đin như đi vi MS-DOS. Vì trong bt kỳ thi đim nào

trên h thng cũng có rt nhiu quá trình đang làm vic. Bn có th thy điunày bng cách thc hin lnh:

[nhimlui]$ ps ax

Thc hin li lnh này mt ln na đ xem li. Nhưng nguyên nhân quan trnghơn là ch mt s tin trình này có th đang làm vic vi các tp tin, và hthng còn chưa ghi nh tt c các thay đi vi nhng tp tin lên đĩa mà ch lưutm chúng trong b nh (cache). Nu ngt ngun đin thì nhng thay đi này skhông đưc lưu và s b mt, đôi khi có th dn đn không khi đng đưc máytrong ln sau. Do đó cn bit dng h thng mt cách đúng đn trưc khi tt

máy. Công vic này do câu lnh (chương trình) shutdown đm nhim.4environment variable

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 62/212

52 Khi đng Linux ln đu

Bng 3.3: T hp phím điu khin lch s lnhPhím Phn ng ca h thng

<↑> hoc <Ctrl>+<P> Chuyn ti (gi vào dòng lnh) câu lnh

trưc trong danh sách (di chuyn ngưcli danh sách)<↓> hoc <Ctrl>+<N> Chuyn ti câu lnh tip theo trong danh

sách (di chuyn theo danh sách)<PgUp> Chuyn ti câu lnh đu tiên trong danh

sách lch s lnh<!>, <N> Thc hin (không cn nhn <Enter> câu

lnh th n trong danh sách<!>, <->, <N> Thc hin câu lnh th n tính t cui

danh sách

<!>, dòng_ký_t Thc hin dòng lnh, có phn đu trùngvi dòng_ký_t. Vic tìm dòng lnh cnthit s đưc thc hin t cui tp tin lchs và dòng lnh đu tiên tìm thy s đưcthc hin

<Ctrl>+<O> Cũng ging như nhn phím <Enter>, sauđó hin th câu lnh tip theo trong lchs lnh

Ch có ngưi dùng root mi có th thc hin câu lnh shutdown này5, do đó

bn cn đăng nhp vào h thng dưi tên ngưi dùng này, hoc dùng câu lnhsu đ có đ quyn tương ng. Câu lnh shutdown có cú pháp như sau:

[root]# shutdown <tùy_chn> <thi_gian> <dòng_thông_báo>

Ghi chú: Rt có th khi chy lnh, bn s nhn đưc câu tr li “bash: shutdown:

command not found”. Điu đó có nghĩa là bash không bit tìm chương trình đây.Trong trưng hp đó bn cn nhp vào đưng dn đy đ đn chương trình, đây là/sbin/shutdown, vì tp tin chương trình ca shutdown nm ti /sbin.

Thưng s dng hai trong s các tùy chn ca chương trình shutdown:

• -h – dng hoàn toàn h thng (halt, s tt máy)

• -r – khi đng li h thng (reboot).

Tham s thi_gian dùng đ “hn gi” thc hin câu lnh (không nht thitphi thc hin câu lnh ngay lp tc). Thi gian hn gi đưc tính t lúc nhnphím <Enter>. Ví d, nu bn mun khi đng li sau 5 phút thì hãy nhp vàocâu lnh:

[root]# shutdown -r +55Cũng có th cu hình đ nhng ngưi dùng khác thc hin đưc shutdown, ví d qua sudo.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 63/212

3.6 Tr giúp khi dùng Linux 53

Câu lnh này có nghĩa là “dng h thng sau 5 phút và khi đng li sau khihoàn thành công vic”. Đi vi chúng ta thì tm thi câu lnh sau s thích hphơn:

[root]# shutdown -h now

Câu lnh này s tt máy ngay lp tc. Tương đương vi câu lnh này là lnhhalt. Sau khi nhn t hp phím “ni ting” <Ctrl>+<Alt>+<Del> trên Linux sthc hin các hành đng tương t vi lnh

[root]# shutdown -r now

Bng cách này cũng có th tt máy, nhưng cn ngt ngun đin trong khi hthng bt đu khi đng li.

3.6 Tr giúp khi dùng Linux

Như vy là bn đc đã kt thúc phiên làm vic đu tiên vi HĐH Linux và tôimong rng bn chưa cn tr giúp trong mt tình hung nào đó. Tác gi cũngmong cun sách này s thc hin vai trò tr giúp trong thi gian đu tiên này,nhưng có th nó không gii quyt đưc tt c nhng vn đ ca bn. Vì th tácgi s đưa ra ngay lp tc nhng ngun thông tin khác. Nhưng tôi s phi “đitrưc” k v cách nhn thông tin tr giúp trong giao din đ ho (X Window). Tácgi coi cách gii quyt này là đúng vì ngưi dùng cn bit trưc cách thoát khi

nhng trưng hp khó khăn.

3.6.1 Các ngun thông tin tr giúp

Nu rơi vào tình hung mà bn không bit phi làm gì đ có đưc kt qu mongmun, thì tt nht hãy tìm tr giúp ngay trong h thng. Các phiên bn Linuxcó hàng nghìn trang tài liu dng tp tin, do đó câu tr li cho câu hi ca bnđã nm trong lòng bàn tay. Có mt vài ngun đc lp cha thông tin v hu htcác mt ca h thng Linux:

• các trang tr giúp man

• tr giúp siêu văn bn info

• tài liu đi kèm vi phn mm

• HOWTO và FAQ ca d án The Linux Document Project (http://www.tldp.org)

• câu lnh locate

Cn nói ngay lp tc là phn ln thông tin t nhng ngun này bng ting

 Anh. Các d án dch chúng sang ting Vit còn chưa đưc t chc hoc còn chưađưc hoàn chnh. Do đó chúng ta s xem xét tng ngun thông tin này mt cáchc th hơn.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 64/212

54 Khi đng Linux ln đu

3.6.2 Các trang tr giúp man

Như đã nói ngn gn trên v câu lnh man, bng câu lnh này ngưi dùng tronghình hung khó khăn luôn luôn có th tìm tr giúp v bt kỳ câu lnh nào ca

h thng, v đnh dng tp tin, và v các gi h thng (system call). Đây là cáchnhn tr giúp chính trong tt c các h thng UNIX. Các trang tr giúp man chiathành các phn như trong bng 3.4.

Bng 3.4: Các phn chính ca tr giúp manPhn Ni dung

0 Các tp tin header (thưng nm trong /usr/include)1 Chương trình hoc câu lnh ca ngưi dùng8 Câu lnh dùng đ qun tr h thng2 Gi h thng6 (hàm do nhân cung cp)

3 Gi thư vin7 (chương trình con, hàm trong thư vin ca ng dng)4 Thit b (tp tin đc bit, thưng nm trong /dev)5 Đnh dng tp tin và quy ưc, ví d /etc/passwd

6 Trò chơi7 Khác (bao gm các gói macro và quy ưc, ví d man(7), groff(7)9 Nhân (kernel routines)n các lnh Tcl/Tk

Th t lit kê đây không có s nhm ln nào. Vn đ ch các tp tin chathông tin ca tr giúp man nm trong các thư mc con manx (x là tên ca phn)

ca thư mc /usr/share/man và khi câu lnh man tìm kim thông tin cn thit,thì nó s xem các thư mc con này theo th t đã ch ra trong bng 3.4. Nu bnchy lnh

[user]$ man swapon

thì s nhn đưc tr giúp v câu lnh swapon nm trong phn 8. Vì th numun xem tr giúp v gi h thng swapon cn chy lnh

[user]$ man 2 swapon

đ ch ra s th t ca phn tr giúp cn tìm kim thông tin.Các trang man đưc xem bng chương trình less (hoc chương trình xácđnh bi bin PAGER), do đó có kh năng xem thông tin theo tng màn hình và dichuyn màn hình này xung dưi và lên trên và đ di chuyn có th s dng cácphím như trong chương trình less. Nhng phím thưng dùng nht là:

Nu bn không thích đc t màn hình mà cm tay đc, thì có th in ra trangman tương ng bng lnh

[user]$ man tên_câu_lnh | lpr

hoc nu máy in là postscript thì dùng:[user]$ man -t tên_câu_lnh | lpr

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 65/212

3.6 Tr giúp khi dùng Linux 55

Bng 3.5: Phím s dng đ xem trang manPhím Chc năng<Q> Thoát khi chương trình

<Enter> Xem tng dòng<Space> Hin th màn hình thông tin tip theo<B> Quay li màn hình trưc

</>, dòng ký t, <Enter> Tìm kim dòng ký t ch ra<N> Lp li tìm kim va thc hin.

Tuy nhiên đ có th nhn đưc thông tin mong mun thì còn cn phi bitch tìm thông tin đó. Trong trưng hp này có th dùng hai câu lnh whatisvà apropos. Câu lnh whatis tìm kim t khóa đưa ra trong cơ s d liu baogm danh sách các câu lnh và mô t ngn gn ca chúng. Lnh này ch đưa ra

nhng trùng lp chính xác vi t khóa tìm kim. Câu lnh apropos thc hintìm kim theo các phn ca t khóa. Tương t như lnh apropos là câu lnhman vi tham s -k. Hãy th chy lnh sau:

[user]$ man -k net

Cn phi nói luôn là đ cho các câu lnh man -k, whatis và apropos làmvic, thì đu tiên cn to ra cơ s d liu v các câu lnh có trên máy bng cáchchy lnh makewhatis. Trong trưng hp ngưc li khi tìm kim bn s nhnđưc thông báo “nothing appropriate”. Ch có ngưi dùng root mi có quyn chy

câu lnh makewhatis. Nu bn đc đ máy chy c đêm thì tt nht chy câulnh này dng công vic cho tin trình cron8.Cui cùng tác gi mun nói rng, các trang tr giúp man không dành cho thi

gian làm quen đu tiên vi Linux. Chúng dành cho nhng ngưi dùng có kinhnghim cn có “s tay tra cu” v đnh dng, tuỳ chn và cú pháp ca lnh trongquá trình làm vic đ không phi nh mt s lưng ln nhng thông tin nàytrong đu.

3.6.3 Câu lnh info

Câu lnhinfo

là dng tr giúp thay th và tương đương viman

. Đ nhn thôngtin v mt câu lnh nào đó, thì cũng ging như man, cn nhp vào info cùng vimt tham s là tên ca câu lnh quan tâm. Ví d:

[user]$ info man

Thông tin màn bn s thy trên màn hình trong phn ln trưng hp s khácvi nhng gì mà câu lnh man đưa ra. Và theo ý kin ca nhiu ngưi dùng làv chiu hưng tt hơn. Nhưng s khác nhau cơ bn nht ch info đưa rathông tin dng siêu văn bn (hypertext) ging như các trang web. Nh đó bncó kh năng xem các phn khác nhau ca tr giúp mà không cn phi thoát ra

khi chương trình xem này. Trong khi làm vic ch đ văn bn, bn có th8cron là chương trình đ chy t đng các công vic theo thi gian đã đnh.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 66/212

56 Khi đng Linux ln đu

chy câu lnh info trên mt trong các terminal o (hãy nh đn các t hp phím<Ctrl>+<Alt>+<F2>, <Ctrl>+<Alt>+<F3> v.v. . . ) đ có th chuyn sang terminalo đó tìm tr giúp khi cn thit. Trong trưng hp bn không bit tìm thông tincn thit đâu thì có th chuyn sang các phn khác nhau bng các siêu liên kt

(hyperlink) mà info to ra. Nhng liên kt này đưc đánh du bng ký t sao(*), khác vi cách đánh du liên kt trên các trang Web nhưng vn gi nguyênđưc s thun li. Có th di chuyn qua các liên kt bng phím <Tab>. Sau khi dichuyn đn liên kt mong mun, hãy nhn phím <Enter>. Phím <P> đưa ngưidùng tr li trang va xem, phím <N> đưa đn trang tip theo, còn <U> chuynlên trên mt bc trong cu trúc phân bc ca các trang tài liu này.

Ngoài ra, còn có th chuyn theo liên kt bng cách khác tương t như hthng trình đơn. Đu tiên cn nhn phím <M>, sau đó nhp vào dòng Menuitem: cui màn hình mt vài ký t đu tiên ca tên ca phn tr giúp cnthit. Tên ca nhng phn tr giúp này đưc hin th trên màn hình. S ký t

phi đ sao cho ch tương ng vi mt phn tr giúp, nu không thì chương trìnhs yêu cu nhp thêm vào. Thoát ra khi info bng phím <Q>.

3.6.4 Câu lnh help

Như đã nhc đn trên, h thng tr giúp v các lnh tích hp ca h v bashlà câu lnh help. Nu chy lnh help không có tham s thì s nhn đưc danhsách ca tt c các lnh tích hp ca bash. Nu chy help tên, trong đó tên làtên ca mt trong nhng câu lnh nói trên, thì bn s nhn đưc gii thiu ngngn v cách s dng câu lnh này.

3.6.5 Tài liu đi kèm vi bn phân phi và chương trìnhng dng

Nu trong quá trình cài đt không b đi nhng gói tài liu, thì sau khi kt thúcbn s tìm thy trong thư mc /usr/share/doc (hoc /usr/doc) các thư mccon HOWTO, FAQ,. . . Nhng thư mc này cha tài liu đy đ v h thng Linuxnói chung cũng như nhng phn riêng r ca nó. Nhng tài liu này có dngvăn bn ASCII và có th xem chúng bng các câu lnh more tên hoc lesstên hoc bng chương trình xem có trong Midnight Commander.

Phn ln các chương trình ng dng có kèm theo tài liu hưng dn cài đtvà s dng. Nu cài đt chương trình t gói (package) dng rpm (Fedora Core,SuSE, Mandriva,...) thì tài liu s nm trong thư mc con tương ng ca thưmc /usr/share/doc. Tên ca nhng thư mc con này tương ng vi tên cachương trình và phiên bn ca nó. Ví d, chương trình nhp ting Vit mà tôiđang dùng đ gõ nhng dòng này xvnkb phiên bn 0.2.9 có thư mc con tươngng xvnkb-0.2.9 nm trong /usr/share/doc sau khi cài đt.

Đôi khi đ tìm tp tin tr giúp mong mun bn s cn đn câu lnh locate.Câu lnh này trong mt chng mc nào đó tương t vi các lnh whatis vàapropos. Khi chy locate nó s tìm tt c nhng tp tin có tên cha t khóa

đưa ra. Ví d locate net s tìm tt c nhng tên tp tin có tên cha “net”.Nhng tp tin này có rt nhiu trên máy. Trong t khóa (mu) có th s dngcác ký t thay th *, ?, []. Tuy nhiên câu lnh locate không tìm kim theo các

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 67/212

3.6 Tr giúp khi dùng Linux 57

thư mc ca h thng tp tin, mà theo cơ s d liu đc bit cha tên các tp tinđưc to ra (và đôi khi cn cp nht) bng lnh updatedb.

Trong mt s bn phân phi locate đưc thay th bi slocate (secure lo-cate). slocate t to cho mình cơ s d liu nói trên sau khi chy vi tham s

tương ng.

3.6.6 Câu lnh xman

Đây là chương trình cho phép xem các trang tr giúp man khi làm vic giaodin đ ho (GUI). Vic tìm kim và hin th các trang tr giúp đưc thc hinbng cách nhn các nút và trình đơn. Còn li (theo thông tin hin th) xman cũngging như man.

3.6.7 Câu lnh helptool

Sau khi chy lnh helptool s hin ra mt ca s đ ho, có mt ô nhp vàođ ngưi dùng đưa ra thut ng đang quan tâm. Chương trình s xem tt c cáctp tin tài liu (bn có th cu hình đ chn nhng tài liu nào cn xem khi tìmkim). Sau khi hoàn thành tìm kim chương trình s hin ra danh sách nhngtp tin có cha thut ng này. Nu nhn chut vào mt tp tin trong danh sáchthì s hin ra mt ca s khác ni dung ca tp tin đã chn. Khi này tp tin sđưc hin th dng lưu trên đĩa: trang info, trang man, v.v. . .

3.6.8 Sách và InternetTt nhiên, hc Linux d dàng và đơn gin nht khi có mt cun sách tt. Trưctiên bn cn đc tài liu hưng dn đi kèm vi bn phân phi ca mình. Các bnphân phi ln như Debian, SuSE, Fedora,. . . đu đã có nhng tài liu này (rt cóth đã đưc dch sang ting Vit). Rt tic ngưi dch chưa đc cun sách ting Vit nào v Linux do đó không th gii thiu vi bn đc. Tt nhiên nu bn cókt ni Internet (bây gi không còn quá xa x) và mt chút ting Anh thì có thtìm đưc câu tr li cho mi câu hi ca mình. Tôi xin đưa ra mt s đa ch saulàm bưc khi đu cho bn đc trong bin thông tin vô b bn này.

Các trang ting Vit1. http://vnoss.org – trang web dành cho ngưi dùng ng dng mã ngun

m (MNM) Vit Nam. Có nhiu thông tin v Linux, tài liu v Linux, dinđàn cho phép bn đt câu hi ca mình. Trang web do bác Nguyn Đi Quýđang sng và làm vic ti B qun lý.

2. http://vnoss.net – tin tc v Linux và MNM.

3. http://vnlinux.org – đây là trang web dành cho nhóm ngưi dùng

Linux Vit Nam (vietlug). Bn s tìm thy nhiu thông tin có ích đâyvà có th đăng ký tham gia nhóm thư vietlug đ đt câu hi. Trang này doanh Larry Nguyn, mt Vit Kiu M, qun lý.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 68/212

58 Khi đng Linux ln đu

4. http://vnoss.net/dokuwiki/doku.php?id=linux:tailieutiengviet – trên trang này có tng hp tt c nhng tài liu ting Vit v Linux, rt cóth bn s tìm thy tài liu v đ tài mình cn tìm hiu trên trang này.

5. http://kde-vi.org – trang web ca nhóm dch giao din KDE sangting Vit.

Các trang ting Anh

1. http://www.linux.com

2. http://www.linux.org

3. http://www.linux.org.uk – Trang web Linux ca Châu Âu. Do AllanCox mt trong các nhà phát trin Linux h tr.

4. http://www.tldp.org – Trang web chính cha tài liu v Linux. Rtnhiu tài liu bao gm HOWTO, FAQ, sách. . .

5. http://freshmeat.net/ – Thông báo hàng ngày v nhng chương trìnhng dng mi ra dành cho Linux. Kho phn mm khng l cho Linux.

6. http://www.li.org – T chc Linux International.

7. http://www.linuxstart.com

8. http://oreilly.linux.co – đây bn s tìm thy rt nhiu tài liu.

9. http://www.linuxplanet.com

10. http://www.kde.org – Trang ch ca môi trưng làm vic KDE.

11. http://www.gnu.org – Các ng dng dành cho Linux, trong đó ni tingnht là trình son tho Emacs (GNU’s Not UNIX).

12. http://slashdot.org – Nhng tin tc mi nht v công ngh máy tínhtrong đó có Linux. Có các bài báo và li bình ca ngưi đc (không qua kimduyt).

13. http://www.linuxtoday.com – Danh sách dài nhng tin tc, thông báoqung cáo và các thông tin khác. Xem trang này bn s bit phn ln nhngs kin trong th gii Linux.

14. http://www.lwn.net – Tin tc hàng tun v Linux. Thông tin chia thànhtng hng mc: thông tin chung, thương mi, thông tin v nhân Linux,công c phát trin chương trình mi, chương trình cho Linux, v.v...Nubn mun tin tưng rng Linux phát trin rt nhanh và mun nhn trgiúp ca các công ty thương mi ln thì nht đnh phi thăm trang này.Tin tc trên tun báo này đưc ban biên tp chú thích rt tt.

15. http://www.linuxnewbie.org – Trang web tt cho nhng ngưi dùngmi.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 69/212

3.6 Tr giúp khi dùng Linux 59

16. http://www.linuxjournal.com – tp chí Linux. Thưng đăng nhngbài báo v nhiu đ tài.

17. http://www.linuxgazette.com – t báo Linux này s thú v đi vi c

ngưi dùng mi và ngưi dùng có kinh nghim.18. http://www.linuxfocus.org – Tp chí phi thương mi toàn cu.

19. http://www.linuxworld.com – Mt trang web tt có rt nhiu bài báohay.

20. http://www.linux-mag.com – Linux Magazin, mt t tp chí rt thú v.

21. http://www.penguinmagazine.com.

Tt nhiên đây không phi là danh sách đy đ nhng trang web nói v Linux.

Nhng trang nói trên ch là đim khi đu đ t đó bn s tìm đưc nhng trangweb khác trong bin thông tin Internet. Đi đn đâu là ph thuc vào ý mun cabn.

Nu có vn đ trong lúc cài đt, thì hãy hi dch v khách hàng ca phân phiđĩa. Nu bn mua đĩa ca mt công ty chuyên môn thì s có đa ch liên lc cadch v này. Nu bn mua đĩa ghi li hoc t ghi đĩa t tp tin ISO nhn đưcqua Internet thì rt có th li cài đt là do khi ghi đĩa gây ra.

Hãy s dng hp thư đin t. Bn nên đăng ký vi mt vài nhóm thư chung(mailing list) nào đó, ví d mailto:[email protected]. Cáchđăng ký còn ph thuc vào tng nhóm thư (nói chính xác hơn là ph thuc vào

máy ch điu khin nhóm thư này). Nhưng hin nay thưng có hai cách đăng ký:gi thư đn mt đa ch xác đnh đ yêu cu, đăng ký qua giao din web. Thôngtin này bn có th tìm thy trên trang web gii thiu v nhóm thư chung. Tuynhiên bn cn bit là đ đc đưc tt c thư chung thì cn rt nhiu thi gian,và còn phi đc rt nhiu thư ca nhng ngưi dùng mi khác (ví d “Console làgì?”), hoc thm chí có c nhng lá thư “ng ngn” (ví d “Hôm nay dùng Debiantht vui”) và tt nhiên là phi đc c nhng thư tr li cho nhng câu hi nàyca nhng ai bit mt chút gì đó. Do đó nu mun bn có th xem kho lưu trnhng lá thư này bng trình duyt, rt có th đã có câu tr li cho câu hi cabn đó. Và như vy bn không cn phi đăng ký cũng như vit thư vào nhómthư chung na.

Tt nhiên nu không tìm thy thì đng ngi ngn đt câu hi. Ngưi dùngLinux ht sc vui lòng tr li thư ca bn. Bo đm là bn s nhn đưc câu trli, nu không hiu thì còn có th yêu cu gii thích thêm.

Khi đt câu hi có liên quan đn h thng Linux ca bn, cn luôn luôn thêmvào thư ca mình càng nhiu chi tit càng tt (nhưng đng thêm thông tin tha)bao gm: tên ca bn phân phi (Debian, SuSE, Fedora, hay mt cái nào khác),phiên bn nhân, có vn đ vi phn cng nào (phiên bn, dòng ch ghi trên mchđin t), thông báo nào hin ra khi có vn đ. Đng đòi hi ngưi dùng khác gicâu tr li thng đn đa ch ca bn, “vit thư vào nhóm thư chung là t thhin, vit thư đin t cũng là s h tr k thut. Vit thư thì min phí, nhưng

s h tr k thut thì không”. Xin hãy luôn nh điu đó!

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 70/212

Chương 4

Làm quen vi h thng tp tinext3fs

Bây gi bn đã bit cách khi đng và dng h thng Linux, đã đn lúc làm quen vi mt trong nhng thành phn chính và quan trng ca Linux – đó là h thng tp tin. H thng tp tin – là cu trúc nh đó nhân ca h điu hành có th cung cp cho ngưi dùng và các tin trình tài nguyên ca h thng dng b nh lâu dài trên các đĩa lưu 1 thông tin: đĩa cng, đĩa t, CD, DVD, v.v. . .Mi h thng tp tin, ging như mt cái đĩa ăn, có hai mt. Mt mt ca 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 dng), chúng ta tm gi nó là mt trưc. T phía mt trưc này ngưi dùng thy h thng tp tin là mt cu trúc lôgíc ca các thư mc và tp tin. Mt còn li, mà ngưi dùng không thy, quay v phía chính bn thân đĩa lưu to thành mt vùng bên trong ca h thng tp tin đi vi ngưi dùng, chúng ta tm gi là mt sau. Mt này ca h thng tp tin có cu trúc không đơn gin chút nào. Vì đây thc hin các cơ ch ghi tp tin lên các đĩa lưu khác nhau, thc hin vic truy cp (chn thông tin cn thit) và nhiu thao tác khác.Trong chương hin ti chúng ta s xem xét mt quay v phía ngưi dùng ca h thng tp tin. Mt còn li s dành cho mt chương sách sau. Cn nói thêm là chúng ta s xem xét mt h thng tp tin c th ext3fs, h thng tp tin cơ bn ca Linux đn thi đim hin nay. Còn có nhng h thng tp tin khác nhưng chúng ta s đ cp đn chúng mun hơn.

4.1 Tp tin và tên ca chúng

Máy tính ch là công c đ làm vic vi thông tin không hơn không kém. Mà

thông tin trên mi HĐH đưc lưu dng tp tin trên các đĩa lưu. T phía caHĐH thì tp tin là mt chui liên tc các byte vi chiu dài xác đnh. H điuhành không quan tâm đn đnh dng bên trong ca tp tin. Nhưng nó cn đtcho tp tin mt cái tên nào đó đ ngưi dùng (hay nói đúng hơn là chương trìnhng dng) có th làm vic vi tp tin. Làm sao đ ngưi dùng có th làm vic vitp tin đó là công vic ca h thng tp tin, ngưi dùng thưng không cn quantâm đn. Vì th, đi vi ngưi dùng thì h thng tp tin là mt cu trúc lôgíc cacác thư mc và tp tin.

Tên tp tin trong Linux có th dài 255 ký t bao gm bt kỳ ký t nào tr kýt có mã bng 0 và ký t du gch chéo (/). Tuy nhiên còn có nhiu ký t na có

ý nghĩa đc bit trong h v shell và do đó không nên dùng đ đt tên tp tin.1Mt s tác gi thích dùng thut ng “vt cha” đây.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 71/212

4.1 Tp tin và tên ca chúng 61

Đó là nhng ký t sau:

! @ # $ & ~ % * ( ) [ ] { } ’ " \ : ; > < ‘ d u c á c h

Nu tên tp tin cha mt trong nhng ký t này (không khuyên dùng nhưngvn có th) thì trưc nó phi đt mt du gch chéo ngưc (\) (điu này vn đúngtrong trưng hp có chính bn thân du gch chéo ngưc, tc là phi lp li dunày hai ln). Ví d:

[user]$ mkdir \\mot\&hai

s to thư mc \mot&hai. Còn có th đt tên tp tin hoc thư mc vi nhng kýt nói trên vào du ngc kép. Ví d, đ to thư mc có tên “mot hai ba” chúng tacn dùng câu lnh sau:

[user]$ mkdir "mot hai ba"

vì câu lnh

[user]$ mkdir mot hai ba

s to ba thư mc: “mot”, “hai” và “ba”.Làm tương t như vy đi vi nhng ký t khác, tc là có th thêm chúng vào

tên tp tin (thư mc) nu đưa tên vào trong du ngoc kép hoc dùng du gchchéo ngưc đ b đi ý nghĩa đc bit ca chúng. Tuy nhiên tt nht là không s

dng nhng ký t này k c du cách trong tên tp tin và thư mc, bi vì có thgây ra vn đ cho mt s ng dng khi cn s dng nhng tp tin như vy và ckhi di chuyn nhng tp tin đó lên h thng tp tin khác.

Đi vi du chm thì không phi như vy. Trong Linux ngưi dùng thưngđt nhiu du chm trong tên ca tp tin, ví d xvnkb-0.2.9.tar.gz. Khi nàykhái nim phn m rng tp tin (thưng dùng trong DOS) không còn có ý nghĩagì, mc dù vn dùng phn cui cùng ca tên tp tin sau du chm đ làm ký hiuv các dng tp tin đc bit (.tar.gz dùng đ ký hiu các tp tin nén2). TrênLinux các tp tin chương trình và tp tin bình thưng không phân bit theo phnm rng ca tên (trong DOS tp tin chương trình có phn m rng exe) mà theocác du hiu khác, chúng ta s đ cp đn sau. Du chm có ý nghĩa đc bittrong tên tp tin. Nu nó là du chm đu tiên trong tên, thì tp tin này s là n(thuc tính hidden) đi vi mt s câu lnh, ví d, lnh ls không hin th nhngtp tin như vy.3

Như đã nói chương trưc trong Linux có phân bit các ký t vit hoa và vitthưng. Điu này cũng đúng đi vi tên tp tin. Vì th l4u-0.9.2.tar.gz vàL4U-0.9.2.tar.gz có th nm trong cùng mt thư mc và là tên ca các tptin khác nhau. Điu này lúc đu có th gây khó khăn cho ngưi dùng Windowsnhưng sau khi quen thì bn s thy nó tht s có ích.

Chúng ta đã quen vi vic tp tin đưc xác đnh hoàn toàn theo tên ca nó.Tuy nhiên nu nhìn t phía h điu hành và h thng tp tin thì không phi

2thưng gi theo ting lóng là tarball, qu bóng tar3Nhưng lnh ls -a s hin th. Đc thêm ls(1) đ bit chi tit.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 72/212

62 Làm quen vi h thng tp tin ext3fs

như vy. Chúng ta s nói k v mt sau ca h thng tp tin trong mt s chươngsách sp ti, nhưng bây gi cũng cn đ cp đn mt chút v ch s “inode”.

 Vn đ ch mi tp tin trong Linux có mt “ ch s ký hiu” (index descriptor)tương ng, hay còn gi là “inode” (tm thi chưa có thut ng ting Vit chính

xác nên xin đ nguyên t ting Anh). Chính inode lưu tt c nhng thông tincn thit cho h thng tp tin v tp tin, bao gm thông tin v v trí ca các phnca tp tin trên đĩa lưu, thông tin v dng tp tin và nhiu thông tin khác. Cácch s inode nm trong mt bng đc bit gi là inode table. Bng này đưc tora trên đĩa lưu cùng lúc vi h thng tp tin. Mi đĩa lưu dù là tht s hay lôgícthì đu có mt bng các ch s inode ca riêng mình. Các inode trong bng đưcđánh s theo th t, và chính ch s này mi là tên thc s ca tp tin trên hthng. Chúng ta s gi ch s này là ch s ca tp tin. Tuy nhiên đi vi ngưidùng thì nhng tên như vy tht s không thun tin. Không phi ai cũng cókh năng nh đã ghi gì trong tp tin vi s 12081982 (nói chính xác hơn là ch có

mt s rt ít ngưi có kh năng này). Vì th các tp tin còn đưc đt thêm mttên thân thin vi ngưi dùng và hơn th na còn đưc nhóm vào các thư mc.Tác gi đưa ra nhng thông tin trên ch đ nói rng tên ca bt kỳ tp tin

nào trong Linux không phi gì khác mà chính là liên kt đn ch s inode ca tptin. Vì th mi tp tin có th có bao nhiêu tên tùy thích. Nhng tên này còn đưcgi là liên kt “cng” (hard link) (chúng ta s làm quen k hơn vi khái nim liênkt và cách to nhng liên kt này trong chương sau). Khi bn đc xóa mt tptin có nhiu tên (liên kt cng) thì trên thc t ch xóa đi mt liên kt (mà bnch ra trên dòng lnh xóa). Thm chí c khi bn đc đã xóa đi liên kt cui cùngthì cũng không có nghĩa là đã xóa ni dung ca tp tin: nu tp tin đang đưc h

thng hay mt ng dng nào đó s dng, thì nó đưc lưu đn lúc h thng (ngdng) gii phóng nó.Đ có th thêm tên khác cho tp tin hoc thư mc (to liên kt cng), chúng

ta s dng câu lnh ln dng sau:

ln tên_đã_có tên_mi

 Ví d:

[user]$ ln projects/l4u/l4u-0.9.2.pdf ~/l4u.pdf

Ký t ∼ có ý nghĩa đc bit, nó ch thư mc cá nhân (home directory) ca ngưidùng, chúng ta s nói k hơn v ký t này ngay sau đây. Bây gi có th dùng~/l4u.pdf đ thay cho đưng dn dài hơn projects/l4u/l4u-0.9.2.pdf.Chi tit v câu lnh ln bn có th đc trong trang man ca nó.

Có th tìm ra s lưng liên kt cng đn tp tin (tc là s lưng tên ca tptin) bng lnh ls vi tham s -l4. Ngay phía sau quyn truy cp đn tp tin làmt s cho bit s lưng nhng liên kt cng này:

[user]$ ls -ltng 1280-rw-r--r-- 1 teppi82 users 81409 2006-09-06 03:43 bash.texdrwxr-xr-x 2 teppi82 users 4096 2006-09-06 02:16 images-rw-r--r-- 2 teppi82 users 82686 2006-09-06 14:32 l4u-0.9.2.pdf

-rw-r--r-- 1 teppi82 users 3069 2006-09-06 13:52 l4u.tex

4Nu bn dùng SuSE Linux thì có th nhp vào lnh ll.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 73/212

4.2 Thư mc 63

(Danh sách b ct bt vì không cn thit).

4.2 Thư mc

Nu như cu trúc tp tin không cho phép s dng gì khác ngoài tên tp tin (tclà tt c các tp tin nm trên mt danh sách chung ging như các ht cát trên bãibin) thì thm chí c khi không có gii hn v đ dài ca tên, rt khó có th tìmđn tp tin cn thit. Hãy tưng tưng bn có mt danh sách khong vài nghìntp tin! Xin đng nghi ng, mt h thng Linux hoàn chnh s có s lưng tp tincòn ln hơn th. Vì th mà các tp tin đưc t chc vào các thư mc, các thư mccó th nm trong các thư mc khác, v.v. . . Kt qu là chúng ta thu đưc mt cutrúc thư mc có phân bc bt đu t mt thư mc gc. Mi thư mc (con) có thcha các tp tin riêng l và các thư mc con ca nó.

Cu trúc phân bc ca thư mc thưng đưc minh ho bng “cây thư mc”,trên đó mi thư mc đó là mt nút ca “cây”, còn tp tin – là các “lá”. Trên MSWindows hoc DOS cu trúc thư mc như vy có trên mi đĩa (tc là chúng tacó không phi mt “cây” mà mt “rng” thư mc) và thư mc gc ca mi cutrúc tp tin đưc đánh du bng mt ch cái Latinh (và do đó đã có mt s hnch). Trên Linux và UNIX nói chung ch có mt cu trúc thư mc duy nht chott c các đĩa lưu, và thư mc gc duy nht ca cu trúc này đưc ký hiu bngdu gch chéo “/”. Có th đưa vào thư mc gc này mt s lưng không hn chcác thư mc nm trên các đĩa lưu khác nhau (thưng nói là “gn h thng tptin” hoc “gn đĩa lưu”).

Tên ca thư mc cũng đưc đt theo nhng quy đnh như đi vi tên tp tin. Và nói chung ngoài cu trúc bên trong ca mình thì thư mc không khác gì sovi nhng tp tin thông thưng, ví d tp tin văn bn (text file).

Tên đy đ ca tp tin (hoc còn gi là “đưng dn”5 đn tp tin) là danh sáchtên ca các thư mc bao gm thư mc cha tp tin đó và các thư mc m, bt đut thư mc gc “/” và kt thúc là bn thân tên ca tp tin. Trong đưng dn nàytên ca các thư mc con cách nhau bi du gch chéo “/” dùng đ ký hiu thư mcgc như đã nói trên. Ví d /home/teppi82/projects/l4u/ext3fs.tex làtên đy đ ca tp tin tôi đang nhp vào trên máy ca mình.

H v shell lưu giá tr ca “thư mc hin thi”, tc là thư mc mà ngưidùng đang làm vic trong đó. Có mt câu lnh cho bit tên ca thư mc hinthi, đó là lnh pwd. Ghi chú: nu nói mt cách chính xác, thì thư mc hin thiluôn đi lin vi mi tin trình đã chy (trong đó có h v shell), vì th đôi khichy mt chương trình nào đó trong shell có th dn đn vic thay đi thư mchin thi sau khi chương trình đó hoàn thành công vic.

Ngoài thư mc hin thi mi ngưi dùng còn có mt “thư mc nhà” (homedirectory, phương án dch “thư mc cá nhân” đưc ưu tiên hơn, và chúng ta sdùng thut ng này trong cun sách l4u). Đó là thư mc trong đó ngưi dùng cótoàn quyn6: có th to và xóa các tp tin, thay đi quyn truy cp đn chúng,v.v. . . Trong cu trúc thư mc ca Linux nhng thư mc cá nhân ca ngưi dùngthưng nm trong thư mc /home và thưng có tên trùng vi tên đăng nhp ca

5 đây là đưng dn tuyt đi6Nói chính xác hơn là: có toàn quyn đn khi nào root chưa thay đi chúng :).

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 74/212

64 Làm quen vi h thng tp tin ext3fs

ngưi dùng đó. Ví d: /home/nhimlui. Mi ngưi dùng có th làm vic vi thưmc ca mình bng ký hiu ~, tc là ngưi dùng nhimlui có th làm vic vithư mc /home/nhimlui/hinhanh bng ~/hinhanh. Khi ngưi dùng vào hthng, thư mc cá nhân s tr thành thư mc hin thi ca ngưi dùng này.

Câu lnh cd dùng đ thay đi thư mc hin thi. Tham s ca lnh này làđưng dn đy đ hoc đưng dn tương đi đn thư mc mà bn mun dùng làmhin thi. Khái nim đưng dn đy đ (tuyt đi) đã gii thích trên, bây gichúng ta s nói rõ hơn v khái nim đưng dn tương đi. Đưng dn tương điđó là danh sách các thư mc cn phi đi qua trong cây thư mc đ có th chuynt thư mc hin thi đn thư mc khác (chúng ta gi nó là thư mc đích). Nuthư mc đích nm phía dưi trong cu trúc thư mc, tc là nm trong mt thưmc con, hoc “cháu”, “cht” nào đó ca thư mc hin thi, thì đơn gin: ch cnch ra thư mc con ca thư mc hin thi, sau đó thư mc con ca thư mc con(thư mc “cháu”),...cho đn khi nào ti đưc thư mc đích. Nu như thư mc

đích nm cao hơn trong cu trúc thư mc, hoc nm hoàn toàn trên mt “cành”khác ca cây thư mc, thì phc tp hơn mt chút. Tt nhiên trong bt kỳ trưnghp nào cũng có th s dng đưng dn tuyt đi, nhưng khi đó cn phi nhpvào mt đưng dn rt dài.

 Vn đ này đưc gii quyt như sau: mi thư mc (tr thư mc gc) có duynht mt thư mc m trong cây thư mc. Trong mi thư mc có hai bn ghi đcbit. Mt trong s chúng có ký hiu là du chm (‘.’) và ch đn chính bn thânthư mc này, còn bn ghi th hai có ký hiu là hai du chm đơn (‘..’), nó ch đnthư mc m. Chính nhng du hai chm này đưc dùng đ ghi đưng dn tươngđi. Ví d, đ dùng thư mc m làm thư mc hin thi, thì ch cn chy lnh:

[user]$ cd ..

Còn đ chuyn “leo” lên hai bc ca cây thư mc, ri t đó h xung thư mcvnoss/doc thì cn chy lnh:

[user]$ cd ../../vnoss/doc

Câu lnh ls dùng đ đưa ra màn hình danh sách các tp tin và thư mc conca thư mc hin thi. Cn lưu ý là trên thc tn câu lnh ls ch đưa ra nidung ca tp tin mô t thư mc này, và không xy ra bt kỳ nào thao tác làmvic vi tp tin ca thư mc. Như đã nói trên, mi thư mc ch là mt tp tin

bình thưng, trong đó có lit kê tt c nhng tp tin và thư mc con ca thư mcnày. Tc là không có các hp đc bit cha các tp tin, ch có các danh sách tptin thông thưng xác đnh tp tin hin thi thuc v mt thư mc nào đó.

Nu chy câu lnh ls không có tham s thì chúng ta ch thy tên ca các tptin ca thư mc hin thi. Nu mun xem ni dung ca mt thư mc khác, thìcn phi đưa cho câu lnh ls đưng dn tuyt đi hoc tương đi đn thư mcđó. Ví d:

[user]$ ls projectsBanTin drupal-vn KDE-vi mrtg Xfce

bashscripts fluxbox l4u others vimchem-tex gnomevi manvi SuSE vnlinuxdebian HocTap mc syslinux vnoss

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 75/212

4.3 Công dng ca các thư mc chính 65

Bn ghi v tp tin trong thư mc tương ng ngoài tên còn có rt nhiu thôngtin v tp tin này. Đ thy đưc nhng thông tin chi tit đó, thì cn dùng cáctham s m rng khác ca câu lnh ls. Nu chy câu lnh ls vi tham s -l thìkhông ch có tên tp tin mà s hin th c d liu v quyn truy cp đn tp tin

(chúng ta s nói đn sau); s lưng liên kt cng hay s lưng tên (nu là thưmc thì ngay t đu đã có hai liên kt như vy là . và .., do đó s này bng s thưmc con công thêm 2); tên ch s hu tp tin, tên nhóm s hu tp tin (xin đưcgi tt là “nhóm tp tin” mc dù ti nghĩa); kích thưc tp tin và thi gian sađi cui cùng. Mt ví d minh ha khác:

[user]$ ls -ltng 1316-rw-r--r-- 1 teppi82 users 81629 2006-09-08 22:11 bash.tex-rw-rw-r-- 1 teppi82 users 98135 2006-09-08 13:54 caidat.tex-rw-r--r-- 1 teppi82 users 783 2006-09-08 21:58 ChangeLog-rw-r--r-- 1 teppi82 users 20778 2006-09-09 02:48 ext3fs.tex-rw-r--r-- 1 teppi82 users 2013 2006-09-08 21:34 gioithieu.texdrwxr-xr-x 2 teppi82 users 4096 2006-09-08 14:25 images-rw-r--r-- 1 teppi82 users 3267 2006-09-08 23:13 l4u.tex

Nu đưa thêm tham s -i thì trong ct đu tiên s hin th ch s inode catp tin. Khi dùng tham s -t vic sp xp đưc thc hin không theo tên màtheo thi gian sa đi tp tin. Tham s -u dùng đ hin th thi gian truy cpcui cùng thay vào ch thi gian sa đi. Tham s -r đo ngưc li trt t casp xp (cn phi s dng cùng vi các tham s -l hoc -t). Cn chú ý rng có

th lit kê các tham s mt cách riêng r như th này:

[user]$ ls -l -i - r

hoc gp li như th này:

[user]$ ls -lir

Chúng ta dng mô t ngn gn v câu lnh ls đây (chi tit v lnh này cóth xem trên các trang man hoc info tương ng) và chuyn sang xem xét các

thư mc chính ca cu trúc tp tin trong Linux.

4.3 Công dng ca các thư mc chính

Nu như bn đc đã tng dùng Windows (ví d 2000 hay XP), thì bit rng mcdù ngưi dùng có toàn quyn t chc cu trúc thư mc, nhưng mt s truynthng vn đưc tuân theo. Ví d các tp tin h thng thưng nm trong thưmc C:\Windows, các chương trình thưng đưc cài đt vào C:\Program Files,v.v...Trong Linux cũng có mt cu trúc thư mc kiu như vy và thm chí còn

nghiêm ngt hơn. Hơn na có mt tiêu chun xác đnh cu trúc thư mc cho cácHĐH dòng UNIX. Tiêu chun này đưc gi là Filesystem Hierarchy Standart(FHS). Nu có mong mun bn có th đc toàn b tiêu chun này ti đa ch

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 76/212

66 Làm quen vi h thng tp tin ext3fs

http://www.pathname.com/fhs/.CácbnphânphiLinuxlnđutuântheotiêu chun này.

Bng 4.1 dưi đây đưa ra danh sách ngn gn nhng thư mc chính đưc tora trong cu trúc tp tin theo tiêu chun nói trên. ct bên trái lit kê các thư

mc con ca thư mc gc, còn ct th hai lit kê mt vài (không phi tt c) thưmc con, còn ct th ba cui cùng đưa ra mô t ngn gn v công dng ca nhngthư mc này. Mô t trong bng này là ht sc ngn gn, chi tit hơn bn có thđc trong tiêu chun FHS có trên http://www.pathname.com/fhs/.

Bng 4.1: Cu trúc thư mc ca Linux

Thư mc Công dng  /bin Thư mc này gm ch yu các chương trình, phn ln trong s

chúng cn cho h thng trong thi gian khi đng (hoc trong

ch đ mt ngưi dùng khi bo trì h thng). đây có lưu rtnhiu nhng câu lnh thưng dùng ca Linux.  /boot Gm các tp tin c đnh cn cho khi đng h thng, trong đó

có nhân (kernel). Tp tin trong thư mc này ch cn trong thigian khi đng7.

  /dev Thư mc các tp tin đc bit hoc các tp tin thit b phncng. Chúng ta s nói đn nhng tp tin này ngay sau trongmt phn riêng. Bn đc có th xem qua man mknod (mkn-ode(1)).

  /etc Thư mc này và các thư mc con ca nó lưu phn ln nhngd liu cn cho quá trình khi đng ban đu ca h thng vàlưu nhng tp tin cu hình chính. Ví d, trong /etc có tp tininittab xác đnh cu hình khi đng, và tp tin ngưi dùngpasswd. Mt phn các tp tin cu hình có th nm trong cácthư mc con ca /usr. Thư mc /etc không đưc lưu các tptin chương trình (cn đt chúng trong /bin hoc /sbin. Dưiđây chúng ta s xem xét công dng ca mt vài(!) thư mc conca thư mc /etc.

  /etc/rc.d Thư mc này lưu nhng tp tin s dng trong quá trình khiđng h thng. Chúng ta s đ cp chi tit v nhng tp tinnày và quá trình khi đng nói riêng trong mt vài chương sp

ti.  /etc/skel Khi to ngưi dùng mi, thì nhng tp tin trong thư mc này

s đưc sao chép vào thư mc cá nhân ca ngưi dùng đó. /etc/sysconfig Thư mc lưu mt vài (không phi tt c) tp tin cu hình h

thng. /etc/X11 Thư mc dành cho các tp tin cu hình ca h thng X11 (ví

d, xorg.conf).  /home Thông thưng trong thư mc này là các thư mc cá nhân ca

ngưi dùng (tr root).

7do đó mt s nhà qun tr không t đng gn phân vùng /boot vào trong quá trình khi đng.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 77/212

4.3 Công dng ca các thư mc chính 67

Thư mc Công dng  /lib Thư mc này lưu các thư vin chia s ca các hàm mà trình

biên dch C và các môđun (các driver thit b) cn. Thm chínu trên h thng không có trình biên dch C nào, thì các thư

vin chia s vn cn thit, vì chúng đưc nhiu chương trìnhs dng. Nhng thư vin này ch np vào b nh khi có nhucu thc hin hàm nào đó, như vy cho phép gim kích thưcmã chương trình nm trong b nh. Trong trưng hp ngưcli thì cùng mt mã lp li nhiu ln trong các chương trìnhkhác nhau.

 /lost+found Thư mc này s dng đ phc hi h thng tp tin bng lnhfsck. Nu fsck tìm ra tp tin mà không xác đnh đưc thưmc m thì nó s đưa tp tin đó vào thư mc /lost+found. Vìthư mc m b mt, nên tp tin s nhn đưc tên trùng vi ch

s inode ca nó. /mnt Đây là đim gn (mount) nhng h thng tp tin gn tm thi.Nu trên máy tính có đng thi Linux và Windows (DOS) thìthư mc này thưng dùng đ gn các h thng tp tin FAT.Nu bn thưng gn mt vài đĩa lưu đng như đĩa mm, CD,DVD, đĩa cng ngoài, flash,v.v. . . thì có th to trong thư mcnày các thư mc con cho tng đĩa lưu.

  /tmp Thư mc dành cho các tp tin tm thi. bt kỳ thi đimnày ngưi dùng root cũng có th xóa tp tin khi thư mc nàymà không làm nh hưng ln đn ngưi dùng khác. Tuy nhiên

không nên xóa nhng tp tin trong thư mc này, tr khi khibn bit rng tp tin hoc nhóm tp tin nào đó đang gây nhhưngđncôngviccahthng.Hthngstđngdndpthư mc này theo đnh kỳ, vì th không nên lưu đây nhngtp tin mà bn có th s cn đn.

 /root Đây là thư mc cá nhân ca ngưi dùng cao cp root. Hãy chúý là thư mc này không nm cùng ch vi thư mc cá nhânca nhng ngưi dùng khác (trong /home).

  /sbin Vì thư mc/bin ch yu lưu các tp tin thc thi (chương trìnhvà tin ích ca HĐH) s dng trong quá trình khi đng và do

nhà qun tr chy. Trong tiêu chun FHS có nói rng cn đctrong thư mc này nhng tp tin thc thi s s dng sau khign thành công h thng tp tin /usr. Ít nht trong thư mcnày phi có init, mkswap, swapon, swapoff, halt, reboot,shutdown, fdisk, fsck.*, mkfs.*, arp, ifconfig, route.

  /proc Đây là đim gn h thng tp tin proc cung cp thông tinv các tin trình đang chy, v nhân, v các thit b tính,v.v. . . Đây là h thng tp tin o. Chi tit bn có th đc trongman 5 proc. Các tp tin đc bit ca thư mc này s dng đnhn và gi d liu đn nhân.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 78/212

68 Làm quen vi h thng tp tin ext3fs

Thư mc Công dng /usr Thư mc này rt ln và cu trúc ca nó nhìn chung lp li cu

trúc ca thư mc gc. Trong các thư mc con ca /usr là ttc các ng dng chính. Theo tiêu chun FHS thì nên dành cho

thư mc này mt phân vùng riêng hoc đt hoàn toàn trên đĩas dng chung trong mng. Phân vùng hoc đĩa đó thưng gnch đc và trên đĩa (phân vùng) là các tp tin cu hình cũngnhư tp tin thc thi dùng chung, các tp tin tài liu, các tiních h thng và c các tp tin thêm vào (tp tin dng include).

  /usr/bin Các chương trình (tin ích và ng dng) thưng đưc ngưidùng bình thưng s dng. /usr/bin/X11 là nơi thưng dùngđ lưu các chương trình chy trên X Window. Và đây cũngthưng là liên kt đn /usr/X11R6/bin.

  /usr/include Thư mc con này lưu mã ngun ca các thư vin tiêu chun

ca ngôn ng C. Ngưi dùng cn có ít nht là quyn đc đi vithư mc này. Dù trong trưng hp nào cũng đng sa nhngtp tin trong thư mc này, vì chúng đã đưc các nhà phát trinh thng kim duyt k càng (không l bn bit v h thngtt hơn các nhà phát trin).

 /usr/local đây thưng đt các chương trình và các thư mc con (ni b)ch dành cho máy tính này, bao gm:

• /usr/local/bin. đây thưng lưu nhng chương trìnhng dng.

• /usr/local/doc – các tài liu đi kèm vi chương trình ngdng.

• /usr/local/lib – thư vin và tp tin ca các chương trìnhvà h thng ni b.

• /usr/local/man – các trang tr giúp man.

• /usr/local/sbin – các chương trình dành cho nhà quntr.

• /usr/local/src – mã ngun ca các chương trình.  /usr/sbin Thư mc này gm các chương trình thc thi dành cho nhà

qun tr và không s dng trong thi gian khi đng. /usr/lib Trong thư mc này là các thư vin object ca các chương trình

con, các thư vin đng (dynamic library), mt s chương trìnhkhông th gi trc tip. Các h thng phc tp (ví d DebianLinux) có th có các thư mc con ca mình trong thư mcnày. /usr/lib/X11 – nơi thưng dùng đ đt các tp tin có liênquan đn X Window và các tp tin cu hình ca h thng X

Window. Trên Linux đó thưng là liên kt mm đn thư mc/usr/X11R6/lib/X11.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 79/212

4.3 Công dng ca các thư mc chính 69

Thư mc Công dng  /usr/share Thư mc này dùng cho tt c các tp tin d liu dùng chung

và có quyn truy cp là ch đc. Thưng dùng đ chia s giacác kin trúc khác nhau ca HĐH, ví d i386, Alpha, và PPC

có th dùng chung mt thư mc /usr/share nm trên mtphân vùng hoc đĩa chia s trên mng. Cn chú ý là thư mcnày không dùng đ chia s gia các HĐH khác nhau hoc giacác phiên bn khác nhau ca cùng mt HĐH. Tiêu chun FHSkhuyên dùng thư mc con cho mi chương trình. Nhng thưmc sau hoc liên kt mm sau phi có trong /usr/share:man (các trang tr giúp man), misc (nhng gi liu tùy theokin trúc khác nhau). Chúng ta xem xét mt vài thư mc conca thư mc này:

• /usr/share/dict – các danh sách t (word list) ca ting Anh dùng cho các chương trình kim tra chính t nhưispell.

• /usr/share/man – các trang tr giúp man. Mi phn caman nm trong mt thư mc con riêng trong thư mcnày.

• /usr/share/misc (đã nói trên).

  /usr/src Mã ngun ca các thành phn khác nhau ca Linux: nhân,

ng dng. . .  /usr/tmp Mt nơi na đ lưu các tp tin tm thi. Thông thưng đây làliên kt mm đn /var/tmp.

 /usr/X11R6 Các tp tin thuc v h thng X Window.

• /usr/X11R6/bin – các chương trình ng dng ca hthng này.

• /usr/X11R6/lib – các tp tin và thư vin có liên quan đn X-Window.

  /var Trong thư mc này là các tp tin lưu các d liu bin đi(variable). Nhng d liu này xác đnh cu hình ca mt schương trình trong ln chy sau hoc là nhng thông tin lưutm thi s s dng sau. Dung lưng thông tin trong thư mcnày có th thay đi trong mt khong ln, vì thư mc gi cáctp tin như bn ghi (log), spool, khóa locking, các tp tin tmthi, v.v...

  /var/adm Lưu các thông tin v tài khon và thông tin chun đoán dànhcho nhà qun tr.

 /var/lock Các tp tin điu khin h thng dùng đ d tr tài nguyên.

  /var/log Các tp tin bn ghi (log).

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 80/212

70 Làm quen vi h thng tp tin ext3fs

Thư mc Công dng /var/run Các tp tin bin đi trong thi gian thc hin các chương trình

khác nhau. Chúng lưu thông tin v s tin trình (PID) và ghithông tin hin ghi (utmp). Tp tin trong thư mc này thưng

đưc dn sch trong thi gian khi đng Linux. /var/spool Tp tin đưc đt vào hàng đt ca các chương trình khác nhau,ví d:

• /var/spool/at – các công vic mà at đã chy.

• /var/spool/cron – tp tin ca h thng Verb+cron+.

• /var/spool/lpd — tp tin trong hàng đi in.

• /var/spool/mail – tp tin thùng thư ca ngưi dùng.

• /var/spool/uucp – tp tin ca h thng uucp.

  /var/tmp Các tp tin tm thi.

4.4 Dng tp tin

Trong các phn trưc chúng ta đã xem xét hai dng tp tin đó là tp tin thôngthưng và các thư mc. Nhng trên Linux còn có mt vài dng tp tin na.Chúng ta s làm quen vi chúng trong phn này.

Như đã nói, đi vi h điu hành thì tp tin ch là mt chui các byte liên tc.Nh vy có th dùng khái nim tp tin cho các thit b và các đi tưng khác.Điu này đơn gin hoá s t chc và trao đi các d liu, vì có th thc hin ghid liu vào tp tin, chuyn d liu lên các thit b và trao đi d liu gia cáctin trình bng cách tương t như nhau. Trong tt c các trưng hp này s dngcùng mt phương pháp da trên ý tưng chui các byte. Do đó ngoài các tp tinthông thưng và thư mc, nhng thành phn sau cũng đưc Linux coi là tp tin:

• các tp tin thit b

• các ng (kênh) có tên (named pipe)

• các socket (t vi nghĩa như t chim)

• các liên kt mm (symlinks).

4.4.1 Các tp tin thit b

Như đã nói, đi vi Linux thì tt c các thit b kt ni vào máy tính ( cng, tháo ri, terminal, máy in, máy scan, môđem, bàn phím, chut, v.v. . . ) đu là cáctp tin. Ví d, nu cn đưa ra màn hình terminal th nht thông tin nào đó, thì

h thng thc hin thao tác ghi vào tp tin /dev/tty1.Có hai dng thit b: ký t  (hay còn gi là các thit b trao đi theo byte) vàkhi (trao đi theo khi). S khác nhau gia hai dng này nm cách đc và ghi

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 81/212

4.4 Dng tp tin 71

thông tin vào các thit b. Các thit b ký t trao đi thông tin theo tng ký t(theo tng byte) trong ch đ chui các byte. Ví d thit b dng này là terminal.Còn thông tin đưc đc và ghi vào các thit b khi theo các khi. Ví d các cng. Không th đc t đĩa cng và ghi lên đó tng byte, trao đi thông tin vi

đĩa ch có th theo tng khi.Trao đi d liu vi các thit b trên Linux do các driver thit b đm nhim.Nhng driver này hoc nm trong nhân hoc nm riêng dng môđun và có thgn vào nhân sau. Đ trao đi vi các phn khác ca h điu hành mi driverto ra mt giao din liên lc có v ngoài ging như tp tin. Phn ln nhng tptin như vy đã đưc to sn t trưc và nm trong thư mc dev. Nu nhìn vàothư mc /dev (tc là chuyn vào thư mc đó bng lnh cd ri chy ls), thì bns thy mt lưng khng l nhng tp tin thit b. Bng 4.2 cho bit nhng tptin thưng dùng nht.

Bng 4.2: Nhng tp tin thit b chínhTp tin Ý nghĩa

 /dev/console Console h thng tc là màn hình và bàn phím kt ni ti máytính.

  /dev/hd Các cng vi giao din IDE. Thit b /dev/hda1 tương ngvi phân vùng đu tiên ca đĩa cng đu tiên, đĩa /dev/hda,tc là đĩa Primary Master.

  /dev/sd cng vi giao din SCSI.  /dev/fd Các tp tin đĩa mm. đu tiên là /dev/fd0, th hai là

/dev/fd1.  /dev/tty Các tp tin h tr terminal ca ngưi dùng. Tên gi vn đưclưu k t khi kt ni teletype vào các h thng UNIX làm ter-minal. Trên Linux nhng tp tin này h tr các terminal o(hãy nh li chương trưc).

 /dev/pty Các tp tin h tr terminal gi. S dng cho các kt ni t xaqua telnet.

  /dev/ttS Tp tin h tr làm vic vi các cng kt tip nhau (cáccng COM). /dev/ttS0 tương ng vi COM1 trong DOS,/dev/ttS1 tương ng vi COM2.

  /dev/cua Các tp tin cho môđem.  /dev/null Thit b này có th gi là “l đen”. Tt c nhng gì ghi vào/dev/null s mt vĩnh vin. Nhng ngưi vit script thưngchuyn nhng thông báo không cn thit vào thit b này. Nus dng /dev/null làm thit b nhp vào, thì s thu đưc mtchui các s 0, tc là trong trưng hp này tp tin có c bng0.

Mi dng thit b có th có mt vài tp tin thit b. Vì th các tp tin thit bthưng có hai s: ln (major) và nh (minor). S ln ca thit b cho nhân bit là

tp tin này thuc v driver nào, còn s nh cho bit cn phi làm vic vi thit bc th nào ca dng này. Đi vi các tp tin thit b, câu lnh ls -l cho bit sln và s nh đã nói thay vì kích thưc ca tp tin.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 82/212

72 Làm quen vi h thng tp tin ext3fs

4.4.2 Các ng có tên (pipes)

Còn có mt dng tp tin thit b na đó là các ng có tên, hay b đm FIFO (FirstIn – First Out). Tp tin dng này ch yu dùng đ t chc trao đi d liu gia

các chương trình khác nhau (pipe dch t ting Anh sang là ng, đưng ng).ng là phương tin ht sc thun tin và s dng rng rãi đ trao đi thôngtin gia các tin trình. Mt tin trình có th đc tt c nhng gì mà mt tintrình khác đt vào ng. Nu có hai tin trình đưc sinh ra t cùng mt tin trìnhm trao đi thông tin (thưng xy ra), thì ng có th không có tên. Trong trưnghp ngưc li cn to ra mt ng có tên, ví d bng chương trình mkfifo. Khinày bn thân tp tin ng ch tham gia vào s khi đu trao đi d liu.

4.4.3 Các socket

Socket đó là kt ni gia các tin trình, cho phép chúng giao tip mà không chunh hưng ca các tin trình khác. Nói chung socket và s trao đi qua socketđóng vai trò ht sc quan trng trên tt c các h thng UNIX, trong đó có Linux:socket là khái nim then cht ca TCP/IP và như vy là da trên socket đã xâydng toàn b Internet. Tuy nhiên t phía h thng tp tin socket thc t khôngkhác các ng có tên: đó ch là các đim cho phép ni các chương trình vi nhau.Sau khi đã to ra kt ni, thì trao đi đưc thc hin mà không cn đn socket:d liu do nhân chuyn trc tip t chương trình này đn chương trình khác.

Mc dù nhng tin trình khác có th thy các tp tin socket, nhưng nhngtin trình không tham gia vào kt ni hin thi không th thc hin bt kỳ thao

tác đc hay ghi nào lên tp tin socket. Trong s nhng h thng s dng socketcn k đn X Window, h thng in và h thng syslog.

4.4.4 Liên kt mm

Trong phn v tên tp tin chương trưc chúng ta đã nói rng tp tin trongLinux có th có vài tên hay liên kt cng. Liên kt cng ch là mt tên khác chotp tin ban đu. Nó đưc ghi trong mô t inode ca tp tin đó. Sau khi to liênkt cng không th phân bit đâu là tên tp tin còn đâu là liên kt. Nu bnđc xóa mt trong s nhng tp tin này (nói đúng hơn là mt trong s nhng tênnày), thì tp tin vn còn đưc lưu trên đĩa cho đn khi vn còn ít nht mt tên.

Rt khó phân bit tên đu tiên ca tp tin và nhng liên kt cng đưc to rasau đó. Vì vy ch dùng liên kt cng nhng nơi không cn bit s khác nhau.Mt trong nhng ng dng ca liên kt cng đó là ngăn chn kh năng xóa tptin mt cách vô tình. Đim đc bit ca liên kt cng là nó ch thng đn ch sinode, và do đó liên kt cng ch có th dùng cho tp tin ca cùng mt h thngtp tin, tc là trên cùng mt phân vùng (đĩa lưu).

Nhưng trên Linux còn có mt dng liên kt khác gi là (liên kt tưng trưng8).Nhng liên kt này cũng có th coi là tên ph cho tp tin, nhưng chúng là nhngtp tin khác – nhng tp tin liên kt mm. Khác vi liên kt cng, liên kt mmcó th ch đn nhng tp tin nm trong h thng tp tin khác, ví d trên nhng

đĩa lưu đng, hoc thm chí trên mt máy tính khác. Nu tp tin ban đu b xóa,8thut ng này vn chưa đưc thng nht, do đó đưa ra c hai trưng hp có th gp.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 83/212

4.5 Quyn truy cp đn tp tin và thư mc 73

thì liên kt mm tuy không b xóa nhưng tr thành vô giá tr. Hãy s dng liênkt mm trong nhng trưng hp bn mun tránh s lm ln mà liên kt cngcó th gây ra, hoc khi tp tin nm trên mt h thng tp tin khác.

 Vic to bt kỳ mt liên kt nào cũng ging như sao chép tp tin, nhưng khác

ch là tên ban đu ca tp tin cũng như liên kt cùng ch đn mt tp tin thcs trên đĩa. Vì th nu bn đc thay đi tp tin qua mt tên nào đó ca nó, thì sthy nhng thay đi này khi xem tp tin qua tên khác. Đ to liên kt mm cns dng câu lnh ln đã nói đn và thêm vào tùy chn -s:

[user]$ ln -s tên_tp_tin tên_liên_kt

 Ví d:

[user]$ ln -s projects/l4u/l4u-0.9.2.pdf ~/l4u.pdf

Sau khi thc hin câu lnh này trong thư mc cá nhân ca tôi xut hin tptin l4u.pdf. Và bây gi nu xem danh sách tp tin trong thư mc bng câu lnhls -l, thì trong danh sách s có mt dòng như sau:

lrwxrwxrwx 1 teppi82 users 20 2006-09-10 06:39 l4u.pdf -> projects/l4u/l4u-0.9.2.pdf

Hãy chú ý đn ký t đu tiên ca dòng này, nó cho chúng ta bit tp tin làmt liên kt mm. Tt nhiên điu này có th thy rõ trong phn cui (phn têntp tin), đó sau tên tp tin ca liên kt là mt mũi tên → ch đn tp tin banđu.

Nu bn to trong thư mc mot mt liên kt mm ch đn mt thư mc khác,thì có th di chuyn thư mc mot đi đâu tùy thích, liên kt mm khi đó vn làmvic đúng. Cũng như vy đi vi chính bn thân liên kt mm. Nhưng khi toliên kt mm, hãy hn ch s dng “..” (liên kt đn thư mc m) trong tên tptin ch đn, bi vì v trí ca liên kt mm có th thay đi, mà “..” luôn luôn làthư mc m ca thư mc hin thi.

4.5 Quyn truy cp đn tp tin và thư mc

Bi vì Linux là h điu hành nhiu ngưi dùng, nên yêu cu quy đnh truy cp

đn các tp tin và thư mc là mt trong nhng yêu cu thit yu nht mà hđiu hành phi gii quyt. Cơ ch quy đnh truy cp đưc phát trin cho hthng UNIX vào nhng năm 70 ca th k trưc rt đơn gin nhưng có hiu quđn ni đã đưc s dng hơn 30 năm, và hin thi vn còn đưc s dng đ giiquyt bài toán này.

Cơ s ca cơ ch quy đnh quyn truy cp đó là tên ngưi dùng và tên nhómca ngưi dùng. Như bn đã bit trong Linux mi ngưi dùng có mt tên riêngkhông lp li dùng đ đăng nhp vào h thng. Ngoài ra, trên h thng còn cócác nhóm ngưi dùng, và Linux cho phép mt ngưi dùng có th nm trong mthoc nhiu nhóm. To và xóa các nhóm là công vic ca ngưi dùng cao cp root,

và root có th thay đi thành phn ca mt nhóm nào đó. Thành viên ca cácnhóm khác nhau có th có quyn truy cp khác nhau đn tp tin, ví d nhóm cácnhà qun tr có quyn nhiu hơn so vi nhóm các nhà lp trình.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 84/212

74 Làm quen vi h thng tp tin ext3fs

Trong mô t inode ca mi tp tin có ghi tên ca ch và nhóm s hu tp tin.Ngày t đu khi to tp tin ch ca nó là ngưi dùng đã to ra nó. Nói chính xáchơn là ngưi dùng mà tin trình to tp tin đã chy dưi tên h. Cùng lúc vich s hu, tên ca nhóm s hu cũng đưc ghi vào theo thông tin tên nhóm ca

tin trình to tp tin. Có th thay đi ch và nhóm s hu trong quá trình làmvic sau này bng hai câu lnh chown và chgrp (chúng ta s đ cp k hơn vhai lnh này ngay sau đây).

Bây gi hãy thc hin mt ln na câu lnh ls -l, nhưng có thêm mt thams na đó là tên ca mt tp tin c th nào đó. Ví d tp tin chương trình ca hv bash /bin/bash. Nhân tin, hãy chú ý kh năng này ca câu lnh ls -l –hin th thông tin v mt tp tin c th nào đó ch không phi tt c các tp tintrong thư mc mt lúc.

[user]$ ls -l /bin/bash

-rwxr-xr-x 1 root root 501804 2006-04-23 05:46 /bin/bash

Như bn đc thy, trong trưng hp này ch s hu là ngưi dùng root, nhóms hu – root. 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, vùng xác đnh dng tp tin và quyn truy cp đn nó. Vùng này trongví d trên là chui các ký t tm thi chưa nói lên điu gì “-rwxr-xr-x”. Nhngký t này có th tm chia thành bn nhóm. Nhóm th nht ch gm mt ký txác đnh dng tp tin (mt trong bn dng đã nêu phn trên). Nó có th là mttrong s nhng ký t sau:

• – (gch ngang) – tp tin thông thưng

• d – thư mc

• b – tp tin thit b khi

• c – tp tin thit b ký t

• s – socket

• p – ng có tên (pipe)

• l – liên kt mm (symbolic link).

Sau ký t xác đnh dng tp tin là ba nhóm, mi nhóm gm ba ký t xác đnhquyn truy cp tương ng cho ch s hu, nhóm s hu tp tin và cho nhngngưi dùng khác. Trong ví d ca chúng ta quyn truy cp ca ch s hu làrwx, có nghĩa là ch s hu root có quyn đc (r), ghi vào tp tin (w) và chytp tin này (x). Thay bt kỳ ký t nào trong s nhng ký t này bng du gchngang có nghĩa là ngưi dùng b tưc mt quyn tương ng. Cũng trong ví d trên chúng ta thy, tt c nhng ngưi dùng khác (k c nhng ngưi dùng canhóm root) b tưc mt quyn ghi vào tp tin này, có nghĩa là h không th satp tin và nói chung là không th thay đi tp tin bng cách nào đó.

Quyn truy cp và thông tin v dng tp tin trên các h thng UNIX đưclưu trong mô t inode dng cu trúc 2 byte (16 bit). Điu này là tt nhiên vìmáy tính ch làm vic da trên các bit ch không phi da trên các ký t r, w,

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 85/212

4.5 Quyn truy cp đn tp tin và thư mc 75

x. Bn bit trong s 16 bit này đưc dùng cho bn ghi v dng tp tin. Ba bit tiptheo xác đnh các tính cht đc bit ca tp tin thc thi (chúng ta s nói đn mtchút sau). Và cui cùng 9 bit cui cùng xác đnh quyn truy cp đn tp tin. 9bit này chia thành ba nhóm, mi nhóm 3 bit. Ba bit đu tiên xác đnh quyn ca

ch s hu, ba bit tip theo – quyn ca nhóm s hu, ba bit cui cùng – quynca nhng ngưi dùng còn li (tc là tt c nhng ngưi dùng, tr ch s hu vànhóm s hu tp tin). Khi này nu bit tương ng có giá tr bng “1”, thì có quynđó, còn nu bng “0” thì quyn đó b tưc mt. dng ch cái thì “1” đưc thayth bng các ch cái tương ng (r, w hoc x), còn “0” th hin dng du gchngang.

Quyn đc r tp tin có nghĩa là ngưi dùng có th xem ni dung tp tin bngcác chương trình xem khác nhau, ví d more, hoc bng các trình son tho vănbn. Nhưng khi son tho bn s không th lưu nhng thay đi trong tp tin lênđĩa, nu không có quyn ghi w vào tp tin này. Quyn thc thi (tôi thích dùng

thut ng quyn gi) có nghĩa là bn đc có th np tp tin vào b nh và thchy mã này ging như trưng hp chương trình. Tt nhiên nu trên thc t tptin không phi là chương trình (hoc các script shell, perl, ...) thì không th gitp tin, nhưng ngưc li nu tp tin là chương trình mà không có quyn gi thìcũng không th chy chương trình đó.

Như vy là chúng ta đã bit đưc trên Linux nhng tp tin nào là có th thcthi. Bn thy không, phn m rng ca tp tin đây không có liên quan gì, ttc đu do tính cht “thc thi” đt ra, và khác vi các HĐH ca Microsoft khôngphi ai cũng có quyn gi tp tin.

Nu vn thc hin câu lnh ls -l nhưng tham s không phi là tên tp tin

mà là tên thư mc thì chúng ta s thy thư mc cũng có quyn truy cp và cũngvn nhng ch cái r , w , x nói trên đưc dùng đ xác đnh quyn truy cp đnthư mc. Ví d, nu thc hin câu lnh:

[user]$ ls -l /usr

thì s thy dòng tương ng vi thư mc share như sau:

drwxr-xr-x 128 root root 4096 2006-09-07 02:20 share

Tt nhiên là đi vi thư mc thì ý nghĩa ca các khái nim “quyn đc”, “quyn

 ghi” và “quyn gi” có thay đi mt chút. Quyn đc đi vi thư mc thì ht scd hiu, nu chúng ta nh rng thư mc cũng ch là tp tin lưu danh sách cáctp tin khác trong thư mc đó. Cho nên nu ngưi dùng có quyn đc thư mc,thì tc là có th xem ni dung ca thư mc (có th nói khác là xem danh sáchtp tin trong thư mc). Quyn ghi cũng d hiu. Khi có quyn này, ngưi dùngcó th to và xóa các tp tin trong thư mc, tc là thêm vào hoc xóa khi thưmc dòng lưu thông tin v mt tp tin nào đó và các liên kt tương ng. Quyngi đi vi thư mc có hơi khó hiu mt chút. Trong trưng hp này quyn gi chquyn chuyn vào thư mc này. Nu bn đc là ch s hu thư mc và mun chonhng ngưi dùng khác quyn xem mt tp tin nào đó trong thư mc ca mình

thì cn phi cho h quyn truy cp (chuyn) vào thư mc này, tc là cho nhngngưi dùng khác “quyn gi” (thc thi) thư mc. Hơn na còn cn phi cho ngưidùng “quyn gi” đi vi tt c các thư mc nm trưc thư mc này trong cây thư

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 86/212

76 Làm quen vi h thng tp tin ext3fs

mc. Chính vì vy mà theo mc đnh tt c các thư mc có đt quyn gi cho chs hu cũng như nhóm và nhng ngưi dùng khác. Và tt nhiên nu mun ngănchn truy cp vào thư mc thì ch cn b đi quyn chuyn vào thư mc (r) catt c ngưi dùng (k c nhóm s hu). Đng tưc b quyn này ca chính bn

thân mình, nu không s phi phc hi li nó trưc khi có th đc các tp tin.Sau khi đc đon trên có th thy “quyn đc” thư mc là tha thãi vì khôngcho ra tính năng gì mi so vi “quyn gi”. Tuy nhiên vn có s khác nhau giahai quyn này. Nu ch đưa ra quyn gi, thì ngưi dùng có th vào thư mc,nhưng s không thy đó bt kỳ mt tp tin nào khi chy lnh ls (có th thyrõ hơn nu bn s dng chương trình Midnight Commander). Nu có quyn truycp ti mt thư mc con nào đó ca thư mc này, thì bn có th chuyn sang thưmc con bng lnh cd, nhưng cn phi nh tên ca thư mc con này, vì s khôngthy bt kỳ danh sách và tp tin thư mc nào (trưng hp này ging như khichúng ta đi trong màn đêm không thy đưng, ch nh hưng đi).

Cơ ch kim tra quyn ngưi dùng khi s dng tp tin như sau. Đu tiênh thng kim tra xem tên ngưi dùng có trùng vi tên ch s hu tp tin haykhông. Nu hai tên này trùng nhau (tc là ch s hu đang dùng tp tin camình), thì kim tra xem ch s hu có các quyn truy cp tương ng (đc, ghivà gi) không. Đng ngc nhiên khi ch s hu li không có tt c mi quyn,ngưi dùng root có th tưc b mt s quyn ca ch s hu tp tin. Nu có quyntruy cp đó, thì s đưc cho phép thc hin thao tác tương ng. Nu ch s hukhông có quyn nào đó, thì thm chí h thng không kim tra quyn có th có nhóm s hu và nhng ngưi dùng khác mà đưa ra luôn thông báo li không ththchieejn đưc hành đng yêu cu (dng “Permission denied”).

Nu tên ngưi dùng không trùng vi tên ch s hu thì h thng kim traxem ngưi dùng này có nm trong nhóm s hu hay không. Nu có thì kh năngtruy cp đn tp tin đưc xác đnh bng quyn truy cp ca nhóm, và không chúý đn các quyn ca ch s hu và nhng ngưi dùng còn li. Nu ngưi dùngkhông phi là ch s hu và cũng không nm trong nhóm s hu, thì quyn cah đưc xác đnh bng nhóm tính cht th ba (nhóm dành cho nhng ngưi dùngcòn li). Như vy nhóm tính cht th ba trong quyn truy cp là dành cho ttmi ngưi dùng, tr ch s hu và nhng ngưi dùng nm trong nhóm s hu.

Đ thay đi quyn truy cp ti tp tin ngưi ta s dng lnh chmod (changemode). Có hai cách s dng lnh này. Khi dùng cách th nht bn phi ch ra rõràng thêm quyn nào cho ai hoc tưc quyn nào và ca ai như sau:

[user]$ chmod wXp tên_tp_tin

Trong đó, ch ký t w phi đt mt trong các ký t sau:

• u – ch s hu

• g – nhóm s hu g

• o – nhng ngưi dùng còn li

a – tt c bao gm ch s hu, nhóm và nhng ngưi dùng còn li. ch X là mt trong các ký t sau:

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 87/212

4.5 Quyn truy cp đn tp tin và thư mc 77

• + – thêm quyn

• – – tưc b quyn

• = – dùng quyn ch ra thay cho quyn đã có.

ch p là mt trong nhng ký t sau:

• r – quyn đc

• w – quyn ghi

• x – quyn gi (quyn thc hin.

Sau đây là mt s ví d s dng câu lnh chmod:

[user]$ chmod a+x tên_tp_tinthêm quyn gi tp tin tên_tp_tin cho mi ngưi dùng ca h thng.

[user]$ chmod go-rw tên_tp_tin

tưc b quyn đc và ghi ca mi ngưi dùng tr ch s hu tp tin.

[user]$ chmod ugo+rwx tên_tp_tin[user]$ chmod a+rwx tên_tp_tin

cho mi ngưi dùng quyn đc, ghi và gi (thc hin).

[user]$ chmod u=rwx,go=x tên_tp_tin

cho ch s hu có tt c mi quyn (đc, ghi, gi), nhng ngưi dùng còn li chcó quyn gi (thc hin).

Nu không ch ra ai đưc thêm quyn truy cp, thì s áp dng cho tt c mingưi dùng, tc là có th dùng lnh:

[user]$ chmod +x tên_tp_tin

đ thay cho

[user]$ chmod a+x tên_tp_tin

Phương án s dng th hai ca câu lnh chmod có khó hiu hơn mt chúttrong thi gian đu s dng Linux, nhưng li thưng xuyên đưc các nhà quntr cũng như ngưi dùng có kinh nghim dùng. Nó da trên mã hóa quyn truycp dng s. Ký t r đưc mã hóa bng s 4, w – s 2, x – s 1. Đ xác đnhquyn ca ngưi dùng cn cng các s tương ng li vi nhau. Sau khi thu đưcba giá tr s (cho ch s hu, nhóm s hu và nhng ngưi dùng còn li), chúngta đưa ba s này vào dùng làm tham s cho lnh chmod. Chúng ta cn đt ba s

này phía sau tên lnh và phía trưc tham s th hai (tên tp tin). Ví d, nu cncho ch s hu mi quyn (4+2+1=7), cho nhóm s hu quyn đc và ghi (4+2=6)và nhng ngưi dùng còn li quyn gi (1=1), thì dùng lnh sau:

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 88/212

78 Làm quen vi h thng tp tin ext3fs

[user]$ chmod 761 tên_tp_tin

Nu bn bit v mã đôi ca h cơ s tám, thì hiu rng nhng s đng sau tênlnh không phi gì khác mà chính là bn ghi h cơ s tám ca 9 bit xác đnh

quyn truy cp cho ch s hu, nhóm s hu và nhng ngưi dùng còn li.Ch có ch s hu tp tin hoc ngưi dùng cao cp mi có kh năng thay điquyn truy cp bng câu lnh chmod. Đ có th thay đi quyn ca nhóm s hu,thì ch s hu (không phi root) phi là thành viên ca nhóm đó.

Đ kt thúc bài hc v quyn truy cp đn tp tin cn nói thêm v nhng tínhcht khác có th gp ca tp tin mà cũng xác đnh bng lnh chmod. Đó là nhngtính cht cho các tp tin thc thi. Trong mô t inode, phn cu trúc 2 byte xácđnh tính cht tp tin, chúng chim các v trí 5 – 7 ngay sau mã cho bit dngtp tin. Tính cht đu tiên đó là “bit thay đi ID9 ngưi dùng”. Ý nghĩa ca bitnày như sau.

Thông thưng, khi ngưi dùng gi thc hin mt chương trình nào đó, thìchương trình này nhn đưc nhng quyn truy cp đn tp tin và thư mc cangưi dùng đã chy nó. Nu như có đt “bit thay đi ID ngưi dùng”, thì chươngtrình nhn đưc quyn truy cp đn tp tin và thư mc ca ch s hu tptin chương trình. Như vy bit này còn có th gi là “bit thay đi ID ch s hutin trình”. Điu này cho phép gii quyt mt s vn đ khó thc hin. Ví dđin hình nht là câu lnh thay đi mt khu passwd. Tt c mt khu đưclưu trong tp tin /etc/passwd (hoc mt tp tin mã hóa nào khác, trong đa strưng hp là /etc/shadow) mà ch s hu là ngưi dùng cao cp root. Vì thchương trình nu do ngưi dùng chy s không th thc hin lnh ghi vào tp tinnày. Có nghĩa là ngưi dùng không th thay đi mt khu ca mình. Nhưng tp

tin /usr/bin/passwd có “bit thay đi ID ngưi dùng”, và root là ch s hu tptin chương trình này. Do đó chương trình thay đi mt khu passwd đưc chyvi quyn root và nhn đưc quyn ghi vào tp tin /etc/passwd. Tt nhiên làtrong chương trình passwd đã có mã đ ngưi dùng ch đưc phép thay đi mtdòng trong tp tin này – dòng tài khon ca ngưi dùng đó.

Ngưi dùng cao cp root có th đt “bit thay đi ID ngưi dùng” bng lnh:

[root]# chmod +s tên_tp_tin

Tương t như vy chúng ta có “bit thay đi ID nhóm”. Ý nghĩa ca bit nàycũng ging như trên nhưng ch thay th “ngưi dùng” bng “nhóm”.

Mt tính cht na ca tp tin thc thi đó là “bit dính” (chính xác hơn là “bitlưu chương trình”) hay thut ng ting Anh là “sticky bit”. Chúng ta s dùngthut ng “bit lưu chương trình” vì đúng vi ng cnh này hơn. Bit này ch hthng bit sau khi dng chương trình cn lưu li nó trong b nh. Rt thun tinkhi đt bit này cho nhng chương trình thưng gi, vì trong trưng hp này stit kim đưc thi gian np chương trình vào b nh mi ln chy. Bit này chcn thit trên nhng máy cũ. Trên nhng máy “top model” (high end) hin đithì rt him khi s dng.

Nu s dng phương án xác đnh tính cht dng s ca lnh chmod, thì giátr ca ba tính cht va nói phi nm trưc nhng s xác đnh quyn truy cp(tc là s đu tiên trong dãy 4 s xác đnh tt c các tính cht ca tp tin). Ví d:

9Identificator, mi ngưi dùng có mt ID dng s như vy. ID ca ngưi dùng là duy nht,không trùng lp. Ví d ID ca ngưi dùng cao cp root là 0.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 89/212

4.6 Các câu lnh cơ bn đ làm vic vi tp tin và thư mc 79

[root]# chmod 4775 tên_tp_tin

Khi này cũng vn s dng phép cng như đi vi trưng hp quyn truy cp vàcác tính cht 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).

Nu có (nhng) bit nào đó trong s ba bit này đưc đt (nhn giá tr 1), thìs có thay đi ca kt qu ca lnh ls -l trong phn quyn truy cp (phn đutiên). Nu “bit thay đi ID ngưi dùng” bng 1, thì ký t x trong phn xác đnh

quyn truy cp ca ch s hu s đưc thay th bng ký t s. Lúc này nu chs hu có quyn gi tp tin thì ký t x đưc thay th bng ch cái s nh, cònngưc li (ví d tp tin không phi là chương trình), thì thay th x bng ch cáiS ln. S thay th như vy cũng xy ra nu có đt “bit thay đi ID nhóm”, ttnhiên là s thay th ký t x trong phn xác đnh quyn truy cp ca nhóm shu. Nu “bit lưu chương trình” (sticky bit) bng 1, thì thay th ký t x trongphn xác đnh quyn truy cp ca nhng ngưi dùng còn li bng ký t t, nunhng ngưi dùng còn li có quyn thc hin tp tin, bng ký t T, nu ngưcli.

Như vy, mc dù trong kt qu ca lnh ls -l không có nhng v trí riêng đhin th kt qu ca ba bit (“bit thay đi ID ngưi dùng”, “bit thay đi ID nhóm”và “bit lưu chương trình”), chúng ta vn có th thy đưc nhng thông tin này.Mt 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 thy có th lit kê nhiu tp tin trên dòng lnh ls -l, tc làdùng nhiu tp tin làm tham s cho lnh ls.)

[user]$ touch vidu[user]$ chmod 7766 vidu[user]$ ls -l vidu-rwsrwSrwT 1 teppi82 users 0 2006-09-11 12:46 vidu

4.6 Các câu lnh cơ bn đ làm vic vi tp tinvà thư mc

Trong nhng phn trưc chúng ta đã đ cp đn mt vài câu lnh đ làm vic vitp tin và thư mc, đó là pwd, cd, ls, ln, chmod. Trong phn này chúng tas xem xét mt cách ngn gn mt vài câu lnh thưng dùng na.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 90/212

80 Làm quen vi h thng tp tin ext3fs

4.6.1 Câu lnh chown và chgrp

Nhng câu lnh này dùng đ thay đi ch s hu và nhóm s hu tp tin. Chcó ngưi dùng cao cp root mi có quyn thay đi ch s hu, còn thay đi nhóm

s hu tp tin có th là root hoc ngưi dùng ch s hu. Đ có quyn thay đinhóm, thì ch s hu còn phi là thành viên ca nhóm s s hu tp tin này. Cúpháp ca hai câu lnh này tương t nhau:

[root]# chown tên_ngưi_dùng tên_tp_tin[root]# chgrp tên_nhóm tên_tp_tin

4.6.2 Câu lnh mkdir

Câu lnh mkdir cho phép to thư mc con trong thư mc hin thi. Tham s cacâu lnh này là tên ca thư mc mun to ra. Trong thư mc va to s t đngto ra hai mc: . (liên kt đn chính bn thân thư mc này) và .. (liên kt đnthư mc m). Đ to ra thư mc con, bn đc cn phi có quyn ghi vào thư mchin thi. Có th to ra thư mc con trong mt thư mc khác thư mc hin thi,nhưng khi này cn phi ch ra đưng dn ti đó. Ví d:

[user]$ mkdir ~/projects/l4u/images

(hãy nh li ký hiu ∼ dùng đ ch ca ngưi dùng).Có th dùng các tùy chn sau ca câu lnh mkdir:

• -m mode – xác đnh quyn (ch đ) truy cp cho thư mc mi (ví d: -m 700)

• -p – to ra các thư mc trung gian ch ra trong đưng dn (nu chưa cóchúng). Ví d:

teppi82@ThinhQuyen:~> mkdir mot/haimkdir: cannot create directory ’mot/hai’: No such file or directoryteppi82@ThinhQuyen:~> mkdir -p mot/haiteppi82@ThinhQuyen:~> ls -l mottng 4drwxr-xr-x 2 teppi82 users 4096 2006-09-11 13:36 hai

4.6.3 Câu lnh cat

Câu lnh cat thưng dùng đ to các tp tin, mc dù có th s dng lnh touch.Lnh cat cũng đưa ra màn hình (đu ra) ni dung ca (các) tp tin dùng làmtham s ca nó. Nu chuyn kt qu làm vic ca lnh cat vào mt tp tin nàođó thì có th to ra bn sao ca tp tin như sau:

[user]$ cat tp_tin1 > tp_tin2

Chính bn thân câu lnh cat lúc đu đưc phát trin đ dùng cho vic chuyn

hưng kt qu làm vic. Vì nó đưc to ra cho s móc ni (concatenate, nu dùngthut ng ca Hoá hc là “s cng” các tp tin), tc là s kt hp các tp tin khácnhau vào mt:

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 91/212

4.6 Các câu lnh cơ bn đ làm vic vi tp tin và thư mc 81

[user]$ cat tp_tin1 tp_tin2 ... tp_tinN > tp_tin_mi

 Và cũng chính kh năng chuyn hưng kt qu ca câu lnh này đưc dùngđ to các tp tin mi. Khi này đu vào ca lnh cat đó là dòng d liu nhp t

bàn phím (đu vào tiêu chun), còn đu ra s là tp tin mi:[user]$ cat > tp_tin_mi

Sau khi nhp vào nhng gì mun nhp, hãy nhn t hp phím <Ctrl>+<D>hoc <Ctrl>+<C>, và tt c nhng gì bn đã gõ s đưc lưu li trong tp tintp_tin_mi. Tt nhiên là như vy ch yu dùng cat đ to các tp tin vănbn ngn.

4.6.4 Câu lnh cp

Mc dù đôi khi có th dùng câu lnh cat đ sao chép các tp tin, nhưng trongLinux có mt câu lnh chuyên dùng cho vic này – lnh cp. Có th áp dng mttrong hai dng ca lnh này:

[user]$ cp [tùy_chn] ngun đích[user]$ cp [tùy_chn] thư_mc_ngun thư_mc_mi

Trong trưng hp th nht sao chép tp tin (hoc thư mc) ngun vào tptin (hoc thư mc) đích. Còn trong trưng hp th hai thì tp tin có trongthư_mc_ngun s đưc sao chép vào thư mc thư_mc_mi. Đ sao chép thìcn có quyn đc tp tin mun sao chép và quyn ghi vào thư mc s sao chépđn (“thư mc đích”).

Nu s dng mt tp tin đã có vào ch ca tp tin đích thì ni dung ca nós b xóa mt, do vy khi sao chép cn phi cn thn. V li có th s dng câulnh cp vi tùy chn -i. Khi đó trưc khi ghi chèn lên tp tin đã có h thng shi li ngưi dùng. Rt nên dùng tùy chn này.

Câu lnh cp còn có mt vài tùy chn có ích khác lit kê trong bng 4.3.

Bng 4.3: Nhng tùy chn chính ca lnh cp

Tùy chn Ý nghĩa

–p Gi li thi gian sa đi tp tin và c gi li nhng quyntruy cp có th gi li. Nu không đưa ra tùy chn này thìquyn truy cp ca tp tin s đưc thit lp theo quyn cangưi dùng đã chy lnh.

–R hoc –r Nu ngun là thư mc thì sao chép thư mc đó cùng vi ttc nhng gì (tp tin, thư mc con) nm trong nó, tc là gili đưc cu trúc ca thư mc bn đu (recursive).

–d Nu đưa ra tùy chn này thì các liên kt mm s vn là cácliên kt, nu không thì s sao chép tp tin (ni dung) màliên kt này ch đn.

–f Ghi chèn tp tin khi sao chép mà không hi li hay cnhbáo.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 92/212

82 Làm quen vi h thng tp tin ext3fs

4.6.5 Câu lnh mv

Nu bn không cn sao chép, mà cn di chuyn tp tin t mt thư mc này vàomt thư mc khác, thì có th s dng câu lnh mv. Cú pháp ca lnh này tương

t như cú pháp ca cp. Hơn na, lnh này đu tiên sao chép tp tin (hay thưmc), và sau đó mi xóa tp tin (thư mc) ban đu. Các tùy chn ca nó cũngging như ca cp.

Câu lnh mv không ch dùng đ di chuyn, mà còn dùng đ thay đi tên tptin và thư mc, tc là di chuyn chúng trong phm vi ca mt thư mc. Ch cnđt vào ch hai tham s tên cũ và tên mi ca tp tin như th này:

[user]$ mv tên_cũ tên_mi

Nhưng hãy chú ý là câu lnh mv không cho phép đi tên mt vài tp tin cùng

lúc bng cách s dng các mu tên. Do đó câu lnh:

[user]$ mv *.doc *.odt

s không làm vic. Khi s dng lnh mv cũng ging như khi s dng cp, đngquyn thêm vào tùy chn -i đ hin ra cnh báo khi có tp tin s b ghi chèn.

4.6.6 Câu lnh rm và rmdir

Đ xóa nhng tp tin và thư mc không cn thit trên Linux có các câu lnh rm(xóa tp tin) và rmdir (xóa thư mc rng). Đ s dng nhng câu lnh này, bnđc cn có quyn ghi vào thư mc lưu nhng tp tin hoc thư mc mun xóa. Khinày quyn thay đi chính bn thân các tp tin và thư mc là không cn thit.Nu mun câu hi xác nhn s cho phép ca ngưi dùng xut hin trưc khi xóatp tin, thì hãy dùng tùy chn -i (rt d nh, tùy chn này có nhng câu lnhcp, mv đã k trên).

Nu dùng câu lnh rm (không có tùy chn) đ xóa thư mc thì s xut hinthông báo dng “cannot remove ‘l4u’: Is a directory” (không th xóa b, đây làthư mc). Đ xóa thư mc thì cn xóa tt c nhng tp tin có trong nó, sau đóxóa bn thn thư mc bng lnh rmdir. Tuy nhiên có th xóa thư mc khôngrng cùng vi tt c nhng tp tin và thư mc có trong nó, nu s dng câu lnhrm vi tùy chn -r.

Nu chy lnh rm *, thì s xóa tt c nhng tp tin có trong thư mc hinthi. Các thư mc con không b đng ti. Đ xóa c tp tin và thư mc con cathư mc hin thi cn dùng tùy chn -r k trên. Tuy nhiên cn luôn luôn nhrng, trên Linux không có câu lnh phc hi tp tin sau khi xóa, thm chí c khiva xóa xong10. Theo tôi nghĩ bt kỳ ngưi dùng Linux nào cũng có th chia svi bn cm giác b mt tp tin “ngay trưc mt”. Vì th hãy khi hai ln trưckhi xóa gì đó và đng quên tùy chn -i.

10Có mt s cách ph hi tp tin đã xóa trên h thng tp tin cũ ext3fs, nhưng chúng ta lànhng ngưi dùng mi, do đó không xem xét chúng. Tt nhiên bn có th tham kho tài liuHOWTO có trên http://www.tldp.org này trong trưng hp khn cp.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 93/212

4.6 Các câu lnh cơ bn đ làm vic vi tp tin và thư mc 83

4.6.7 Câu lnh more và less

Câu lnh cat cho phép đưa ra màn hình (đu ra tiêu chun) ni dung ca bt kỳtp tin này, tuy nhiên rt ít khi lnh cat đưc s dng cho mc đích này, và ch

dùng đ hin th nhng tp tin có dung lưng rt nh. Nguyên nhân là ni dungca tp tin ln s ngay lp tc chy qua màn hình và ngưi dùng ch thy nhngdòng cui cùng ca tp tin. Vì th cat dùng ch yu theo chc năng chính canó, tc là dùng đ “cng” các tp tin, còn đ xem ni dung ca các tp tin vănbn chúng ta dùng các lnh more và less hoc các trình son tho khác.

Câu lnh (b lc) more đưa ni dung ca tp tin ra màn hình theo tng trangcó kích thưc bng kích thưc màn hình (nói chính xác thì là gn bng, vì cómt dòng cui cùng dành cho đ hin th trng thái (status)). Đ xem trang tiptheo cn nhn vào phím trng <Space> (phím dài nht trên bàn phím hin nay).Nhn phím <Enter> đ đc mt dòng tip theo. Ngoài <Space> và <Enter> còncó mt vài phím điu khin khác, ví d phím <B> đ quay li màn hình trưc,nhưng chúng ta s không lit kê đy đ nhng phím này đây, và cũng khôngđưa ra danh sách các tùy chn ca lnh more. Bây gi bn đc ch cn nh phím<Q> dùng đ thoát ra khi ch đ xem ca more, nu không thì bn s phi nhnphím <Space> cho đn khi ht tp tin (chng may nu nó quá dài thì bn s mtrt nhiu thi gian). Tt c các tuỳ chn ca lnh more bn có th đc trongtrang hưng dn man (more(1)) hoc info ca nó.

Tin ích less là mt trong nhng chương trình đưc d án GNU phát trin.less có tt c các chc năng và lnh điu khin ca more, và có thêm mt vàis m rng khác. Ví d, cho phép s dng các phím điu khin con tr (<↑>, <↓>,<→>, <←>, <Home>, <End>, <PgUp>, <PgDown>) đ di chuyn trong văn bn.

Hãy nh li, chúng ta đã nói v điu này khi nói v h thng tr giúp man.Các lnh more và less cho phép tìm kim t khóa có trong tp tin đang xem,trong đó lnh less cho phép tìm kim theo hai hưng: t trên xung dưi vàngưc li. Đ tìm kim t khóa “string” (mt cm ký t nào đó) thì đu tiên cnnhn “/” đ chuyn vào ch đ tìm kim, sau đó nhp vào “string” vào dòng “/” cui màn hình. Nu tìm thy t khóa trong tp tin, thì s hin th đon văn bntương ng sao cho dòng tìm thy nm trên cùng. Nu mun tip tc tìm kimhãy nhn phím <N>, trong less có th dùng t hp phím <Shift>+<N> đ tìmkim theo hưng ngưc li.

4.6.8 Câu lnh tìm kim find và mu tên tp tinCòn có mt câu lnh thưng dùng đ làm vic vi tp tin trong Linux đó là câulnh tìm kim tp tin find. Câu lnh find có th tìm kim tp tin theo tên, theokích thưc, thi gian to hoc thi gian sa đi tp tin và theo các tiêu chí khác.Cú pháp chung ca câu lnh find có dng sau:

find [danh_sách_thư_mc] tiêu_chí_tìm_kim

Trong đó tham s “danh sách thư mc” xác đnh nơi tìm kim tp tin mong mun.

Đơn gin nht là dùng thư mc gc “/” làm nơi khi đu tìm kim. Tuy nhiêntrong trưng hp đó tìm kim có th kéo dài rt lâu, vì s “lc soát” tt các thưmc k c nhng h thng tp tin gn vào, trong đó có th có các thư mc mng

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 94/212

84 Làm quen vi h thng tp tin ext3fs

(và chuyn gì xy ra nu tc đ đưng truyn thp). Có th làm s khi lưngcông vic, nu dùng mt danh sách nhng thư mc, mà tp tin có th nm trong,đ thay th cho thư mc gc. Ví d:

[user]$ find /usr/bin /sbin /bin /usr/local/bin -name cp

Phn đu ca tiêu_chí_tìm_kim xác đnh xem chương trình find phitìm cái gì. Phn đu này là tham s bt đu bng “–”, “(”, “)”, “,” hoc “!”. Tt ccác tham s đng trưc tiêu_chí_tìm_kim đưc coi là tên thư mc cn “lcsoát”. Nu không ch ra mt thư mc nào, thì tìm kim s bt đu t thư mchin thi và đi sâu vào trong các thư mc con.

Ngưi dùng thưng thc hin tìm kim theo tên tp tin như ví d trên, đây tiêu_chí_tìm_kim có dng “–name tên_tp_tin”. ch tùy chn -namecó th s dng tùy chn -path, khi đó câu lnh s tìm kim s tương ng ca

tên tp tin đy đ bao gm c đưng dn ch ra. Ví d, câu lnh:[user]$ find . -path ’./l*es’

s tìm thy trong thư mc hin thi thư mc con l4u/images. Trong ví dnày, ch tên ca tp tin hoc thư mc chúng ta s dng mt “mu tên”. Và bi vì mu tên tp tin không ch s dng cho câu lnh find mà còn sdng cùng vi nhiu câu lnh khác (bao gm c nhng câu lnh đã nói đn:chmod, chown, chgrp, cp, rm, cat, mv), nên chúng ta cn chú ý và dànhthi gian đ nghiên cu các quy đnh s dng và vit “mu tên”.

Trong đa s trưng hp mu tên tp tin đưc to ra nh các ký t đc bit “*”

và “?”. Ký t “*” s dng đ thay th cho bt kỳ dòng ký t nào. Trong Linux:

• “*” tương ng vi tt c các tp tin tr nhng tp tin n.

• “.*” tương ng vi tt c nhng tp tin n (trong đó có thư mc hin thi “.”và thư mc m “..”).

• “*.*” ch tương ng vi nhng tp tin và thư mc có du chm (.) gia tênhoc cui cùng.

• “a*p” tương ng vi anhchup và anhchep.

• “*a*” tương ng vi May và march.

Ký t “?” ch thay th mt ký t bt kỳ, vì th taptin?.txt s tương ng vicác tên sau (taptin1.txt, taptin2.txt, taptin9.txt.

Ngoài “*” và “?” trong Linux còn s dng các du ngoc vuông ([]) đ to “mutên”. Trong hai du ngoc này đt danh sách các ký t (có th dng khong11)có th gp. Ví d [xyz]* tương ng vi tt c nhng tên tp tin bt đu bng a,b, c. Còn *[G-K4-7] tương ng vi nhng tp tin có tên kt thúc bng G, H, I,J, K, 4, 5, 6, 7. Hãy chú ý là không có khong trng trong c hai ví d k trên.

Tt nhiên đây ch đưa ra nhng thông tin tht ngn gn v “mu tên” tp

tin và các ký t thay th. Bn đc có th tìm thy thông tin chi tit hơn v “mu11interval

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 95/212

4.6 Các câu lnh cơ bn đ làm vic vi tp tin và thư mc 85

Bng 4.4: Tiêu chí tìm kim ca câu lnh find.Tùy chn Giá tr

–name mu_tên Tìm tp tin có tên tương ng vi mu_tên.

–group tên Tìm tp tin thuc v nhóm ch ra.–size s[c] Tìm tp tin có c bng s khi 512 byte (tc là bng512B x s). Nu sau s có ký t c thì có nghĩa làkích thưc đưc tính theo byte (ký t, charater), chkhông phi theo khi.

–mtime s_ngày Tìm tp tin đưc thay đi ln cui cùng trưcs_ngày ch ra.

–newer mu Tìm tp tin đưc thay đi sau khi thay đi tp tin cótrong mu.

–type dng_tp_tin Tìm tp tin dng ch ra. Dng tp tin đưc xác đnh

bng mt trong các ký t sau: b (thit b khi), c(thit b ký t), d (thư mc), f (tp tin thưng), p(ng có tên pipe), hoc l (liên kt mm).

tên” tp tin trong tài liu IBM LPI tutorial bn dch ting Vit do nhóm cng tácca vnoss.org (trong đó có tôi) thc hin có trên http://vnoss.org/pub.

Còn bây gi sau khi đã làm quen vi “mu tên” tp tin, chúng ta quay tr livi câu lnh find và nói chi tit hơn v nhng kh năng có th ca tiêu chí tìmkim. Mt vài ví d đơn gin ca tiêu chí tìm kim có trong bng 4.4.

Nhng tiêu chí tìm kim đơn gin khác bn có th tìm thy trong trang man

ca câu lnh find hoc trong tài liu LPI tutorial nói trên. Cn nói rng tnhng tiêu chí đơn gin có th to ra nhng tiêu chí phc tp hơn nh các phéplôgíc and, or hoc phép ph đnh (ký hiu là du chm than “!”). Ví d, nu bnmun tìm tt c nhng tp tin có “phn m rng”12 là .odt và .tex, thì có thdùng tiêu chí tìm kim như sau: (-name *.tex -or -name *.odt). Có ths dng kt hp như vy mt s lưng bt kỳ các tiêu chí k c tiêu chí phc tp.Nu không ch ra phép lôgíc c th, thì coi như dùng and, tc là có th dùng mttrong hai cách ghi: (-name *.tex -and -name *.odt) hoc (-name *.tex-name *.odt). Nu ch dùng mt phép lôgíc and hoc !, thì có th b đi dungoc, còn phép lôgíc or và các tiêu chí phc tp hơn thì cn du ngoc. Trưc

du ngoc cn đt mt du gch chéo ngưc (\), còn sau du ngoc cn đt mtkhong trng. Ví d, nu bn đc mun tìm thư mc theo tên ca nó thì có thdùng lnh:

[user]$ find /usr/share -name man1 -type d

hoc dùng tiêu chí phc tp:

[user]$ find /usr/share \( -name man1 -and -type d \)

Trong ví d sau chúng ta tìm tp tin theo tiêu chí như sau: hoc tên tp tincó “phn m rng” *.tex, hoc kích thưc tp tin nh hơn 200KB.

12đ trong du ngoc vì chúng ta bit rng trong Linux không có khái nim phn m rng tptin.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 96/212

86 Làm quen vi h thng tp tin ext3fs

[user]$ find ~/projects \( \( -name *.tex \) -or \( -size -200 \) \)

Trong ví d cui cùng này hãy chú ý rng trưc giá tr kích thưc tp tin códu “–”. Du này có th s dng vi bt kỳ tham s có giá tr s nào trong tiêu chí

tìm kim ca câu lnh find. Có nghĩa rng cn tìm tp tin có giá tr ca thams nh hơn s đưa ra. Tương t du “+” có nghĩa là cn tìm tp tin có giá tr catham s ln hơn s đưa ra. Nu không có du “+” và du “–” thì tìm tp tin có giátr ca tham s bng s đưa ra.

Đ kt thúc phn v câu lnh find này, cn nói thêm rng sau tiêu chí tìmkim có th đưa ra ngay thao tác x lý tt c nhng tp tin tìm thy. Ví d đơngin nht là thao tác –print.

[user]$ find ~/projects -name *.tex -print

dùng đ đưa ra màn hình danh sách tên ca tt c nhng tp tin tìm thy cùngvi đưng dn đy đ đn tp tin. Thao tác này đưc dùng theo mc đnh, tc 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.

Mt ví d khác là thao tác -exec cmd {}. Trong đó cmd là mt câu lnh btkỳ nào đó ca h v shell. Trong trưng hp này s thc hin câu lnh cmd đivi tt c nhng tp tin tìm thy. Sau cmd {} là du chm phy (;) có du gchchéo ngưc “\” trưc (chúng ta s hiu rõ hơn tác dng ca du gch chéo ngưctrong chương ngay sau).

 Ví d, nu bn mun xóa tt c nhng tp tin trong thư mc hin thi màngưi dùng không “đng” đn trong vòng 365 ngày hoc lâu hơn, thì hãy dùngcâu lnh sau:

[user]$ find . -type f -atime +365 -exec rm {} \;

ch -exec có th dùng -ok, khi đó trưc khi thc hin câu lnh cmd cho mitp tin tìm thy h thng s hi li xem bn có mun thc hin tht không.

Nói chung câu lnh cmd là mt câu lnh rt mnh, có ích và là mt công ctìm kim tt trong h thng tp tin. Đương nhiên là chưa phi tt c nhng khnăng ca lnh này đưc lit kê ra đây. Hãy tìm hiu trong trang tr giúp manhoc mt cun sách dày cp nào đó v Linux. Và hãy cn thn khi s dng nhngkh năng ca câu lnh này như gi nhng câu lnh khác đ thc hin trên tt

c nhng tp tin tìm thy. Hãy nh rng s thay đi thưng là mt chiu.

4.6.9 Câu lnh split

Đôi khi chúng ta cn chia mt tp tin ln thành tng phn nh. Ly ví d bncó mt tp tin phim dng mpg ln, khong 1,2GB. Và bn mun sao chép tp tinnày qua mt máy khác nhưng li không có mt kt ni mng. Và cũng không có ghi DVD mà ch có ghi CD. Nhưng tp tin này không th nm gn trên mtCD (dung lưng khong 700MB). Do đó có th chia tp tin này thành hai phnmi phn nh hơn 700MB sau đó s gp chúng li. Đ làm đưc vic này chúng

ta có th s dng lnh split.Câu lnh split cho phép sao chép tp tin bng cách chia chúng ra thànhtng phn nh theo kích thưc đã đnh. Tham s ca lnh này là tên ca tp tin

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 97/212

4.6 Các câu lnh cơ bn đ làm vic vi tp tin và thư mc 87

ban đu và phn đu (prefix) tên ca các tp tin s to ra. Các tp tin thu đưcs có tên gm phn đu (prefix) này và hai ch thêm vào đ chúng không trùngnhau: ‘aa’, ‘ab’, ‘ac’, ‘ad’, v.v. . . (không có khong trng và các du chm gia phnđu và nhng ch cái này). Nu không đưa ra phn đu, thì theo mc đnh s

dng ‘x’, tc là s thu đưc các tp tin ‘xaa’, ‘xab’, ‘xac’, ‘xad’ v.v. . .Ngoài các tham s có th thêm vào tùy chn -b đ xác đnh kích thưc cacác tp tin to ra (tính theo byte). Sau -b là mt s và sau đó là mt ch cái: k(kích thưc tính theo KB) hoc m (tính theo MB). Nu không đưa ra tùy chn nàythì theo mc đnh kích thưc ca tp tin thu đưc bng 1MB. Đ gii quyt bàitoán đã đưa lúc đu thì cn chy lnh:

[user]$ split -b 650m phim.mpg phim

Sau đó dùng chương trình ghi đĩa sao chép hai tp tin thu đưc (phimaa, phimab)

lên hai đĩa CD-R(W), ri đưa chúng (có nghĩa là dùng lnh cp) lên máy th haivào mt thư mc nào đó. Cui cùng phc hi tp tin ban đu bng lnh:

[user]$ cat phim* > phim.mpg

Sau đó có th xóa đi các tp tin phimaa, phimab.

4.6.10 So sánh các tp tin và lnh patch

Có th bn không đ ý nhưng khi làm vic vi máy tính công vic so sánh ni

dung ca hai tp tin khác nhau gp mt cách thưng xuyên. Là vì có th saochép tp tin mt cách d dàng, ri sau đó quên luôn là tp tin nào mi hơn hoctt hơn. Vì th nhng công c dùng đ so sánh tp tin là cn thit và tt nhiênlà có trong Linux. Công c đơn gin nht trong s này là lnh cmp (compare).Lnh này ch so sánh ni dung ca hai tp tin theo tng byte:

[user]$ cmp tp_tin1 tp_tin2

Nu hai tp tin hoàn toàn trùng nhau, thì lnh hoàn thành công vic màkhông đưa ra thông báo gì, còn nu chúng khác nhau thì đưa ra s th t cadòng và byte ch có s khác nhau.

Tt nhiên thông tin mà lnh cmp đưa ra hơi ít đ có th quyt đnh chn tptin nào trong s hai tp tin này, tp tin nào quan trng hơn. Vì th còn có th sdng câu lnh diff đ bit đưc s khác nhau gia hai tp tin đây là gì. Chcn cho câu lnh này bit tên hai tp tin mà bn mun so sánh. Ví d:

teppi82@ThinhQuyen:~> diff ChangeLog ChangeLog21c1< 11 tháng 09 năm 2006, phiên bn 0.9.3---> 18 tháng 09 năm 2006, phiên bn 0.9.3

Thông báo v s khác nhau s hin th trên màn hình (đu ra tiêu chun).Chúng ta có th chuyn hưng báo cáo này vào mt tp tin:

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 98/212

88 Làm quen vi h thng tp tin ext3fs

teppi@ThinhQuyen:~> diff ChangeLog ChangeLog2 > ChangeLog.diffteppi@ThinhQuyen:~> more ChangeLog.diff1c1< 11 tháng 09 năm 2006, phiên bn 0.9.3

---> 18 tháng 09 năm 2006, phiên bn 0.9.3

Đ đánh giá phiên bn ca mt tp tin thì thun tin hơn nu s dng câulnh sdiff. Kt qu so sánh khi này s hin th dng hai ct, phân cách nhaubi các khong trng. Nu hai ct có cùng s th t khác nhau, thì chúng s cáchnhau bi mt du gch thng đng “|”. Nu mt dòng nào đó ch có trong tp tinth nht thì nó đưc đánh du bng mt ký t “<”, nu không có trong tp tinth hai – mt ký t “>”.

Còn có câu lnh diff3 cho phép so sánh 3 tp tin mt lúc. Nhưng thưng s

dng nht trên các h thng UNIX và Linux vn là câu lnh diff. Có th ddàng hiu điu này nu bit rng kt qu báo cáo ca diff v s khác nhau giahai tp tin có th s dng cho câu lnh patch. Thông thưng kh năng này đưcdùng khi phân phi bn cp nht ca chương trình ng dng. Ly ví d đơn gin(“mt cách ngu ngc”), mt chương trình ng dng nào đó đưc đưa cho ngưidùng dng tp tin xvnkb-0.2.8.c, có cha mã ngun ca chương trình nàytrên ngôn ng C. Sau đó nhà phát trin sa các li và cp nht chương trình rilưu mã ngun trong mt tp tin khác xvnkb-0.2.9.c. Bây gi cn đưa nhngthay đi đã làm đn cho ngưi dùng. Tt nhiên là ch cn gi cho ngưi dùngnhng thay đi, tc là kt qu báo cáo to ra bng lnh:

[chuoi]$ diff xvnkb-0.2.8.c xvnkb-0.2.9.c > xvnkb.c.diff

Như vy tt nhiên là kích thưc ca tp tin xvnkb.diff s nh hơn nhiu sovi xvnkb-0.2.9.c, s tit kim đưc dung lưng truyn ti qua mng Internetnu ch gi xvnkb.c.diff. Trong trưng hp chương trình ng dng ln thì stit kim này là đánh k. Tuy nhiên tit kim cho ngưi dùng không phi là ngdng chính. Mà s phát trin ca ng dng mã m mi là đim chính. Chúng tanh rng mt ng dng mã m đưc phát trin bi c mt nhóm các nhà pháttrin và cng đng. Mi nhà phát trin s đóng góp đon mã ca mình bngchính cách này.

Tuy nhiên sau khi nhn đưc tp tin *.diff thì cn phi đưa nhng sa điđã làm vào phiên bn hin thi. Bài toán này là do patch gii quyt. Đã cóxvnkb-0.2.8.c và xvnkb.c.diff, ch cn chy lnh:

[user]$ patch xvnkb-0.2.8.c xvnkb.c.diff > xvnkb-0.2.9.c

s thu đưc tp tin xvnkb-0.2.9.c.

4.7 Các câu lnh lưu tr và nén tp tin

Khi s dng Linux rt có th bn s ít làm vic vi phn ln các lnh h vshell, vì đã có nhng chương trình tin ích như Midnight Commander và các

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 99/212

4.7 Các câu lnh lưu tr và nén tp tin 89

môi trưng giao din đ ho như KDE, GNOME. Và các tin ích và môi trưngđó giúp bn làm vic d dàng vi các tp tin nén s nói ti. Nhưng là ngưidùng Linux thc s bn cũng nên bit nhng câu lnh nén và gii nén làm victrong h v shell. Chúng s giúp bn làm vic nhanh hơn vi nhng tp tin nén

thưng gp trong Internet.Phương tin chính đ làm vic vi các tp tin nén trong UNIX và Linux làhai chương trình tar và gzip. Mc dù không ai cm bn s dng các chươngtrình arj, pkzip, lha, rar v.v. . . Nhưng truyn thng ca Unix đó là tar và gzipvà phn ln mã ngun (và không ch mã ngun) ca các chương trình ng dngđưc phân phi dng này. Vì th bit cách làm vic vi tar và gzip đó là danhd ca bt kỳ ngưi dùng Linux nào, cũng ging như samurai phi bit s dngkim vy.

4.7.1 Chương trình tarNhng ngưi dùng đã quen vi nhng chương trình nén dng winzip (đưa ttc tp tin vào mt “kho” ri sau đó nén chúng) thì có th s hi “Ti sao li cnhai chương trình?”. Chúng ta s tìm thy câu tr li cho câu hi này sau khi đcxong hai phn ti đây, và s thy đây không phi là mt yu đim ca Linux màcòn là đim mnh nu bit cách kt hp “nhp nhàng” hai chương trình này.

Tên chương trình tar có nghĩa là tape archiver, tc là chương trình nàykhông nén các d liu mà ch kt hp chúng vào mt tp tin chung sau đó ghi tptin này lên cách băng nh (tape) thưng dùng đ lưu tr thông tin. Nu munto tp tin này trên đĩa cng, thì cn s dng lnh tar vi tùy chn f, sau đó ch

ra tên tp tin. Chương trình tar có 8 tùy chn khác vi nhng tùy chn còn li ch khi chy lnh tar thì cn phi đưa ra mt trong s 8 tùy chn này. Tám tùychn này xác đnh các chc năng chính ca chương trình (xem bng 4.5).

Bng 4.5: Nhng tùy chn chính ca tar

Tùy chn Ý nghĩa-A, --catenate, --concatenate Thêm tp tin vào kho đã có.-c, --create To kho mi.-d, --diff, --compare Tìm s khác nhau gia các tp tin

trong kho và trên h thng tp tin (sosánh).

--delete Xóa tp tin khi kho (không dùng chobăng ghi).

-r, --append Thêm tp tin vào cui kho.-t, --list Đưa ra danh sách các tp tin trong

kho.-u, --update Ch thêm nhng tp tin mi hơn bn

sao trong kho (cp nht kho).-x, --extract, --get Ly tp tin ra khi kho (“gii phóng”).

Nu bn làm vic vi các tp tin kho trên đĩa ch không phi vi băng ghi(đây là đa s trưng hp s dng máy tính cá nhân), thì nht đnh phi dùng

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 100/212

90 Làm quen vi h thng tp tin ext3fs

tùy chn f. Nhng tùy chn khác (tr 8 tùy chn bt buc k trên) là không cnthit, chúng ch dùng đ thêm vào các chc năng ph c th nào đó. Ví d, tùychn v bt buc chương trình phi đưa ra danh sách các tp tin đưa vào kho.

Có th lit kê các tuỳ chn mt ch cái (c, f, . . . ) lin nhau và du gch ngang

(–) phía trưc có th dùng nhưng không nht thit phi có. Chúng ta s thy ví d ti đây. Tôi s không đưa ra mô t tt c các tùy chn ca lnh tar, mà chcho bit mt s dòng lnh cn thit nht đ làm vic vi các kho tp tin. Như vys có ích hơn trong thi gian này.

Đ to mt kho tp tin tar t vài tp tin cn s dng mt trong hai lnh sau:

[user]$ tar -cf tên_kho tp_tin1 tp_tin2[user]$ tar cf tên_kho tp_tin1 tp_tin2

trong đó tùy chn c (t bây gi tôi s b đi du gch ngang “–” phía trưc tuỳ

chn) cho bit chương trình cn to ra (create) kho tp tin, còn tuỳ chn f chobit là kho này phi đưc to dng tp tin có tên tên_kho phía sau tùy chn.Trong phn tên tp tin mun lưu vào kho có th s dng các “mu tên”, bao

gm c các ký t thay th đơn gin như “*” và “?”. Nh vào tính năng này có thlưu vào kho ngay lp tc nhiu tp tin bng mt câu lnh rt ngn. Ví d, đ tora kho cha tt c các tp tin ca mt thư mc con ca thư mc hin thi, gi sprojects, thì ch cn gi lnh:

[user]$ tar cf projects.tar projects/*

hoc thm chí còn đơn gin hơn:

[user]$ tar cf projects.tar projects

Câu lnh này s to ra kho projects.tar trong thư mc hin thi. Kho nàykhông ch lưu tt c nhng tp tin có trong thư mc projects mà còn lưu ttc nhng thư mc con ca nó cùng vi tt c nhng tp tin nm trong chúng(chúng ta dùng thut ng “lưu đ quy”, hoc “lưu toàn b cu trúc thư mc”).Trong tp tin kho cu trúc thư mc ca projects vn đưc gi nguyên.

Cn chú ý là trong ví d trên nu ch “*” đt “*.*” thì s ch lưu nhng tptin nm trc tip trong thư mc projects và nhng thư mc con có du chmtrong tên (ít gp), nhng thư mc con còn li ca projects s không đưc lưu.Cũng trong ví d này nu không ch ra tên thư mc thì s lưu tt c các tp tinvà thư mc con ca thư mc hin thi. Nu chy lnh sau:

[user]$ tar cvf tên_kho ./.*

thì không ch lưu tt c các tp tin và thư mc con ca thư mc hin thi, màcòn lưu nhng tp tin ca thư mc m.

Bây gi bn đc đã bit cách to kho tp tin. Đ ly (gii phóng) tt c tp tinra khi kho, cn dùng lnh:

[user]$ tar xvf tên_kho

Hin th danh sách các tp tin trong kho bng lnh:

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 101/212

4.7 Các câu lnh lưu tr và nén tp tin 91

[user]$ tar tvf tên_kho | less

Gii phóng mt tp tin nào đó bng:

[user]$ tar xvf tên_kho tên_tp_tin

Chương trình tar là phương tin thun li đ to các bn sao lưu tr (saolưu) ca tp tin. Tt nhiên còn có nhng tin ích sao lưu chuyên dùng khác,nhưng c khi bn đc không bit nhng tin ích này, thì vn có th sao lưu dliu quý báu ca mình lên đĩa mm bng:

[user]$ tar Mcvf /dev/fd0 thư_mc

ri phc hi thư mc bng lnh:

[user]$ tar Mxpvf /dev/fd0

Hoc đơn gin hơn, to mt tp tin kho cha:

[user]$ tar cvf tên_kho thư_mc

ri sao chép tp tin tên_kho lên mt thit b lưu tháo ri hoc thư mc trênmng nào đó (CD, DVD, flash, ftp,. . . ). Phc hi li bng lnh:

[user]$ tar xpvf tên_kho

Nu có khó khăn khi s dng lnh tar, hãy đc tr giúp man ca nó hoc đcnhng thông tin hin ra khi chy tar vi tùy chn --help

4.7.2 Chương trình gzip

Mc dù chương trình tar to ra kho tp tin, nhưng như đã nói trên, nó khôngnén kho này li mà ch kt hp các tp tin riêng r vào mt tp tin chung. Đnén tp tin này li thưng s dng câu lnh gzip. Trưng hp đơn gin nht

ca lnh này trông như sau:[user]$ gzip tên_tp_tin

Trên dòng lnh có th đưa ra cùng lúc vài tên hoc “mu tên” tp tin. Nhưngkhi này mi tp tin s đưc nén riêng r, ch không to mt tp tin chung.

Đ gii nén tp tin hãy dùng mt trong hai câu lnh sau:

[user]$ gzip -d tên_tp_tin

hoc[user]$ gunzip tên_tp_tin

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 102/212

92 Làm quen vi h thng tp tin ext3fs

Bng 4.6: Nhng tùy chn chính ca chương trình gzip

Tùy chn Ý nghĩa-h, --help Hin th tr giúp ngn gn v cách s dng chương

trình.-l, --list Đưa ra tên tp tin nm trong tp tin nén, kích thưcca nó và mc đ nén (tính theo %).

-L, --license Hin th s phiên bn và bn quyn ca chươngtrình.

-N, --name Lưu hoc phc hi tên ban đu và thi gian to tptin.

-n, --no-name Không lưu hoc không phc hi tên ban đu và thigian to tp tin.

-q, --quiet B đi nhng cnh báo.

-r, --recursive Nén toàn b (đ quy) thư mc. S dng trong trưnghp có đưa ra “mu tên” tp tin.–S .suf, —-suffix.suf

Thêm phn sau (suffix) vào tên tp tin nén. Theomc đnh s dng phn sau là gz. Chú ý: nu sdng phn sau khác “gz” thì khi gii nén chươngtrình s đưa ra thông báo li dng “unknown suffix– ignored” (phn sau không bit – l đi).

-t, --test Th (kim tra) tính nguyên vn ca tp tin nén.-v, --verbose Đưa ra các thông báo ph trong khi làm vic.-V, --version Hin th phiên bn ca chương trình.

-1, --fast Nén nhanh (mc đ nén thp).-9, --best Mc đ nén mnh hơn. Kích thưc tp tin thu đưcnh hơn nhưng tt nhiên là s lâu hơn.

Tp tin ban đu sau khi nén s b xóa, ch còn li tp tin đã nén. Còn khigii nén thì tp tin nén s b xóa, ch còn li tp tin bình thưng. Chúng ta cócm giác như tp tin đưc “đưa ra, đưa vào” mt kho. Nhưng đó là nhng tp tinhoàn toàn khác nhau! Hãy s dng lnh ls -i đ kim tra ch s inode cachúng.

Bây gi chúng ta s lit kê mt vài tùy chn có ích ca chương trình gzip vào

bng 4.6.Bi vì chương trình gzip không có kh năng lưu nhiu tp tin vào trong mt

tp tin, nên thưng dùng gzip đ nén nhng kho tp tin do tar to ra. Hơn nacòn có th s dng “kt hp” hai chương trình này. Chúng ta s xem xét vn đnày ngay sau.

4.7.3 Chương trình bzip2

Trong thi gian gn đây ngưi dùng Linux thưng s dng thêm mt chương

trình nén na đ thay th cho gzip – chương trình bzip2. Chương trình nàynén mnh hơn (có mc đ nén cao hơn, to ra các tp tin nh hơn) và làm vicnhanh hơn. Các bn phân phi Linux mi đã có cài đt sn chương trình này.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 103/212

4.7 Các câu lnh lưu tr và nén tp tin 93

Chương trình bzip2 làm vic tương t như gzip, tc là thay th mi tp tinđưa vào dòng lnh bng phiên bn đã nén ca tp tin đó, nhưng thêm vào phncui là .bz2. Tp tin nén có thi gian sa đi, quyn truy cp và có th c ch shu như tp tin ban đu. Do đó có kh năng phc hi nhng tính cht này ca

tp tin khi gii nén.Trong mt s trưng hp tp tin nén có th còn ln hơn theo kích thưc sovi tp tin ban đu. Điu này có th xy ra đi vi nhng tp tin có kích thưcnh hơn 100 byte, vì cơ ch nén s dng phn đu (head) có kích thưc 50 byte.Nhng tp tin gm mt chui ngu nhiên (random) ca các ký t, trong đó có cáctp tin nén, thì kích thưc ca tp tin tăng lên khong 0,5%.

Câu lnh bunzip2 hoc bzip2 –d gii nén tp tin ch ra. Nu tp tin nàykhông phi do bzip2 to ra thì chương trình s không gii nén mà đưa ra licnh báo. Khi gii nén bzip2 s đoán tên ca tp tin s to ra theo quy lut sau:

• tên_tp_tin.bz2 thay th bng tên_tp_tin

• tên_tp_tin.bz thay th bng tên_tp_tin

• tên_tp_tin.tbz2 thay th bng tên_tp_tin.tar

• tên_tp_tin.tbz thay th bng tên_tp_tin.tar

• tên_tp_tin khác thay th bng tên_tp_tin.out.

 Ví d:

teppi82@ThinhQuyen:~> bzip2 2teppi82@ThinhQuyen:~> mv 2.bz2 2.sjteppi82@ThinhQuyen:~> bunzip2 2.sjbunzip2: Can’t guess original name for 2.sj -- using 2.sj.out

Các tuỳ chn ca bzip2 rt ging vi tùy chn ca gzip nhưng không phitt c. Tôi s đưa ra mt danh sách ngn nhng tùy chn cn thit nht trongbng 4.7.

Tham s đng sau hai du gch ngang (--) và mt khong trng đưc coi làtên tp tin, dù tham s có mt du gch ngang đu. Ví d:

[user]$ bzip2 -- -tên_tp_tin

Bây gi đã đn lúc chúng ta hc cách kt hp tar vi hai câu lnh gzip vàbzip2 đ làm vic nhanh và có hiu qu hơn.

4.7.4 S dng kt hp tar vi gzip và bzip2

Tt nhiên không ai ngăn cn bn s dng riêng r các câu lnh tar vi gzip vàbzip2, nhưng s nhanh hơn nu chúng ta ch cn s dng mt câu lnh đ có th

to ra mt tp tin nén, hay gii nén mt tp tin. Hãy tưng tưng bn nhn đưcmt tp tin, ví d xvnkb-0.2.9.tar.gz. Đ gii nén tp tin này thông thưngbn cn dùng hai câu lnh sau tip ni nhau:

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 104/212

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 105/212

4.8 To và gn các h thng tp tin 95

S dng kt hp tar và bzip2 là hoàn toàn tương t, nhưng cn dùng tùychn j ca tar đ thay cho tuỳ chn z. Tc là, gii nén tp tin bng lnh:

[user]$ tar xjvf tên_tp_tin.tar.bz2

và to tp tin nén bng:

[user]$ tar cjvf tên_tp_tin.tar.bz2 thư_mc

Tôi nghĩ rng nhng thông tin k trên đã đ đ làm vic mt cách có hiuqu vi các chương trình nén tar, gzip và bzip2. Đ có thêm thông tin hãy tìmhiu trang tr giúp man hoc các tài liu HOWTO tương ng.

Đ kt thúc phn v nhng chương trình làm vic vi tp tin nén này, tôimun nói thêm rng, nu “không may” bn nhn đưc mt tp tin dng *.zip

hay *.rar thì cũng đng vi chy sang nh mt máy s dng Windows đ giinén. Bn có th th các chương trình unzip và unrar có trên h thng Linux camình. Cách s dng nhng lnh này ht sc đơn gin, ch cn đưa vào dòng lnhtên ca tp tin. Nu có gì khó khăn hãy th “unzip –help” hoc “unrar –help”.Tôi chc chn là bn s t gii quyt đưc vn đ. Và đng quên ch to ra cáctp tin nén bng tar, gzip hoc bzip2 vì bn là ngưi dùng Linux!

4.8 To và gn các h thng tp tin

Trong nhng phn trưc chúng ta đã đ cp ngn gn mt s câu lnh chính đ

làm vic vi nhng h thng tp tin đã đnh dng sn. Bây gi chúng ta s dngli vn đ làm sao đ to ra h thng tp tin và cách thay đi nó.

Cây thư mc ca Linux đưc to ra t nhng “cành” riêng r tương ng vicác đĩa khác nhau. Thưng nói là cây thư mc đưc to thành t các h thngtp tin riêng. Nói như vy vì trong UNIX (và Linux) không có khái nim “đnhdng đĩa” mà s dng khái nim “to h thng tp tin”. Khi chúng ta có mtđĩa lưu mi, ví d đĩa cng, chúng ta cn to trên đĩa này h thng tp tin. Tclà mi đĩa đưc đt tương ng vi h thng tp tin riêng. Đ có th s dng hthng tp tin này đ ghi các tp tin, thì đu tiên cn kt ni nó và cây thư mcchung (chúng ta s dng thut ng “gn”, mount). Như vy là có th nói gn h

thng tp tin hoc gn đĩa lưu cùng vi các h thng tp tin có trên nó.Còn cn phi nói thêm rng thông thưng đĩa cng đưc chia thành các phânvùng, nht là đi vi nhng đĩa mi sn xut gn đây có dung lưng ln t vàichc đn vài trăm GB. Vic to nhng phân vùng như vy giúp thc hin ddàng các thao tác như: sao lưu, xác đnh quyn truy cp, đng thi tăng hiusut làm vic và làm gim kh năng mt thông tin do chương trình gây ra. Vìth tip theo chúng ta s nói v to h thng tp tin trên mt phân vùng, nhngđĩa không b chia có th coi là mt phân vùng.

Còn mt đim na cũng cn nói đn là Linux có th làm vic vi nhiu dngh thng tp tin khác nhau. Nhưng h thng tp tin gc ca nó là “h thng tp

tin m rng” (extfs) phiên bn 2 và 3. Ngoài hai h thng tp tin này Linux còncó th làm vic vi các “phiên bn” khác nhau ca h thng tp tin FAT (FAT16và FAT32), h thng tp tin ISO9660 s dng đ ghi thông tin trên CD-ROM và

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 106/212

96 Làm quen vi h thng tp tin ext3fs

các h thng tp tin khác (k c NTFS13). Tc là khi to và gn các h thng tptin cn luôn luôn nh rng dng h thng tp tin trên các đĩa lưu khác nhau cóth không ging nhau.

Đu tiên chúng ta s xem xét trưng hp cn to h thng tp tin trên mt

phân vùng nào đó (đã có) ca đĩa. Ví d h thng tp tin có dng ext3fs. To hthng tp tin dng ext3fs có nghĩa là to trên phân vùng này ca đĩa mt siêu khi (superblock), mt bng các mô t inode, và các khi d liu. Thc hin ttc nhng vic này bng lnh mkfs14. Trong trưng hp đơn gin nht ch cnchy lnh sau:

[root]# mkfs -t ext3 /dev/hda2

Tt nhiên là cn thay th /dev/hda2 bng tên ca phân vùng trên máy ca bn.Hãy cn thn khi vit tên phân vùng, nu ghi nhm bn s b mt d liu. Nu

bn mun to h thng tp tin trên đĩa mm thì cn chy:[root]# mkfs -t ext3 /dev/fd0

Có th nói rng chúng ta đã “đnh dng đĩa mm”, nhưng cn bit là vi h thngtp tin ext3fs thì bn không đc đưc đĩa mm này trên DOS hoc Windows (nukhông dùng chương trình hoc driver đc bit). Đ to ra nhng đĩa mm có thđc trên DOS và Windows cn dùng tùy chn -t vi giá tr vfat hoc nhng tiních đc bit khác. Nu không đưa ra tùy chn -t thì s dùng dng h thng tptin mc đnh (hin nay là phiên bn cũ ca ext – ext2fs).

Sau khi thc hin câu lnh mkfs, s to ra h thng tp tin dng ext3fs trong

phân vùng ch ra. Trong h thng tp tin mi s t đng to ra mt thư mc vitên lostfound+. Thư mc này đưc chương trình fsck dùng trong nhng trưnghp khn cp, vì vy đng xóa nó. Đ bt đu làm vic vi h thng tp tin mi,đu tiên cn kt ni (gn) nó vào cây thư mc chung bng lnh mount.

Phi có ít nht hai tham s cho câu lnh mount: thit b (device, tên phânvùng) và đim gn (mount point). Đim gn là mt thư mc đã có trong cây thưmc, và dùng làm “thư mc gc” đi vi h thng tp tin gn vào (ging như nútni gia thân cây và cành cây). Ví d, câu lnh:

[root]# mount /dev/hda10 /mnt/diaC

s gn h thng tp tin ca phân vùng /dev/hda10 vào thư mc /mnt/diaC.Cn phi có thư mc /mnt/diaC trong cây thư mc. Nu chưa có hãy to rabng lnh mkdir.

Cn chú ý là sau khi gn h thng tp tin vào thư mc /mnt/diaC, thì ngưidùng không còn truy cp đưc ti ni dung (bao gm c thông tin v ch s hucũ và quyn truy cp ti chính bn thân thư mc) ca thư mc này na. Nidung này s ch “quay tr li” khi ngưi dùng b gn (unmount) h thng tp tinra khi thư mc. Ni dung cũ ca thư mc không b hu, b xóa, mà ch tm thib giu đi. Vì th tt nht là dùng các thư mc rng đã chun b sn t trưc đ

13S h tr đc đã tt, tuy nhiên s h tr ghi lên NTFS chưa tht hoàn ho.14Trên các bn phân phi Linux mi còn có th s dng các câu lnh mkfs.ext2, mkfs.ext3 vàcác câu lnh tương t. Nu dùng chúng thì ch cn b đi phn -t ext3 hoc -t ext2.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 107/212

4.8 To và gn các h thng tp tin 97

làm “đim gn” (vì th mà trong tiêu chun FHS có đ cp đn thư mc /mnt,hãy xem bng 4.1).

Dng đơn gin nht trong ví d trên ca lnh mount ch làm vic vi điukin tt c nhng tham s còn thiu có th tìm thy trong tp tin /etc/fstab.

Nu không có tp tin đó (ch khi nào bn c tình hoc vô tình xóa) hoc trongtp tin không có nhng d liu cn thit, thì cn s dng dng đy đ ca lnhmount, như sau:

[root]# mount -t dng_httt thit_b đưng_dn

trong đó dng_httt xác đnh dng h thng tp tin trên thit_b (phân vùng),còn đưng_dn xác đnh đim gn.

Tp tin cu hình /etc/fstab ch yu dùng đ gn t đng các h thng tptin trong quá trình khi đng Linux. Mi dòng ca tp tin này cha thông tin v

mt h thng tp tin và gm 6 vùng phân cách nhau bi các khong trng15

:• Tên thit b (phân vùng). Có th s dng tên thit b có trên máy (ví d

 /dev/hda10), cũng như tên ca h thng tp tin mng NFS (ví d Thin-hQuyen:/home/nhimlui – thư mc /home/nhimlui trên máy có tên Thin-hQuyen).

• Đim gn. Tên đy đ bao gm c đưng dn ca thư mc s gn tp tinvào.

• Dng h thng tp tin.

• Các tuỳ chn gn. Theo mc đnh là rw (đc và ghi).

• Mc đ dump. Vùng này đưc chương trình sao lưu dump s dng. Nuh thng tp tin cn đưc sao lưu thì đây phi có s 1, nu không – s 0.Có th có các giá tr khác, hãy xem trang man ca dump.

• Th t ưu tiên kim tra h thng tp tin bng câu lnh fsck. H thngtp tin vi giá tr nh hơn s đưc kim tra trưc. Nu bng nhau thì skim tra song song (tt nhiên nu có th).

Hin nay Linux h tr các h thng tp tin sau: minix, ext, ext2, ext3, xia,msdos, umsdos, vfat, proc, nfs, iso9660, hpfs, sysv, smb, ncpfs16. ch dng hthng tp tin trong vùng “dng h thng tp tin” và sau tùy chn -t ca lnhmount có th đt giá tr auto. Trong trưng hp đó câu lnh mount th t xácđnh dng ca h thng tp tin đang gn. Tuy nhiên trong mt s trưng hp cóth dn đn li, nên tt hơn ht là ch ra dng mt cách chính xác. Còn có th litkê mt s dng phân cách nhau bi du phy (,). Trong câu lnh mount còn cóth đưa ra danh sách các dng h thng tp tin không cn gn bng c (flag) no.Kh năng này có ích trong trưng hp s dng câu lnh mount vi tham s -a(câu lnh mount vi tham s -a s gn tt c các h thng tp tin lit kê trongtp tin /etc/fstab). Ví d, câu lnh:

15Đ tin đc các vùng thưng sp cho thng hàng, nhưng điu đó là không nht thit.16Hãy xem trang man fs đ đc mô t ngn gn v nhng h thng tp tin này.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 108/212

98 Làm quen vi h thng tp tin ext3fs

[root]# mount -a -t nosmb,ext

gn tt c các h thng tp tin tr các dng smb (Samba17) và extKhi gn h thng tp tin có trong /etc/fstab, thì ch cn đưa ra mt tham

s: hoc tên ca thit b (phân vùng) hoc đim gn. Tt c các tham s khác câulnh mount s ly t tp tin /etc/fstab.Thông thưng ch có ngưi dùng cao cp root mi có kh năng gn các h

thng tp tin, nhưng nu trong vùng các tùy chn gn có ch ra tùy chn user,thì tt c mi ngưi dùng s có kh năng gn (b gn) h thng tp tin đó. Ví d,nu trong tp tin /etc/fstab có dòng:

/dev/hdd /media/dvd auto noauto,user,sync 0 0

thì bt kỳ ngưi dùng nào cũng có quyn gn h thng tp tin trên đĩa DVD camình bng câu lnh:

[user]$ mount /dev/hdd

hoc:

[user]$ mount /media/dvd

Trong bng 4.8 có đưa ra thêm mt vài tùy chn có th s dng trong câulnh mount và trong tp tin/etc/fstab (vùng các tùy chn gn).

Nu mun gn mt h thng tp tin nào đó và ch cho phép đc thì cn ch ra

tùy chn r (read only) trên dòng tương ng ca tp tin /etc/fstab (theo mcđnh s dng rw, tc là đc và ghi), hoc s dng câu lnh mount vi tham s -rCâu lnh mount và umount h tr bng các h thng tp tin đã gn. Bng này

nm trên đĩa dng tp tin /etc/mtab. Có th xem trc tip tp tin này bngcác chương trình xem tp tin (less, more hoc bng câu lnh mount (không cótham s).

Trưc khi b các đĩa tháo ri (đĩa mm, flash) ra khi máy thì cn “tháo” (bgn) các h thng tp tin có trên các đĩa tháo ri này. Thao tác này đưc thc hinbng câu lnh umount (không phi unmount!). Tham s ca câu lnh umount làtên thit b (phân vùng) hoc đim gn.

Ch có ngưi dùng đã gn h thng tp tin và tt nhiên c ngưi dùng caocp root mi có quyn b gn nó. Đ bt kỳ ngưi dùng nào cũng có th b gnh thng tp tin thì trong tp tin /etc/fstab cn thay th tùy chn user bngtùy chn users (trong vùng các tùy chn gn).

Ch có th b gn h thng tp tin khi không có tp tin nào ca nó m ra,không tin trình nào đang chy t tp tin chương trình nm trên h thng tptin này và trong h thng không có tin trình nào s dng h thng tp tin này.Tc là h thng tp tin không đưc bn.

Cn nói rng nu so vi Windows thì làm vic vi các đĩa ri (đĩa mm, CD,DVD, Zip, v.v...) trên Linux có mt chút phc tp hơn. Vì đu tiên bn cn gncác đĩa này (nói chính xác là h thng tp tin có trên đĩa) vào cây thư mc chung.

Đ thay mt đĩa ri khác thì đu tiên cn b gn (“tháo”) đĩa đã có ra ri mi gn17các chia s trong mng ca Windows

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 109/212

4.8 To và gn các h thng tp tin 99

Bng 4.8: Nhng tùy chn chính ca câu lnh mount

Tùy chn Ý nghĩaasync Vào/ra (ghi/đc) ca h thng tp tin thc hin không đng b

(không tc thi).auto Có th gn h thng bng câu lnh mount vi tùy chn -a.defaults S dng các tuỳ chn theo mc đnh: rw, suid, dev, exec,

auto, nouser, async.dev Các thit b khi và thit b ký t (byte) trong h thng tp tin

là nhng tp tin đc bit.noauto Ch có th t gn h thng tp tin. Tùy chn -a không t đng

gn h thng tp tin này.exec Cho phép thc hin các tp tin chương trình nm trên h thng

tp tin này.

remount Cho phép gn li h thng tp tin đã gn. Thưng s dng đthay đi các tùy chn gn, đc bit trong trưng hp m rngquyn truy cp (ví d thêm quyn ghi cho h thng tp tin đãgn ch đc).

ro Gn h thng tp tin ch đ đc.rw Gn h thng tp tin đ đc và ghi.

suid Cho phép dùng “bit thay đi ID ngưi dùng” và “bit thay điID nhóm”.

sync Vào/ra (ghi/đc) ca h thng tp tin thc hin đng b (tcthi).

user Cho phép ngưi dùng bình thưng gn h thng tp tin. Đi vinhng ngưi dùng này luôn luôn gn vi các tùy chn noexec,nosuid, nodev.

nodev Không coi các thit b khi và thit b ký t (byte) trong hthng tp tin là nhng tp tin đc bit.

nosuid Không cho phép dùng “bit thay đi ID ngưi dùng” và “bit thayđi ID nhóm”.

nouser Cm ngưi dùng bình thưng gn h thng tp tin.

tip đĩa th hai. Tuy trên các bn phân phi mi đã có các dch v cho phép tđng gn và t đng “tháo” các đĩa ri, nhưng bn cũng cn bit cách làm vicvi các đĩa ri nu có vn đ xy ra vi các dch v đó. Tt nht hãy chun b sncho mi đĩa ri mt “đim gn” riêng. Ví d, nu bn có mt đĩa mm, mt dvdvà mt flash thì hãy to ba thư mc floppy, dvd và flash trong /mnt đ làmđim gn cho ba thit b ca mình. Mt s bn phân phi (Debian, openSUSE)s to sn cho bn nhng đim gn này.

Đây là tt c nhng gì mà ngưi dùng Linux mi (và rt mi) cn bit v hthng tp tin ext3fs. Xin nhc li là nhng gì đã nói đây ch dành cho h thngtp tin ext3fs (mt s thông tin vn còn đúng cho phiên bn ext2fs), và mi ch

đ cp đn “mt trưc”, mt quay v phía ngưi dùng ca h thng này (ch yulà cu trúc tp tin). Mt còn li, mt sau (cu trúc bên trong), ch đưc nói đntrong chương này khi cn thit. Chúng ta s xem xét k hơn mt sau này trong

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 110/212

100 Làm quen vi h thng tp tin ext3fs

mt vài chương sp ti. Còn bây gi bn đc s chuyn sang nghiên cu thànhphn quan trng th 2 trong 4 thành phn chính ca Linux – h v bash.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 111/212

Chương 5

Bash

Tt g hơn tt nưc sơn – ca dao tc ng Vit Nam

Trong phn này chúng ta s đ cp đn vn đ làm vic vi Linux ch đ text, hay còn đưc gi là console hoc terminal. Nhng ngưi dùng Linux mi (newbie) thưng nghĩ s chng bao gi làm vic ch đ này, vì đã có giao din đ ha. Tuy nhiên đây là mt ý kin sai lm, bi vì rt nhiu công vic có th thc hin nhanh và thun tin trong ch đ này hơn là s dng giao din đ ha.Và dù sao thì ch đ text ca HĐH Linux không phi là ch đ text mt tin trình ca MS-DOS. Vì Linux là HĐH đa tin trình, nên ngay trong ch đ text đã có kh năng làm vic trong vài ca s. Và đ son tho mt tp tin văn bn không nht thit phi chy các trình son tho ln và chm chp (đc bit trên các máy có cu hình phn cng thp) ca môi trưng đ ha.

5.1 H v là gì?Chúng ta thưng nói “ngưi dùng làm vic vi h điu hành”. Điu này khônghoàn toàn đúng, vì trên thc t “liên h” vi ngưi dùng đưc thc hin bi mtchương trình đc bit. Có hai dng ca chương trình đã đ cp - h v, hay shell,đ làm vic trong ch đ text (giao din dòng lnh) và giao din đ ha GUI(Graphical User Interface), thc hin “liên h” vi ngưi dùng trong môi trưngđ ha.

Cn nói ngay rng, bt kỳ chương trình nào trong Linux có th khi đng tdòng lnh ca h v (nu máy ch X đã chy), cũng như qua giao din đ ha.

Chy chương trình t dòng lnh ca h v tương đương vi vic nháy (đúp) chutlên biu tưng ca chương trình trong GUI. Đưa các tham s cho chương trìnhtrên dòng lnh tương đương vi vic chúng ta kéo và th cái gì đó lên biu tưngchương trình trong môi trưng đ ha. Nhưng mt khác, mt s chương trìnhkhông th chy GUI và ch có th thc hin t dòng lnh.

Nói ngoài l mt chút, tên gi “h v” b phn đi rt nhiu. Theo ý kin camt s chuyên gia ngôn ng cũng như chuyên gia Linux thì nên gi chương trìnhnày mt cách đúng hơn là “trình x lý lnh” hay “trình biên dch lnh”. Tuynhiên, tên gi “h v” (shell) đưc dùng cho các chương trình dùng đ biên dchlnh trong ch đ text trên mi h thng UNIX.

Trên các h thng UNIX đu tiên có mt chương trình, gi là sh, vit ttca shell. Sau đó, vài bin th ca sh đưc phát trin và làm tt hơn, trongđó có Bourne shell — phiên bn m rng ca sh, vit bi Steve Bourne. D

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 112/212

102 Bash

án GNU (d án phát trin chương trình ng dng ca Stallman, xem http://www.gnu.org/) sau đó cho ra đi h v bash, tên gi ca nó đưc gii mã ralà Bourne-again shell, tc là “li là h v ca Bourne”. Trên ting Anh đây làmt cách chơi ch, vì t Bourne đc ging vi t borne (sinh ra, đ ra), và như

th bash còn có th gii mã là “shell đưc sinh ra ln hai”. Tip theo chúng ta sch xem xét bash, vì th dưi khi nói đn h v, xin ngm hiu đó là bash.T mt mình bash không thc hin mt công vic ng dng nào. Nhưng nó

h tr vic thc thi mi chương trình khác, t vic tìm kim chương trình đưcgi, chy chúng đn vic t chc d liu đu vào/đu ra. Ngoài ra, h v chutrách nhim v công vic vi các bin môi trưng và thc hin mt vài bin đi(th, hoán đi v trí) các tham s lnh. Nhưng tính cht chính ca h v, nh đóđưa h v tr thành mt công c mnh ca ngưi dùng, đó là nó bao gm mtngôn ng lp trình đơn gin. Trong toán hc t lâu đã đưc chng minh rng,bt kỳ mt thut toán nào cũng có th đưc xây dng t hai (ba) thao tác cơ bn

và mt toán t điu kin. H v cung cp các toán t điu kin và toán t vònglp. Nó s dng các tin ích và chương trình khác (có trong thành phn h điuhành, hay đưc cài đt riêng) đ làm các thao tác cơ bn cho ngôn ng lp trìnhmà nó h tr. Đng thi cho phép đưa các tham s cũng như kt qu làm vicca mt chương trình ti các chương trình khác hay ti ngưi dùng. Kt qu thuđưc là mt ngôn ng lp trình mnh. Đây cũng là sc mnh và là mt trong cácchc năng chính ca h v.

Trưc khi bt đu phn này, bn đc nên bit các t hp phím chính, s dngđ điu khin vic nhp d liu trên dòng lnh. Nên nh ít nht cách s dngca các (t hp) phím <Ctrl>+<C>, <Ctrl>+<D>, <Tab> và các phím có mũi tên.

5.2 Các ký t đc bit

H v bash s dng mt vài ký t t b 256 ký t ASCII cho các mc đính riêng,hoc đ biu th các thao tác nào đó, hoc đ bin đi biu thc. Các ký t nàybao gm:

‘ ~ ! @ # $ % ^ & * ( ) _ - [ ] { } : ; ’ " / \ > <

và ký t vi mã 0, ký t hàng mi (to ra khi nhn phím <Enter>) và ký tkhong trng. Ph thuc vào tình hung các ký t đc bit này có th s dng viý nghĩa đc bit ca nó hay s dng như mt ký t thông thưng. Nhưng trongđa s các trưng hp không khuyên dùng các ký t vi giá tr th hai. Trưc htđó là vic s dng chúng trong tên tp tin và thư mc. Tuy nhiên các ký t _,– và . (du gch dưi, gch ngang và du chm) thưng đưc s dng trong têntp tin, và đây là mt ví d cho thy không phi lúc nào chúng cũng có giá trđc bit. Trong tên tp tin ch du chm (.) và gch chéo (/) có giá tr đc bit.Ký hiu gch chéo dùng đ phân chia tên các thư mc trong đưng dn, còn duchm có giá tr đc bit khi nó là ký t đu tiên trong tên tp tin (cho bit tp

tin là “n”). Vic đưa ngay tt c ý nghĩa đc bit ca nhng ký t này và các tình hungs dng chúng tm thi không có ích. Chúng ta s xem xét chúng dn dn trong

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 113/212

5.3 Thc thi các câu lnh 103

các phn sau, khi cn s dng đn. Tuy nhiên, 3 ký hiu có ý nghĩa ln và cnđ cp đn đu tiên.

Ký hiu \ (gch chéo ngưc) có th gi là “ký hiu xóa b ý nghĩa đc bit” chobt kỳ ký t đc bit nào, đng ngay sau \. Ví d, nu mun s dng khong

trng trong tên tp tin, thì chúng ta cn đt trưc ký t khong trng đó mtdu ˙ Ví d, câu lnh sau:

teppi82@teppi:~$ cp lennon_imagine lennon\ imagine

Các ký t ’ và " (ngoc đơn và ngoc kép) có th gi là “các ký t trích dn”.Mi ký t này luôn luôn đưc s dng trong mt cp vi bn sao ca chính nóđ đóng khung mt biu thc nào đó, ging như trong các văn bn, sách báo,. . . thông thưng. Nu như mt đon văn bn nào đó đt trong ngoc đơn, thì ttc các ký t nm trong ngoc đơn này có giá tr như các ký t thông thưng, khôn

mt ký t nào có ý nghĩa đc bit. Tr li vi ví d s dng khong trng trongtên tp tin trên, có th nói, nu mun đt tp tin cái tên “lennon imagine” cnđưa tên đó vào du ngoc:

teppi82@teppi:~$ cp lennon_imagine ’lennon imagine’

S khác nhau trong cách s dng ký t ’ và " đó là, trong ngoc đơn mt ýnghĩa đc bit tt c các ký t, còn trong ngoc kép – tt c chúng ngoi tr$, ’ và \ (du đô la, ngoc đơn và du gch ngưc).

5.3 Thc thi các câu lnh

Như đã nói trên, mt trong các chc năng chính ca h v là t chc vic thchin các câu lnh mà ngưi dùng đưa vào trên dòng lnh. H v, nói riêng, cungcp cho ngưi dùng hai thao tác đc bit đ t chc vic đưa các câu lnh trêndòng lnh: ; và &.

5.3.1 Thao tác ;

Mc dù ngưi dùng thưng ch nhp trên dòng lnh tng câu lnh mt, nhưngcòn có th đưa vào dòng lnh đó ngay lp tc vài câu lnh, và chúng s thc hinln lưt t câu lnh này đn câu lnh khác. Đ làm đưc điu này cn s dngký t đc bit - ;. Nu dùng ký t này đ phân chia các câu lnh, thì câu lnhtip theo s đưc coi như tham s ca lnh phía trưc. Như vy, nu nhp vàodòng lnh cái gì đó ging như sau:

teppi82@teppi:~$ command1 ; command2

thì h v đu tiên s thc hin câu lnh command1, ch cho lnh đó hoànthành, sau đó chy command2, ch lnh hoàn thành, sau đó li đưa ra dòngnhp lnh và ch các hành đng tip theo ca ngưi dùng.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 114/212

104 Bash

5.3.2 Thao tác &

Thao tác & đưc dùng đ t chc vic thc hin các câu lnh trong ch đ nnsau. Nu đt du & ngay sau câu lnh, thì h v s tr li quyn điu khin

cho ngưi dùng ngay sau khi chy câu lnh, mà không đi cho câu lnh đó hoànthành. Ví d, nu nhp vào dòng lnh “command1 & command2 &”, thì h vchy câu lnh command1, ngay lp tc chy lnh command2, và sau đó khôngchm tr tr li dòng nhp lnh cho ngưi dùng.

5.3.3 Thao tác && và ||

Các thao tác && và || là nhng thao tác điu khin. Nu trên dòng lnh làcommand1 && command2, thì command2 s thc hin và ch thc hin trongtrưng hp trng thái thoát ra ca lnh command1 bng không (0), tc là lnh

đó thc hin thành công. Mt cách tương t, nu dòng lnh có dngcommand1 || command2, thì command2 s thc hin và ch thc hin khi trngthái thoát ca lnh command1 khác không.

Chúng ta s không xem xét mt k thut ca vic thc hin mt câu lnh nàođó. Ch có th nói ngn gn rng, h v phi tìm mã (code) chương trình, np mãđó vào b nh, chuyn các tham s đã nhp trên dòng lnh vào cho câu lnh, vàsau khi thc hin xong thì theo mt cách nào đó tr li kt qu thc hin lnhnày cho ngưi dùng hay tin trình khác. Chúng ta s xem xét qua các bưc này.

Bưc đu tiên - tìm kim câu lnh. Các câu lnh chia thành hai loi: ni trú(mã ca chúng có trong mã ca chính h v) và ngoi trú (mã ca chúng nmtrong mt tp tin riêng l trên đĩa). H v luôn luôn tìm thy lnh ni trú, cònđ tìm

các lnh ngoi trú ngưi dùng, theo nguyên tc, phi ch cho h v đưng dnđy đ ti tp tin tương ng. Tuy nhiên đ g “gánh nng” cho ngưi dùng hv bit cách tìm lnh ngoi trú trong các thư mc, mà đưc lit kê trong đưngdn tìm kim. Ch khi (h v) không th tìm thy tp tin cn thit trong các thưmc đó, nó mi quyt đnh rng ngưi dùng đã nhm khi nhp tên lnh. V cáchthêm thư mc vào đưng dn tìm kim chúng ta s nói đn dưi, còn bây gichúng ta s xem xét cách h v t chc vic đưa d liu vào cho câu lnh đangthc hin và vic đưa kt qu ti cho ngưi dùng.

5.4 Đu vào/đu ra tiêu chun

5.4.1 Dòng d liu vào – ra

Khi mt chương trình đưc thc hin, nó đưc cung cp ba dòng d liu (hay còngi là kênh):

• đu vào tiêu chun (standard input hay stdin). Qua kênh này d liu đưcđưa vào cho chương trình;

• đu ra tiêu chun (standard output hay stdout). Qua kênh này chương trìnhđưa ra kt qu làm vic ca mình;

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 115/212

5.4 Đu vào/đu ra tiêu chun 105

• kênh thông báo li tiêu chun (standard error hay stderr). Qua kênh nàychương trình đưa ra thông tin v li.

T đu vào tiêu chun chương trình ch có th đc, còn hai đu ra và kênh

thông báo li đưc chương trình s dng ch đ ghi.Theo mc đnh đu vào có liên kt1 vi bàn phím, còn đu ra và kênh báo lihưng đn terminal ca ngưi dùng. Nói cách khác, toàn b thông tin ca lnhhay chương trình mà ngưi dùng đã chy, và tt c nhng thông báo li, đưcđưa ra ca s terminal. Tuy nhiên, chúng ta s thy dưi, có th chuyn hưngthông báo đu ra (ví d, vào tp tin).

Đ cho thy kênh thông báo li tiêu chun làm vic như th nào, hãy thchin câu lnh ls vi mt tham s không đúng, ví d dùng tham s là mt tên tptin không tn ti. Trong trưng hp này, ls đưa mt tin nhn báo li ra kênhthông báo li tiêu chun. Tuy nhiên, đi vi ngưi dùng thì trong trưng hp này

kênh thông báo li tiêu chun không khác gì vi đu ra tiêu chun, bi vì chúngta cũng thy thông báo li đó trên ca s terminal. Làm vic vi đu vào và đura tiêu chun đưc minh ha tt nht qua ví d các lnh echo và cat.

5.4.2 Lnh echo

Câu lnh echo dùng đ chuyn ti đu ra tiêu chun dòng ký t, mà đưc đưavào làm tham s cho nó. Sau đó lnh này đưa ra tín hiu chuyn dòng và hoàntt công vic. Hãy th thc hin câu lnh sau:

[user]$ echo ’xin chao cac ban!’

Tôi nghĩ rng li gii thích s là tha thãi (ch xin hãy s dng du ngocđơn, nu không kt qu có th s khác. Nu bn đc chú ý thì có th gii thíchti sao li khác).

5.4.3 Lnh cat

Chúng ta s xem xét lnh cat đây vì lnh này thưng làm vic vi đu vào vàđu ra tiêu chun. Theo mc đnh kt qu làm vic ca lnh cat hưng ti đura tiêu chun. Đ chng minh là lnh này theo mc đnh tip nhn dòng d liunhp vào, hãy chy lnh cat không có tham s. Kt qu là con tr chuyn timt dòng mi, và hơn na có v như không có gì xy ra. Lúc này câu lnh ch cácký t đn t đu vào tiêu chun. Hãy nhp bt kỳ ký t nào, và nó s xut hinngay lp tc trên màn hình, tc là chương trình ngay lp tc đưa chúng ti đura tiêu chun. Có th tip tc nhp các ký t, và chúng cũng s xut hin trênmàn hình.

Thông thưng bàn phím đưc cu hình đ nhp vào theo tng dòng, vì thnu bn nhn phím <Enter>, dòng ký t bn va nhp s đưc đưa ti lnh cat,và lnh này s li đưa d liu ra màn hình thông qua đu ra tiêu chun. Nhưvy, mi dòng ký t nhp vào s đưc hin ra hay ln: mt ln khi gõ và ln th

hai bi câu lnh cat.1ging liên kt hóa hc

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 116/212

106 Bash

Nu nhn t hp phím <Ctrl>+<D> (dùng đ ngng vic nhp d liu) chúngta s qua li dòng nhp lnh. Cũng có th s dng t hp phím <Ctrl>+<C> (câulnh trong h v dùng đ dng chương trình đang chy).

Nu đưa tên mt tp tin vào làm tham s cho lnh cat, thì ni dung ca lnh

này s đưc đưa ti đu vào tiêu chun, t đó lnh cat s đc ni dung này vàđưa ti đu ra tiêu chun (xem sơ đ).

Ni dung tp tin --> Đu vào tiêu chun (stdin) --cat--> đura tiêu chun (stdout)

Đây ch là mt trưng hp riêng ca vic chuyn hưng d liu đu vào, mtcơ ch rt có ích ca h v. Và tt nhiên chúng ta cn xem xét k hơn cơ ch này.

5.5 Chuyn hưng đu vào/đu ra, đưng ng vàb lc

Mc dù, như đã nói trên, thông thưng đu vào/đu ra ca mt chương trìnhliên kt vi các đu vào/đu ra tiêu chun, trong h v còn có các môi trưng đcbit cho phép chuyn hưng đu vào/đu ra.

5.5.1 S dng >, < và >>

Đ chuyn hưng đu vào/ra, s dng các ký hiu “>”, “<” và “>>”. Thưng sdng vic chuyn hưng đ liu ra ca câu lnh vào tp tin. Dưi đây là mt víd tương ng:

maikhai@fpt:/some/where$ ls -l > /home/maikhai/ls.txt

Theo lnh này danh sách tp tin và thư mc con ca thư mc, mà t đó ngưidùng thc hin lnh ls2 s đưc ghi vào tp tin /home/maikhai/ls.txt; khinày nu tp tin ls.txt không tn ti, thì nó s đưc to ra; nu tp tin đã có,thì ni dung ca nó s b xóa và ghi đè bi danh sách nói trên. Nu bn khôngmun xóa ni dung cũ mà ghi thêm d liu đu ra vào cui tp tin, thì cn sdng ký hiu >> thay cho >. Khi này khong trng trưc và sau các ký hiu >hay >> không có ý nghĩa và ch dùng vi mc đích thun tin, d nhìn.

Bn có th chuyn hưng không ch vào tp tin, mà còn ti đu vào ca mtcâu lnh khác hay ti mt thit b nào đó (ví d, máy in). Ví d, đ đưa ni dungtp tin /home/maikhai/ls.txt va to trên ti ca s terminal th hai3 cóth s dng lnh sau:

maikhai@fpt:/sw$ cat /home/maikhai/ls.txt > /dev/tty2

2thư mc hin thi3bn cn dùng t hp phím <Ctrl>+<Alt>+<F2> đ chuyn ti ca s terminal này và đăngnhp trưc

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 117/212

5.5 Chuyn hưng đu vào/đu ra, đưng ng và b lc 107

Như bn thy, > dùng đ chuyn hưng d liu ca đu ra. Chc năng tươngt đi vi đu vào đưc thc hin bi <. Ví d, có th đm s t trong tp tinls.txt như sau (chú ý, đây ch là mt ví d minh ha, trên thc t thưng sdng câu lnh đơn gin hơn):

maikhai@fpt:/sw$ wc -w < /home/maikhai/ls.txt

Cách chuyn hưng này thưng đưc s dng trong các script, cho các câulnh mà thưng tip nhn (hay ch) d liu vào t bàn phím. Trong script dùngđ t đng hóa mt thao tác nào đó, có th đưa các thông tin cn thit cho câulnh t tp tin: trong tp tin này ghi sn nhng gì cn đ thc hin lnh đó.

Bi vì các ký hiu <, > và >> làm vic vi các kênh tiêu chun (đu vào hocđu ra), chúng không ch đưc dùng theo các cách quen thuc, thưng dùng, màcòn có th theo cách khác, “l mt” hơn. Ví d, các câu lnh sau là tương đương:

[user]$ cat > file[user]$ cat>file[user]$ >file cat[user]$ > file cat

Tuy nhiên, t chúng (không có mt lnh nào, tc là không có kênh tiêu chunnào cho lnh) các ký t chuyn hưng này không th đưc s dng, như thkhông th, ví d, nhp vào dòng lnh sau:

[user]$ file1 > file2

mà thu đưc bn sao ca mt tp tin nào đó. Nhưng điu này không làm gimgiá tr ca cơ ch này, bi vì các kênh tiêu chun có cho mi câu lnh. Khi này,có th chuyn hưng không ch đu vào và đu ra tiêu chun, mà còn các kênhkhác. Đ làm đưc điu này, cn đt trưc ký hiu chuyn hưng s ca kênhmun chuyn. Đu vào tiêu chun stdin có s 0, đu ra tiêu chun stdout - s 1,kênh thông báo li stderr - s 2. Tc là lnh chuyn hưng có dng đy đ nhưsau (xin đưc nhc li, khong trng cnh > là không nht thit):

command N > M

Trong đó, N và M - s ca kênh tiêu chun (0, 1, và 2) hoc tên tp tin. Trongmt vài trưng hp có s dng các ký hiu <, > và >> mà không ch ra s kênhhay tên tp tin, vì vào ch còn thiu s đt, theo mc đnh, 1 nu dùng >, tc làđu ra tiêu chun, hoc 0 nu dùng <, tc là đu vào tiêu chun. Như th, khikhông có s nào ch ra, > s đưc biên dch là 1 >, còn < s đưc biên dch là 0 <.

Ngoài vic chuyn hưng các kênh tiêu chun đơn gin như vy, còn có khnăng không nhng chuyn hưng d liu vào kênh này hay kênh khác, mà cònsao chép ni dung ca các kênh tiêu chun đó. Ký hiu & dùng đ thc hin điu

này, khi đt nó (&) trưc s ca kênh s chuyn d liu đn:command N > &M

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 118/212

108 Bash

Lnh này có nghĩa là, đu ra ca kênh vi s N đưc gi đn c đu ra tiêuchun, và sao chép ti kênh có s M. Ví d, đ sao chép thông báo li vào đu ratiêu chun, cn dùng lnh 2>&1, còn 1>&2 sao chép stdout vào stderr. Kh năngnày đc bit có ích khi mun ghi đu ra vào tp tin, vì khi đó chúng ta va có

th nhìn thy thông báo trên màn hình, va ghi chúng vào tp tin. Ví d, trưnghp sau thưng đưc ng dng trong các script chy khi khi đng Linux:

teppi82@teppi:~$ cat hiho > /dev/nullcat: hiho: No such file or directoryteppi82@teppi:~$ cat hiho > /dev/null 2>&1

5.5.2 S dng |

Mt trưng hp đc bit ca chuyn hưng đu ra là s t chc các đưng ng

(ha y còn có th gi là kênh gia các chương trình, hoc băng chuyn). Hai hayvài câu lnh, mà đu ra ca lnh trưc dùng làm đu vào cho lnh sau, liên ktvi nhau (có th nói phân cách nhau, nu mun) bi ký hiu gch thng đng -“|”. Khi này đu ra tiêu chun ca lnh đng bên trái so vi | đưc chuyn đnđu vào tiêu chun ca chương trình, dng bên phi so vi |. Ví d:

maikhai@fpt:/sw$ cat ls.txt | grep knoppix | wc -l

Dòng này có nghĩa là kt qu ca lnh cat, tc là ni dung tp tin ls.txt, sđưc chuyn đn đu vào ca lnh grep, lnh này s phân chia ni dung nói trênvà ch ly ra nhng dòng nào có cha t knoppix. Đn lưt mình, kt qa ca

lnh grep đưc chuyn ti đu vào ca lnh wc -l, mà tính s nhng dòng thuđưc.

Đưng ng s dng đ kt hp vài chương trình nh li vi nhau (mi chươngtrình thc hin mt bin đi xác đnh nào đó trên đu vào) to thành mt lnhtng quát, mà kt qu ca nó s là mt bin đi phc tp.

Cn chú ý rng, h v gi và thc hin tt c các câu lnh có trong đưng ngcùng mt lúc, chy mi lnh đó trong mt bn sao h v riêng. Vì th ngay khichương trình th nht bt đu đưa kt qu đu ra, chương trình tip theo btđu x lý kt qu này. Cũng y như vy, các lnh tip theo thc hin các công vicca mình: ch d liu t lnh trưc và đưa kt qu cho lnh tip theo, ging như

mt dây chuyn sn xut. Nu như mun mt lnh nào đó kt thúc hoàn toàn,trưc khi thc hin lnh tip theo, bn có th sư dng trên mt dòng c ký hiudây chuyn |, cũng như du chp phy ;. Trưc mi du chm phy, h v sdng li và ch cho đn khi thc hin xong tt c các câu lnh trưc ca đưngng.

Trng thái thoát ra (giá tr lôgíc, mà đưc tr li sau khi thc hin xongchương trình) ca mt đưng ng s trùng vi trng thái thoát ra ca câu lnhsau cùng trong đưng ng. trưc câu lnh đu tiên ca đưng ng có th đtký hiu “!”, khi đó trng thái thoát ra ca đưng ng s là ph đnh lôgíc catrng thát thoát ra ca lnh cui cùng trong đưng ng. Tc là nu trng thái

thoát ra ca lnh cui cùng bng 0 thì trng thái thoát ra ca đưng ng s bng1 và ngưc li. H v ch cho tt c các câu lnh kt thúc ri mi xác đnh và đưara giá tr này.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 119/212

5.6 Tham bin và các bin s. Môi trưng ca h v 109

5.5.3 B lc

 Ví d cui cùng trên (ví d vi câu lnh grep) có th dùng đ minh ha chomt khái nim qua trng khác, đó là, b lc chương trình. B lc – đó là lnh

(hay chương trình), mà tip nhn d liu vào, thc hin mt vài bin đi trên dliu này và đưa ra kt qu đu ra tiêu chun (t đây còn có th chuyn đn nơinào đó theo ý mun ca ngưi dùng). Các câu lnh - b lc bao gm các lnh đãnói đn trên cat, more, less, wc, cmp, diff, và c nhng câu lnh cótrong bng 5.1.

Bng 5.1: Các câu lnh b lcLnh Mô t ngn gngrep, fgrep,egrep

Tìm trong tp tin hay d liu đu vào các dòng có cha muvăn bn đưc ch ra và đưa các dòng này ti đu ra tiêu

chun.tr Trong d liu đu vào thay th các ký t ô th nht bicác ký t tương ng ô th hai. Hãy th gõ lnh tr abc ABCri gõ vài dòng cha các ký t abc!

comm So sánh hai tp tin theo tng dòng mt và đưa vào đu ratiêu chun 3 ct : mt — nhng dòng ch gp tp tin thnht, hai — nhng dòng ch gp tp tin th hai, và ba —nhng dòng có trong c hai tp tin.

pr Đnh dng tp tin hay ni dung ca đu tiêu chun đ inn.

sed Trình son tho tp tin theo dòng, s dng đ thc hin mtvài bin đi trên d liu đu vào (ly t tp tin hay đu vàotiêu chun) .

Mt b lc đc bit, câu lnh tee, nhân đôi d liu đu vào, mt mt gi dliu này đn đu ra tiêu chun, mt khác ghi nó (d liu) vào tp tin (ngưi dùngcn đt tên). D thy rng theo chc năng ca mình lnh tee tương t như nhómký t chuyn hưng 1>&file.

Kh năng ca b lc có th m rng vi vic s dng các biu thc chính quy(điu khin), cho phép, ví d, t chc tìm kim theo các mu tìm kim t đơn

gin đn phc tp và rt phc tp.Nu mun, chúng ta có th nói rt nhiu v chuyn hưng và b lc. Nhưngni dung này có trong phn ln các cun sách v UNIX và Linux (xem phn likt). Vì vy, chúng ta s dng đây và chuyn sang mt phn khác, đưc gi là“môi trưng và các bin môi trưng” to bi h v.

5.6 Tham bin và các bin s. Môi trưng ca hv

Khái nim tham bin trong h v bash tương ng vi khái nim bin s trong cácngôn ng lp trình thông thưng. Tên gi (hay ID) ca tham bin có th là mtt bao gm các ký t bng ch cái, ch s, du gch dưi (ch ký t đu tiên ca

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 120/212

110 Bash

t này không đưc là ch s), và c nhng ký t sau: , , #, , - (gch ngang), $,, 0,_ (gch dưi).

Chúng ta nói rng, tham bin đưc xác đnh hay đưc đt ra, nu ngưi dùnggn cho nó mt giá tr. Giá tr có th là mt dòng trng rng. Đ nhìn thy giá

tr ca tham bin, ngưi ta s dng ký t $ trưc tên ca nó. Như vy, lnh:maikhai@fpt:/sm$ echo parameter

hin th t parameter, còn lnh

maikhai@fpt:/sm$ echo $parameter

hin th giá tr ca tham bin parameter (tt nhiên nu như tham bin đó đưcxác đnh).

5.6.1 Các dng tham bin khác nhauTham bin chia thành ba dng: tham bin v trí, tham bin đc bit (các ký tđc bit đã nói trên chính là tên ca nhng tham bin này) và các bin s cah v.

Tên (ID) ca tham bin v trí gm mt hay vài ch s (nhưng không có thambin v trí 0). Giá tr ca tham bin v trí là các tham s cho lnh, đưc đưa rakhi chy h v (tham s đu tiên là giá tr ca tham bin 1, tham s th hai -tham bin 2, v.v. . . ). Có th dùng câu lnh set đ thay đi giá tr ca tham binv trí. Giá tr ca các tham bin này cũng thay đi trong khi h v thc hin mt

trong các hàm s (chúng ta s xem xét vn đ này dưi).Các tham bin đc bit không gì khác hơn là các mu, mà s thay th (phépth, phép hoán đi) chúng đưc thc hin như trong bng 5.2:

Các tham bin đc bit, đưc lit kê bng trên, có mt đim khác bit đó làch có th “nhc” đn chúng, không th gán các giá tr cho các tham bin này.Bin môi trưng, nhìn t phía h v, đó là các tham bin đưc đt tên. Giá trca bin môi trưng đưc gán nh thao tác có dng sau:

[user]$ name=value

Trong đó, name - tên ca bin, còn value - giá tr mun gán cho bin (có th

là mt dòng trng). Tên ca bin môi trưng ch có th bao gm các ch s, chcái và không đưc bt đu bi mt ch s. (Tin rng sau khi đc đon vit vtham bin v trí thì các bn đã hiu ti sao mt bin môi trưng không th btđu bi mt ch s.) Giá tr có th là bt kỳ mt dòng văn bn nào. Nu giá trcó cha nhng ký t đc bit, thì cn đt nó (giá tr) vào du ngoc. Giá tr ttnhiên s không cha các du ngoc này. Nu mt bin môi trưòng đưc xác đnh,thì cũng có th b xóa b bng lnh ni trú unset.

Tp hp tt c các bin này cùng vi các giá tr đã gán cho chúng gi là môitrưng (enviroment) ca h v. Có th xem nó (môi trưng) nh lnh set khikhông có tham s (có th cn dùng đưng ng “set | less”, nu môi trưng

ln, có nhiu bin). Đ xem giá tr ca mt bin môi trưng c th, thay vì dùnglnh set (khi này cn tìm trong kt qu ca nó bin mun xem), có th s dnglnh echo:

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 121/212

5.6 Tham bin và các bin s. Môi trưng ca h v 111

Bng 5.2: Thay th các tham bin đc bitTham bin Quy lut thay th

* Thay th bi các tham bin v trí, bt đu t tham bin th

nht. Nu s thay th thc hin trong du ngoc kép, thìtham bin này s đưc thay bi mt t duy nht, mà to rat tt c các tham bin v trí, phân cách nhau bi ký t đutiên ca bin s IFS (s nói đn sau). Tc là “$” tương đươngvi “$1c$2c...”, trong đó c - ký t đu tiên trong giá tr cabin s IFS. Nu giá tr ca IFS trng, hoc không đưc xácđnh giá tr, thì tham bin phân cách nhau bi các khongtrng.

@ Thay th bi tham bin v trí, bt đu t tham bin th nht.Nu thay th thc hin trong ngoc kép, thì mi tham bin s

đưc thay th bi mt t riêng bit. Tc là, “$@” tương đươngvi “$1” “$2” ...Nu không có tham bin v trí, thì giá tr skhông đưc thit lp (tham bin s b x

# Thay th bi giá tr thp phân ca các tham bin v trí.? Thay th bi trng thái thoát ra ca câu lnh cui cùng trong

đưng ng, mà đưc thc hin trong ch đ nn trưc.– (gch ngang) Thay th bi giá tr các c, flag, đưc đt bi lnh ni trú set

hay trong khi chy h v.$ Thay th bi s ca tin trình (PID - process identificator)

Thay th bi s ca tin trình (PID) cui cùng trong s các

câu lnh thc hin trong nn sau.0 Thay th bi tên h v hay tên ca script đang chy. Nubash chy mt tp tin lnh nào đó, thì $0 có giá tr bng tênca tp tin này. Trong trưng hp ngưc li giá tr này bngđưng dn đu đ đn h v (ví d, /bin/bash

_ (gch dưi) Thay th bi tham s cui cùng ca câu lnh trưc trong scác câu lnh đã đưc thc hin (nu đó li là mt tham binhay bin s, thì s s dng giá tr ca n

[user]$ echo $name

Trong đó, cn thay name bi tên bin (như vy, trong trưng hp này, bn licn phi bit tên ca bin mun xem).

Trong s các bin, mà bn s thy trong kt qu ca lnh set, có nhng binrt thú v. Xin hãy chú ý đn, ví d, bin RANDOM. Nu th chy vài ln liêntip câu lnh sau:

maikhai@fpt:/sw$ echo $RANDOM

thì mi ln bn s nhn đưc mt giá tr mi. Nguyên nhân là vì bin này tr li

mt giá tr ngu nhiên4 trong khong 0 - 32 768.4random là t ting Anh có nghĩa ngu nhiên

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 122/212

112 Bash

5.6.2 Du nhc ca h v

Mt trong các bin rt quan trng có tên PS1. Bin này cho bit dng ca dunhc, mà bash đưa ra trong khi ch ngưi dùng nhp câu lnh tip theo. Theo

mc đnh thì bin này đưc gán giá tr “\s-\v\$ ”, tuy nhiên trên các bn phânphi khác nhau thưng có các script khi đng (hay script đăng nhp) xác đnhli bin này. Nói chung thì trong bash có tt c bn du nhc, đưc s dngtrong các trưng hp khác nhau. Bin PS1 đưa ra dng ca du nhc khi h vch nhp lnh. Du nhc th hai, xác đnh bi bin PS2, xut hin khi h v chngưi dùng nhp thêm mt vài d liu cn thit nào đó đ có th tip tc chycâu lnh (chương trình) đã gi. Theo mc đnh bin PS2 có giá tr “>”. Rt có thbn đã nhìn thy du nhc này, khi chy lnh cat đ đưa d liu vào t bànphím vào tp tin. Mt ví d khác - lnh ftp, sau khi chy lnh này du nhc scó dng như đã nói.

Du nhc, xác đnh bi bin PS3, s dng trong lnh select.Du nhc, xác đnh bi bin PS4, đưc đưa ra trưc mi câu lnh, trong lúcbash theo dõi quá trình thc hin. Giá tr theo mc đnh — “+”.

Nu có mong mun, bn có th thay đi các bin PS1 và PS2. Khi này có ths dng bt kỳ ký t nào nhp t bàn phím, cũng như mt vài ký t chuyêndùng đ xác đnh dng du nhc như trong bng 5.3 (ch đưa ra mt vài trongs chúng làm ví d, danh sách đy đ xem trong trang man ca bash - gõ lnh“man bash”).

Bng 5.3: Ký t xác đnh dng du nhc

Cm ký t Giá tr (kt qu thu đưc)\a Tín hiu âm thanh (mã ASCII 07)\d Thi gian dng “Th, tháng, ngày”, ví d, Sun, Dec, 26.\h Tên máy (hostname) đn du chm đu tiên.\H Tên máy đy đ, ví d teppi.phanthinh.com\t Thi gian hin thi dng 24 gi: HH:MM:SS (gi:phút:giây)\T Thi gian hin thi dng 12 gi: HH:MM:SS\@ Thi gian hin thi dng 12 gi am/pm (sáng/chiu)\u Tên ngưi dùng đã chy h v, ví d teppi\w Tên đy đ ca thư mc làm vic hin thi (bt đu t gc), ví

d /home/teppi82/project/l4u\W Thư mc hin thi (không có đưng dn)\$ Ký t #, nu h v đưc chy bi ngưi dùng root, và ký t $,

nu h v đưc chy bi ngưi dùng thưng.\nnn Ký t có mã h tám nnn

\n Dòng mi (chuyn dòng)\s Tên h v\# S hin thi ca câu lnh\\ Du gch ngưc (backslash)\[ Sau ký t này tt c các ký t s không đưc in ra.\] Kt thúc chui các ký t không đưc in ra.\! S th t ca lnh hin thi trong lch s các câu lnh đã dùng.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 123/212

5.6 Tham bin và các bin s. Môi trưng ca h v 113

S ca lnh (s th t ca lnh đang thc hin trong bui làm vic hin thi)có th khác vi s ca chính nó trong danh sách “lch s các câu lnh”, bi vìdanh sách còn cha c nhng câu lnh đã đưc ghi li trong tp tin lch s.

Sau khi giá tr ca bin đưc h v đc xong, s xy ra s thay th theo các

quy lut m rng trong bng trên, đng thi còn xy ra s thay th trong tên cáccâu lnh, trong các biu thc s hc, và s chia t (word splitting). Chúng ta snói đn nhng s thay th này dưi.

 Ví d, sau khi thc hin lnh (vì trong dòng văn bn có khong trng, nênnht thit phi có du ngoc):

[user/root]$ PS1="[\u@\h \W]\$"

thì trong du nhc s có du m ngoc vuông, tên ngưi dùng, ký hiu , tên máy,khong trng, tên ca thư mc hin thi (không có đưng dn), du đóng ngocvuông, và ký hiu $ (nu trên h v đang làm vic ngưi dùng bình thưng) hay#(nu h v chy dưi ngưi dùng root).

5.6.3 Bin môi trưng PATH

Còn mt bin cũng quan trng na có tên PATH. Bin này đưa ra danh sáchđưng dn đn các thư mc, mà bash s tìm kim tp tin (trưng hp riênglà các tp tin lnh) trong trưng hp, đưng dn đy đ đn tp tin khôngđưc đưa ra. Các thư mc trong danh sách này phân cách nhau bi du haichm (:). Theo mc đnh bin môi trưng PATH bao gm các thư mc “bin” sau:/usr/local/bin, /bin, /usr/bin, /usr/X11R6/bin, tc là bin PATHtrông như th này: /usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin .

Đ thêm thư mc vào danh sách này, cn thc hin câu lnh sau:

[user]$ PATH=$PATH:new_path

Khi tìm kim, h v “lc li” các thư mc theo đúng th t đã lit kê trongbin PATH.

Mt chú ý nh, có th đưa vào danh sách này thư mc hin thi, khi thêm vàobin PATH mt du chm (.). Tuy nhiên, đây là điu không khuyên làm vi lý dobo mt: ngưi có ác ý có th đt vào thư mc dùng chung mt chương trình nàođó, có cùng tên vi mt trong s nhng câu lnh thưng dùng bi root, nhưngthc hin nhng chc năng khác hoàn toàn (đc bit nguy him nu thư mchin thi đng đu danh sách tìm kim).

5.6.4 Bin môi trưng IFS

Bin này xác đnh ký t (cm ký t) phân cách (Internal Field Separator), sdng trong thao tác phân chia t ng khi bin đi dòng lnh, mà h v thc hin

trưc khi chy mt câu lnh nào đó (xem dưi). Giá tr theo mc đnh ca bin này— “<Khong_trng><Tab><Ký_t_hàng_mi>”. Nu th gõ lnh “echo $IFS”,bn s nhn đưc mt ngc nhiên nh.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 124/212

114 Bash

5.6.5 Thư mc hin thi và thư mc cá nhân

Tên ca thư mc hin thi ghi trong bin môi trưng vi tên PWD, và giá tr cabin này thay đi sau mi ln chy chương trình cd (cũng như mi ln thay đi

thư mc hin thi theo bt kỳ cách nào, ví d, qua Midnight Commander).Tương t như vy tên đy đ (gm c đưng dn) ca thư mc cá nhân cangưi dùng, chy tin trình đã cho, ghi trong bin HOME.

5.6.6 Câu lnh export

Khi h v chy mt chương trình hay câu lnh nào đó, nó (h v) cung cp chochúng mt phn bin môi trưng. Đ có th cung cp bin môi trưng cho tintrình chy t h v, cn gán giá tr cho bin này vi lnh export, tc là thay vì

[user]$ name=value

cn gõ:

[user]$ export name=value

Trong trưng hp này, tt c các chương trình chy t h v (k c bn saoth hai ca chính h v) s có quyn truy cp ti các bin đưc gán như vy, tclà s dng giá tr ca chúng qua tên.

5.7 Khai trin biu thc Hay h v đc các câu lnh như th nào?.

Khi h v nhn đưc mt dòng lnh này đó cn thc hin, nó (h v) trưc khichy câu lnh thc hin vic “phân tích ng pháp” dòng lnh này (ging trongngôn ng, phân tích ch ng, v ng). Mt trong nhng bưc ca s phân tíchnày là phép m hay khai trin biu thc (expansion). Trong bash có by loikhai trin biu thc:

• Khai trin du ngoc (brace expansion);

• Thay th du ngã (tilde expansion);

• Phép th các tham bin và bin s;

• Phép th các câu lnh;

• Phép th s hc (thc hin t trái sang phi);

• Phép chia t (word splitting);

• Khai trin các mu tên tp tin và thư mc (pathname expansion).

Các thao tác này đưc thc hin theo đúng th t lit kê trên. Chúng ta sxem xét chúng theo t t này.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 125/212

5.7 Khai trin biu thc 115

5.7.1 Khai trin du ngoc

Khai trin du ngoc tt nht minh ha trên ví d. Gi thit, chúng ta cn tothư mc con trong mt thư mc nào đó, hoc thay đi ngưi dùng s hu ca vài

tp tin cùng mt lúc. Có th thc hin điu này nh các câu lnh sau:[user]$ mkdir /usr/src/unikey/{old,new,dist,bugs}[root]# chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}

Trong trưng hp đu, trong thư mc /usr/src/unikey/ s to ra các thưmc con old,new,dist, và bugs. Trong trưng hp th hai, ngưi dùng s huca các tp tin sau s thay đi (thành root):

• /usr/ucb/ex

/usr/lib/ex?.?• /usr/ucb/edit

• /usr/lib/ex?.?

• /usr/ucb/ex

• /usr/lib/how_ex

• /usr/ucb/edit

• /usr/lib/how_ex

Tc là vi mi cp du ngoc s to ra vài dòng riêng r (s nhng dòngnày bng s t nng trong du ngoc) bng cách ghi thêm vào trưc mi t trongngoc nhng gì đng trưc du ngoc, và ghi thêm vào sau mi t này nhnggì đng sau du ngoc. Mt ví d khác: dòng a{d,c,b}e khi khai trin s thuđưc ba t “ade ace abe”.

Khai trin du ngoc đưc thc hin trưc các dng khai trin khác trongdòng lnh, hơn na tt c các ký t đc bit có trong dòng lnh, k c nhng kýt nm trong du ngoc, s đưc gi không thay đi (chúng s đưc biên dch các bưc phía sau).

5.7.2 Thay th du ngã (Tilde Expansion)

Nu như t bt đu vi ký t du ngã (’∼’), tt c các ký t đng trưc du gchchéo đu tiên (hay tt c các ký t nu như không có du gch chéo) s đưc hiulà tên ngưi dùng (login name).

Nu như tên này là mt dòng rng (tc là du gch chéo đng ngay phía saudu ngã), thì du ngã s đưc thay th bi giá tr ca bin HOME. Và nu giá trca bin HOME không đưc gán thì du ngã s đưc thay th bi đưng dn đuđ đn thư mc cá nhân ca ngưi dùng, mà đã chy h v.

Nu như ngay sau du ngã (và trưc du gch chéo) là mt t trùng vi tênca mt ngưi dùng hp pháp, thì du ngã cng vi tên ngưi dùng đưc thayth bi đưng dn đy đ đn thư mc cá nhân ca ngưi dùng này. Nu như t

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 126/212

116 Bash

đng sau du ngã không phi là tên ca mt ngưi dùng (và không rng), thì tkhông b thay đi. Nu như sau du ngã là ‘+’, hay ký hiu này s đưc thay thbi tên đu đ ca thư mc hin thi (tc là giá tr ca bin PWD). Nu dng saudu ngã là ‘-’, thì thay th giá tr ca bin OLDPWD (thư mc “cũ”).

5.7.3 Phép th các tham bin và bin s

Ký t $ đưc s dng cho các thao tác th tham bin, th các câu lnh và th cácbiu thc s hc. Biu thc hay tên đng sau $ có th đưc đưa vào ngoc, khôngnht thit, nhưng rt tin, vì du ngoc phân cách biu thc vi các t hay kýt đng sau. Như vy, đ gi giá tr ca tham bin nói chung cũng như bin môitrưng nói riêng trong dòng lnh, cn đt biu thc dng $parameter.

Du ngoc ch cn thit, nu tên ca tham bin có cha vài ch s, hoc khitheo sau tên còn có các ký t khác, mà chúng ta không mun h v “hiu lm”

chúng là mt phn ca tên tham bin.Trong tt c các giá tr ca bin s xy ra phép th du ngã ( ∼), s khai trintham bin và bin s, phép th các câu lnh, phép th các biu thc s hc, cũngnhư xóa các ký t trích dn (xem dưi). S phân chia t không xy ra, tr trưnghp “$” (li gii thích xem bng s 3). S khai trin các mu tên tp tin và thưmc cũng không đưc thc hin.

5.7.4 Phép th các câu lnh

Phép th các câu lnh là mt công c rt mng ca bash. Ý nghĩa ca nó nm

ch thay th tên các câu lnh bi kt qu thc hin ca chúng. Có hai dng phépth lnh:$(command) và ‘command‘Nu ng dng dng th hai (chú ý đây s dng du “ngoc đơn ngưc”, phím

cho nó thưng nm trên phím Tab), thì du gch ngưc (\) trong du ngoc scó chc năng như mt ký t thông thưng, tr trưng hp, khi đng sau nó (dugch ngưc) là mt $, ‘, hay mt \.

Nu như s dng dng $(command), thì tt c các ký t đng trong ngocto thành mt câu lnh, không có ký t nào có ý nghĩa đc bit.

Nu phép th câu lnh xy ra phía trong ngoc kép, thì trong kt qu ca

phép th s không thc hin phép phân chia t và s khai trin mu tên tp tinvà thư mc.

5.7.5 Phép th s hc (Arithmetic Expansion)

Phép th s hc cho phép tính giá tr ca mt biu thc s hc và thay th nó(biu thc) bi kt qu thu đưc. Có hai dng phép th s hc:

$[expression]((expression))Trong đó expression đưc hiu (đưc bash đc) như khi đng trong ngoc

kép, nhưng nhng du ngoc kép trong expression li đưc đc như mt kýt thưng. Phía trong expression có thc hin các phép th tham bin và thcâu lnh.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 127/212

5.7 Khai trin biu thc 117

Cú pháp ca biu thc expression tương t như cú pháp ca biu thc shc ca ngôn ng C, c th hơn v vn đ này có th đc trong phn ARITH-METIC EVALUATION ca trang man ca bash. Ví d, câu lnh

[user]$ echo $((2 + 3 * 5))

cho kt qu bng “17”. Nu biu thc không chính xác, bash s đưa ra thông báoli.

5.7.6 Phân chia t (word splitting)

Sau khi thc hin xong các phép th tham bin, th lnh, và th các biu thc shc, h v li phân tích dòng lnh mt ln na (nhưng dng thu đưc sau cácphép th nói trên) và thc hin vic phân chia t (word splitting).

Thao tác này nm ch, h v tìm trong dòng lnh tt c các ký t phân chia,xác đnh bi bin IFS (xem trên), và nh đó chia nh dòng lnh thành các triêng r trong các ch tương ng. Nu giá tr ca IFS bng mt dòng trng, thìvic phân chia t s không xy ra.

Nu trong dòng lnh không thc hin phép th nào trong các phép th ktrên, thì phân chia t cũng không xy ra.

5.7.7 Khai trin các mu tên thư mc và tp tin5

Phép th tên đưng dn và tp tin (Pathname expansion) s dng đ ch nhmt mu nh gn mà có th ch ra vài tp tin (hay thư mc), tương ng vi munày. Sau khi phân chia t, và nu như không đưa ra tùy chn -f, thì bash s tìmkim trong tng t ca dòng lnh các ký t *, ?, và [. Nu tìm thy t vi mthay vài ký t như vy, thì t này s đưc xem như mt mu, và cn thay th bicác t trong danh sách đưng dn, tương ng vi mu này. Nu như không tìmthy tên tương ng vi mu, và bin nullglob không đưc đưa ra, thì t s khôngthay đi, tc là các ký t đc bit b mt giá tr và hiu như các ký t thưng.Nu như bin này đưc xác đnh, mà đưng dn tương ng vi mu không tìmthy, thì t s b xóa khi dòng lnh.

Các ký t dùng đ to mu có các giá tr trong bng 5.4.Mu tên tp tin rt thưng xuyên s dng trong dòng lnh có cha ls. Hãy

tưng tưng là bn mun xem thông tin ca mt thư mc, trong đó có cha mts lưng ln các tp tin đ các dng, ví d, tp tin hình nh, phim vi dng gif, jpeg, avi, v.v. . . . Đ thu đưc thông tin ch ca tp tin dng jpeg, có th dùngcâu lnh

[user]$ ls *.jpg

Nu trong thư mc có nhiu tp tin, mà tên ca chúng là các s gm bn chs (thư mc /proc là mt ví d+), thì lnh sau ch đưa ra danh sách các tp tincó s t 0500 đn 0999:

[user]$ ls -l 0[5-9]??5Pathname Expansion

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 128/212

118 Bash

Bng 5.4: Các ký t to muKý t Quy lut thay th

* Tương ng vi bt kỳ dòng ký t nào, k c dòng rng. Ví d,

v*.txt s đưc thay th bi vnoss.txt, vnlinux.txt vàvntex.txt (nu các tp tin này tn ti), và *.png s tương ngtt c các tp tin có phn m rng png (tp tin đ ha hai chiu).

? Tương ng bt ký mt ký t đơn nào. Ví d, mu file?.txts đưc thay th bi các tên tp sau file1.txt, file2.txt,file3.txt, và filea.txt (nu chúng tn ti), nhưngfile23.txt thì không.

[...] Tương ng bt kỳ ký t nào trong s các ký t nm trong dungoc vuông này. Cp ký t, phân cách nhau bi du tr (-), víd c-f, biu th mt dãy; bt ký ký t nào, theo t đin, nm

gia hai ký t này, k c hai ký t to ra dãy (c và f trong ví d)cũng tương ng vi mu. Nu ký t đu tiên trong ngoc vuônglà ! hay ^, thì mu ( v trí này) s tương ng tt c các ký t,không đưc ch ra trong ngoc.

5.7.8 Xóa các ký t đc bit

Sau khi làm xong tt c các phép th, các ký t \, ‘ và " còn li trong dònglnh (chúng đưc s dng đ hu b giá tr đc bit ca các ký t khác) s b xóaht.

5.8 Shell — mt ngôn ng lp trình

Như đã nói trên, đ có th xây dng bt kỳ gii thut nào cũng cn có toán tkim tra điu kin. H v bash h tr các toán t la chn if...then...elsevà case, cũng như các toán t vòng lp for, while, until, nh đó nó (bash) trthành mt ngôn ng lp trình mnh.

5.8.1 Toán t if và test (hoc [ ])Cu trúc ca toán t điu kin có dng thu gn như sau:

if list1 then list2 else list3 fi

trong đó, list1, list2, và list3 là các chui câu lnh, phân cách nhau bi duphy và kt thúc bi mt du chm phy hay ký t dòng mi. Ngoài ra, các chuinày có th đưc đưa vào du ngoc nhn: list.

Toán t if kim tra giá tr đưc tr li bi các câu lnh t list1. Nu trong

danh sách có vài câu lnh, thì kim tra giá tr đưc tr li bi câu lnh cuicùng ca danh sách. Nu giá tr này bng 0, thì s thc hin các lnh t list2;còn nu giá tr này khác không, thì s thc hin nhng lnh t list3. Giá tr

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 129/212

5.8 Shell — mt ngôn ng lp trình 119

đưc tr li bi toán t if như vy, trùng vi giá tr mà chui lnh thc hin(list2 hoc list3) đưa ra.

Dng đy đ ca lnh if:

if list then list [ elif list then list ] ... [ else list ] fi

( đây du ngoc vuông ch có nghĩa là, nhng gì nm trong nó, ngoc vuông,không nht thit phi có).

Biu thc đng sau if hay elif thưng là câu lnh test, mà có th đưcbiu th bi du ngoc vuông [ ].

Lnh test thc hin phép tính mt biu thc nào đó, và tr li giá tr 0, nubiu thc là đúng, và 1 trong trưng hp ngưc li. Biu thc đưc đưa ti chươngtrình test như mt tham s ca chương trình. Thay vì gõ test expression cóth đưa biu thc expression vào ngoc vuông: [ expression ]

Cn chú ý rng, test và [ đó là hai tên ca ca cùng mt chương trình, chkhông phi là mt phép bin hóa thn thông nào đó ca h v bash (ch là cúpháp ca [ đòi hi phi có du đóng ngoc). Và cũng cn chú ý rng ch catest trong cu trúc if có th s dng bt kỳ chương trình nào.

Đ kt thúc mc này, chúng ta đưa ra ví d s dng if:

if [ -x /usr/bin/unicode_start ] ; thenunicode_startelseecho "hello world"

fi

 V toán t test (hay [...]) cn đi sâu hơn.

5.8.2 Toán t test và điu kin ca biu thc

Biu thc điu kin, s dng trong toán t test, đưc xây dng trên cơ s kimtra thuc tính tp tin, so sánh các dòng và các so sánh s hc thông thưng. Biuthc phc tp hơn đưc to ra t các thao tác đơn và kép sau (“nhng viên gchcơ s”):

• -a fileĐúng nu tp tin có tên file tn ti.

• -b fileĐúng nu file tn ti, và là mt tp tin thit b khi (block device) đcbit.

• -c fileĐúng nu file tn ti, và là mt tp tin thit b ký t (charater device) đcbit.

• -d fileĐúng nu file tn ti và là mt thư mc.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 130/212

120 Bash

• -e fileĐúng nu tp tin có tên file tn ti.

• -f file

Đúng nu tp tin có tên file tn ti và là mt tp tin thông thưng.• -g file

Đúng nu tp tin có tên file tn ti và đưc đt bit thay đi nhóm.

• -h file hay -L fileĐúng nu tp tin có tên file tn ti và là liên kt mm (liên kt tưngtrưng).

• -k fileĐúng nu tp tin có tên file tn ti và đưc đt bit sticky.

• -p fileĐúng nu tp tin có tên file tn ti và là tên ca mt ng (kênh FIFO).

• -p fileĐúng nu tp tin có tên file tn ti và là tên ca mt ng (kênh FIFO).

• -r fileĐúng nu tp tin có tên file tn ti và có quyn đc.

• -s fileĐúng nu tp tin có tên file tn ti và kích thưc ln hơn không.

• -t fdĐúng nu b mô t ca tp tin (fd) m và ch lên terminal.

• -u fileĐúng nu tp tin có tên file tn ti và đưc đt bit thay đi ngưi dùng.

• -w fileĐúng nu tp tin có tên file tn ti và có quyn ghi.

• -x fileĐúng nu tp tin có tên file tn ti và có quyn thc thi.

• -0 fileĐúng, nu tp tin có tên file và ch s hu ca nó là ngưi dùng mà IDcó hiu lc ch đn.

• -G fileĐúng, nu tp tin có tên file tn ti và thuc v nhóm, xác đnh bi IDnhóm có hiu lc.

• -S fileĐúng, nu tp tin có tên file tn ti và là socket.

• -N fileĐúng, nu tp tin có tên file tn ti và thay đi t ln đưc đc cui cùng.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 131/212

5.8 Shell — mt ngôn ng lp trình 121

• file1 -nt file2Đúng, nu tp tin file1 có thi gian sa đi mun hơn file2.

• file1 -ot file2

Đúng, nu tp tin file1 “già” hơn file1 (trưng hp ngưc li ca trưnghp trên).

• file1 -ef file2Đúng, nu tp tin file1 và file2 có cùng mt s thit b và ch s mô tinode.

• -o optnameĐúng, nu tùy chn optname ca h v đưc kích hot. Chi tit xin xemtrên trang man bash.

• -z string

Đúng, nu đ dài ca chui string bng không.

• -n stringĐúng, nu đ dài ca chui khác không.

• string1 == string2Đúng, nu hai chui trùng nhau. Có th thay hai == bng mt =.

• string1 !== string2Đúng, nu hai chui không trùng nhau.

• string1 < string2Đúng, nu chui string1, theo t đin, đng trưc chui string2 (đi vingôn ng hin thi).

• string1 > string2Đúng, nu chui string1, theo t đin, đng sau chui string2 (đi vingôn ng hin thi).

• arg1 OP arg2 đây OP là mt trong các phép so sánh s hc: -eq (bng), -ne (khác,không bng), -lt (nh hơn), -le (nh hơn hoc bng), -gt (ln hơn), -ge

(ln hơn hoc bng). ch các tham s arg1 và arg2 có th s dng các snguyên (âm hoc dương).

T các biu thc điu kin cơ bn này có th xây dng các biu thc phc tptheo ý mun nh các phép lôgíc thông thưng PH ĐNH, VÀ (cng) và HOC:

• !(expression)Phép ph đnh. Đúng, nu biu thc sai.

• expression1 -a expression2Phép cng lôgic AND. Đúng nu c hai biu thc đu đúng.

• expression1 -o expression2Phép lôgíc hoc OR. Đúng nu mt trong hai biu thc đúng.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 132/212

122 Bash

5.8.3 Toán t case

Dng ca toán t case như sau:

case word in [ [(] pattern [ | pattern ] ... ) list ;; ] ... esac

Câu lnh case đu tiên khai trin t word, và so sánh nó (word) vi mi t trongmu pattern theo th t. Sau khi tìm thy s trùng nhau đu tiên thì dngvic so sánh li, và thc hin danh sách list các câu lnh đng sau mu đã tìmthy. Giá tr tr li bi toán t này, bng 0, nu không tìm thy s trùng nhaunào. Trong trưng hp ngưc li, tr li giá tr mà câu lnh cui cùng trong danhsách list đưa ra.

 Ví d s dng toán t case sau ly t script /etc/rc.d/rc.sysinit (kiut chc khi đng FreeBSD style):

case "$UTC" inyes|true)CLOCKFLAGS="$CLOCKFLAGS -u";CLOCKDEF="$CLOCKDEF (utc)";;;no|false)CLOCKFLAGS="$CLOCKFLAGS --localtime";CLOCKDEF="$CLOCKDEF (localtime)";;;esac

Nu bin s (UTC) nhn giá tr yes hoc true, thì s thc hin cp lnh thnht, nhn giá tr no hoc false - cp th hai.

5.8.4 Toán t select

Toán t select cho phép t chc hi thoi vi ngưi dùng. Nó có dng sau:

select name [ in word; ] do list; done

Lúc đu t mu word hình thành mt danh sách nhng t tương ng vi munày. Tp hp nhng t này đưc đưa vào kênh thông báo li tiêu chun, hơn nami t đưc đi kèm vi mt s th t. Nu mu word b b qua (không có trongtoán t select), thì s đưa vào các tham bin v trí (xem trên) theo mt cáchtương t. Sau đó, du nhc PS3 đưc đưa ra, và h v ch chui nhp vào trênđu vào tiêu chun. Nu chui nhp vào có cha s, tương ng vi mt trong cács đã hin ra, thì bin name s đưc gán giá tr bng t đi kèm vi s này. Nunhp vào mt dòng rng, thì s và t s đưc hin ra them mt ln na. Nunhp vào bt kỳ mt giá tr nào khác, thì bin name s nhn giá tr bng không.Chui mà ngưi dùng nhp vào, đưc ghi li trong bin REPLY. Danh sách lnh

list đưc thc hin vi giá tr bin name đã chn.Sau đây là mt script nh (xin hãy gõ không du nu console ca bn chưa htr vic hin th Ting Vit):

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 133/212

5.8 Shell — mt ngôn ng lp trình 123

#!/bin/shecho "Bn thích dùng OS nào?"select var in "Linux" "Gnu Hurd" "Free BSD" "MacOSX" "Solaris""QNX" "Other"; do

breakdoneecho "Bn đã chn $var"

Ghi đon trên vào mt tp tin (ví d, select.sh), thay đi đ tp tin thànhkh thi (ví d, chmod 755 select.sh), và chy (./select.sh). Trên mànhình s hin ra câu hi sau:

Bn thích dùng OS nào?1) Linux 3) Free BSD 5) Solaris 7) Other2) Gnu Hurd 4) MacOSX 6) QNX

#?

Hãy nhn mt trong 7 s đưa ra (t 1 đn 7). Nu bn nhp 4 (nhn c<Enter>), thì s thy thông báo sau:

Bn đã chn MacOSX

5.8.5 Toán t for

Toán t for làm vic có khác mt chút so vi for trong các ngôn ng lp

trình thông thưng. Thay vì tăng hoc gim giá tr ca mt bin s nào đó (lênhoc xung) mt đơn v sau mi vòng lp, thì nó gán giá tr tip theo trongdanh sách t đưa sn cho bin đó trong mi vòng lp. Nói chung cu trúc códng sau:

for name in words do list done

Quy lut xây dng danh sách lnh (list)gingtrongtoánt if.Víd.Scriptsau to các tp tin fu1, fu2, và fu3:

f o r a i n 1 2 3 ; d o

touch fu$adone

Có th gõ ba dòng này trên mt dòng lnh, kt qu thu đưc tương t viscript. Dng tng quát ca toán t for như sau:

for name [ in word; ] do list ; done

Đu tiên cũng xy ra s khai trin t word theo quy lut khai trin biu thc(xem trên). Sau đó bin name ln lưt đưc gán các giá tr thu đưc t s

khai trin này, và thc hin danh sách lnh list trong mi ln như vy. Nukhông có “in word”, thì danh sách lnh list đưc thc hin mt ln cho mitham bin v trí đã đưa ra.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 134/212

124 Bash

Trên Linux có chương trình seq, tip nhn hai s nguyên làm tham s, vàđưa ra chui tt c các s nm gia hai s này (cng thêm c chúng). Nh câulnh này có th s dng for ca bash làm vic như toán t for trong các ngônng lp trình thông thưng. Đ làm đưc điu này ch cn vit vòng lp for như

sau:

f o r a i n $ ( s e q 1 6 ) ; d ocat fu$adone

Câu lnh (script) này đưa ra màn hình ni dung ca 10 tp tin (nu có): “fu1”,..., “fu10”.

5.8.6 Toán twhile

vàuntil

Toán t while làm vic tương t như if, nhưng vòng lp các câu lnh tronglist2 ch thc hin khi điu kin còn đúng, và s ngng khi điu kin khôngtha mãn. Cu trúc có dng như sau:

while list1 do list2 done

 Ví d:

while [ -d directory ] ; do

ls -l directory >> logfileecho -- SEPARATOR -- >> logfilesleep 60done

Chương trình (script) trên s theo dõi và ghi li ni dung ca thư mc có têndirectory theo tng phút nu thư mc còn tn ti.

Toán t until tương t như toán t while:

until list1 do list2 done

Đim khác bit nm ch, s dng giá tr ph đnh ca điu kin list1, tc làlist2 thc hin, nu câu lnh cui cùng trong danh sách list1 tr li trngthái thoát ra khác không.

5.8.7 Các hàm s

H v bash cho phép ngưi dùng to các hàm s cho mình. Hàm s làm vic vàđưc s dng ging như các câu lnh thông thưng ca h v, tc là chúng ta cóth t to các câu lnh mi. Hàm s có cu trúc như sau:

function name () { list }

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 135/212

5.8 Shell — mt ngôn ng lp trình 125

Hơn na t function không nht thit phi có, name xác đnh tên ca hàm(dùng đ gi hàm), còn phn thâm ca hàm s to bi danh sách các câu lnhlist, nm gia { và }. Các câu lnh này s đưc thc hin mi khi tên nameđưc gi (ging như mt lnh thông thưng). Cn chú ý rng hàm có th là đ

qui, tc là gi hàm s ngay trong phn thân ca nó.Hàm s thc hin trong phm vi h v hin thi: không có tin trình mi nàođưc chy khi biên dch hàm s (khác vi vic chy script).

5.8.8 Tham s

Khi hàm s đưc gi đ thc hin, các tham s ca hàm s tr thành các thambin v trí (positional parameters, xem trên) trong thi gian thc hin hàmnày. Chúng đưc đt các tên như $n, trong đó n là s ca tham s mà chúng tamun s dng. Vic đánh s bt đu t 1, như vy $1 là tham s đu tiên. Cũng

có th s dng tt c các tham s mt lúc nh $*, và đưa ra s th t ca thams nh $# Tham s v trí s 0 không thay đi.Trong khi thc hin nu gp câu lnh ni trú return (trong phn thân ca

hàm), thì hàm s s b dng li và quyn điu khin đưc trao cho câu lnh đngsau hàm. Khi thc hin xong hàm s, các tham bin v trí và tham bin đc bit# s đưc tr li các giá tr mà chúng có trưc khi chy hàm.

5.8.9 Bin ni b (local)

Nu mun to mt tham bin đa phương, có th s dng t khóa local. Cú

pháp đưa ra bin đa phương ging ht các tham bin khác, ch có điu cn đngsau t khóa local: “local name=value”.Dưi đây là mt ví d hàm s, thc hin công vic ca lnh seq đã nhc đn

trên:

seq(){local I=$1;while [ $2 != $I ]; do{echo -n "$I ";

I=$(( $I + 1 ))};done;echo $2}

Cn chú ý đn tùy chn -n ca echo, nó (tùy chn) hy b vic to dòng mi.Mc dù tùy chn này không có nhiu ý nghĩa vi mc đích chúng ta mun đây,nhưng s rt có ích trong các hàm s vi mc đích khác. Hàm s tính giai thafact Mt ví d khác:

fact(){

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 136/212

126 Bash

if [ $1 = 0 ]; thenecho 1;else{

echo $(( $1 * $( fact $(( $1 -- 1 )) ) ))};fi}

Đây là hàm s giai tha, mt ví d ca hàm đ qui. Hãy chú ý đn s khaitrin s hc, và phép th các câu lnh.

5.9 Script ca h v và lnh source

Script ca h v ch là các tp tin có cha chui lnh. Tương t hàm s script cóth đưc thc hin như mt câu lnh. Cú pháp truy cp đn các tham s cũngnhư hàm s.

Trong các trưng hp thông thưng khi chy script s có mt tin trình miđưc chy. Đ có th thc hin script trong bn bash hin thi, cn s dng câulnh source, hay mt du chm “.” (đng nghĩa ca source). Trong trưng hpnày script ch đơn gin là mt tham s ca lnh nói trên. Câu lnh s có dng:

source filename [arguments]

Câu lnh này đc và thc hin các câu lnh có trong tp tin filename trongmôi trưng hin thi, và tr li giá tr, xác đnh bi câu lnh cui cùng cafilename. Nu filename không cha du gch chéo, thì đưng dn, lit kêtrong bin s PATH, s đưc s dng đ tìm tp tin có tên filename. Tp tinnày không nht thit phi kh thi (không nht thit phi có bit x). Nu trongthư mc, lit kê trong PATH, không tìm thy tp tin cn, thì s tìm nó (tp tin)trong thư mc hin thi.

Nu có các tham s (đưa ra arguments, xem đnh dng câu lnh trên), thìtrong thi gian thc hin script chúng s thành các tham bin v trí. Nu khôngcó tham s, thì tham bin v trí không thay đi. Giá tr (trng thái), mà lnhsource tr li, trùng vi giá tr, tr li bi câu lnh cui cùng trong script. Nukhông câu lnh nào đưc thc hin, hoc không tìm thy tp tin filename, thìtrng thái thoát bng 0.

5.10 Câu lnh sh

Bn luôn luôn có th chy mt bn sao ca h v bash nh câu lnh bash hay sh.Khi này có th bt bn sao này chy mt script nào đó, nu đưa tên ca scriptnhư mt tham s cho lnh bash. Như vy, đ thc hin script myscript cn

đưa câu lnh “sh myscript”. Nu xem ni dung ca mt tp tin script nào đó(nhng tp tin như vy có rt nhiu trên h thng), bn s thy dòng đu tiên códng sau: #!/bin/sh. Điu này có nghĩa là, khi chúng ta gi script đ thc hin

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 137/212

5.10 Câu lnh sh 127

như mt lnh thông thưng, thì /bin/sh s giúp chúng ta “thu xp” mi th. Cóth thay th dòng này bi liên kt đn bt kỳ mt chương trình nào, mà s đctp tin và thc hin các câu lnh tương ng. Ví d, script trên ngôn ng Perl btđu bi dòng có dng !/bin/perl.

Mt chú ý khác là ký t # dùng đ vit li chú thích trong script. Tt c nhnggì đng sau ký t này đn cui dòng s đưc coi là chú thích và b bash b qua(tc là h v s không xem dòng này là câu lnh). Nu bn mun kim chng litác dng ca ký t này, thì hãy nhp vào dòng lnh mt câu lnh bt kỳ, và đttrưc nó (câu lnh) ký t #, ví d “# ls”, bn s thy rng h v b qua câu lnhnày.

Chúng ta s dng bài hc ngn gn v bash ti đây. Tt nhiên, còn rt nhiuvn đ quan trng cn xem xét nhưng nm ngoài phm vi ca bài hc, ví d, qunlý tin trình, lch s câu lnh, mô t v thư vin readline, tín hiu, v.v. . . Các bns tìm thy thông tin cn thit trong các cun hưng dn khác hoc trên trang

man bash.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 138/212

Chương 6

S dng Midnight Commander

Mi th đu đã đưc vit ra — các nhà lp trình Nga.

Trong chương này chúng ta s hc cách s dng chương trình Midnight Commander, mt trình qun lý tp tin mnh. Sau khi đc xong chương này bn đc s có th s dng các t hp phím cũng như giao din ca Midnight Commander đ thc hin rt nhiu công vic có liên quan đn h thng tp tin t nh bé đn nng nhc. Đu tiên chúng ta hãy xem xét cách cài đt chương trình này . . .

6.1 Cài đt chương trình Midnight Commander

Mc dù đ điu khin h thng tp tin nói chung và đ làm vic vi các tp tin

nói riêng có th s dng các câu lnh ca h điu hành, như pwd, ls, cd, mv,mkdir, rmdir, cp, rm, cat, more v.v ... nhưng s thun tin hơn khi s dngchương trình Midnight Commander.

Midnight Commander (hay thưng rút gn thành mc) là chương trình chophép xem cu trúc cây thư mc và thc hin nhng thao tác điu khin h thngtp tin. Nói cách khác, đây là trình qun lý tp tin (File Manager). Nu như bnđc có kinh nghim làm vic vi Norton Commander (nc) trong MS-DOS hay viFAR trong Windows, thì s làm vic vi mc mt cách d dàng. Bi vì thm chínhng t hp “phím nóng” chính ca chúng cũng trùng nhau. Trong trưng hpnày, đ có th làm vic vi Midnight Commander bn đc ch cn xem nhanh

nhng ni dung phía dưi. Tác gi xin có li khuyên đi vi nhng ai còn xa lvi NC hay FAR (nu như có?): hãy chú ý đc và thc hành chăm ch, vì MidnightCommander s giúp đ rt nhiu trong khi làm vic vi h điu hành.

Ghi chú:

1. Kin thc trong chương này đưc vit đ s dng cho phiên bn 4.6.1-pre3, mcdù có th áp dng cho nhng phiên bn khác.

2. Kin thc đưa ra ch áp dng đưc hoàn toàn trong trưng hp chương trình chyt kênh giao tác (console), hay còn gi là giao din text. Khi làm vic vi chươngtrình qua trình gi lp (emulator) ca terminal trong giao din đ ha, ví d

xterm, rxvt, v.v. . . thì mt s mô t hot đng ca chương trình s không cònchính xác na, vì vic nhn phím đã b v đ ha chim ly. S không tương ngnhư vy thưng gp nhng ch nói v phím “nóng”.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 139/212

6.2 V ngoài ca màn hình Midnight Commander 129

Trong phn ln các bn phân phi chương trình Midnight Commander khôngđưc t đng cài đt cùng vi h thng. Nhưng các gói (rpm, deb, tgz ...) caMidnight Commander s có trên đĩa, và vic cài đt t các gói này là không khókhăn gì. Và bi vì chương trình này s làm cho bn đc “d th” hơn, tác gi rt

mun rng chương trình s đưc cài đt ngay sau khi cài xong h điu hành.1

6.2 V ngoài ca màn hình Midnight Comman-der

Đ khi đng Midnight Commander, cn gõ vào dòng lnh shell câu lnh mcvà nhn <Enter>. Nu ng dng không chy, thì cn tìm xem tp tin chươngtrình mc nm đâu (có th dùng câu lnh find / -name mc -type f), sau

đó gõ vào dòng lnh đưng dn đy đ ti tp tin đó, ví d, trên máy tác gi là/usr/bin/mc. Sau khi chy chương trình, bn đc s thy màn hình màu da trilàm chúng ta nh đn màn hình chương trình Norton Commander cho MS-DOShay chương trình FAR cho Windows như trong hình 6.2.

Hình 6.1: Giao din ting Vit ca Midnight Commander

Gn như toàn b không gian màn hình khi làm vic vi Midnight Commanderb chim bi hai “bng”2 hin th danh sách tp tin ca hai thư mc. phía trênhai bng này là trình đơn (thc đơn). Có th chuyn đn trình đơn đ chn cáclnh có trong đó bng phím <F9> hoc nh phím chut (nu như sau khi khi

1Ngoài ra ngưi dch cun sách này cũng đã dch giao din ca Midnight Commander ra ting Vit. Vì th nu mun bn có th s dng giao din ting m đ ca Midnight Commander.2panel

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 140/212

130 S dng Midnight Commander

Hình 6.2: V ngoài ca màn hình Midnight Commander

đng mc bn đc không nhìn thy dòng trình đơn đâu, thì cũng đng bun, vì cóhin th trình đơn hay không đưc xác đnh bi cu hình chương trình).

Dòng dưi cùng là dãy các nút, mi nút tương ng vi mt phím chc năng<F1> – <F10>. Có th coi dòng này là li mách nưc v cách s dng nhng phímchc năng đã nói, và còn có th chy trc tip các câu lnh tương ng bng cách

nhn chut vào các nút này. Vic hin th các nút có th tt đi, nu như bn đcmun tit kim không gian màn hình (cách làm s có sau này khi chúng ta nóiv cu hình chương trình). S tit kim có hai lý do. Th nht, bn đc s nhanhchóng nh đưc công dng ca 10 phím này, và li mách nưc s tr thành khôngcn thit (và vic nhn chut lên các nút không phi lúc nào cũng thun tin).Th hai, thm chí nu bn đc không nh phi dùng phím nào đ thc hin côngvic mong mun, thì vn có th s dng trình đơn File (Tp tin) trong trình đơnchính ca chương trình (ch cn nh rng, phím đ chuyn vào trình đơn chínhlà <F9>). Qua trình đơn File (Tp tin) có th thc hin bt kỳ thao tác nào màthông thưng phi nh các phím chc năng, ngoi tr <F1> và <F9>.

Dòng th hai t dưi lên là dòng lnh ca chương trình Midnight Commander(hay chính xác hơn là dòng lnh ca shell hin thi). đây có th nhp và thchin bt kỳ câu lnh nào ca h thng. phía trên dòng này (nhưng phía dưicác bng) có th hin th “nhng li khuyên có ích” (hint4s). Cũng có th b đidòng li khuyên này khi điu chnh cu hình ca chương trình.

Mi bng gm phn đu, danh sách tp tin ca mt thư mc nào đó và dòngtrng thái nh (mini-status, có th không hin th nu đt trong cu hình chươngtrình). Trong phn đu ca mi bng là đưng dn đy đ đn thư mc có nidung đưc hin th, và đng thi còn có ba nút – “<”, “v” và “>” s dng đ điukhin chương trình bng chut (nhng nút này không làm vic nu như bn đc

chy mc trong trình gi to (emulator) terminal). Trên dòng trng thái nh cóhin th mt vài d liu v tp tin hay thư mc đang đưc thanh chiu sáng chđn (ví d, kích thưc tp tin và quyn truy cp).

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 141/212

6.3 Tr giúp 131

Ch mt trong hai bng là hin thi (hot đng). Bng hin thi có thanhchiu sáng tên thư mc phn đu và thanh chiu sáng mt trong nhng dòngca bng đó. Tương t, trong shell đã chy chương trình Midnight Commander,thư mc hin thi là thư mc đưc hin th trong bng hot đng. Hu ht các

thao tác đưc thc hin trong thư mc này. Các thao tác như sao chép (<F5>)hay di chuyn (<F6>) tp tin s dng thư mc đưc hin th trong bng th hailàm thư mc đích đn (s sao chép hay di chuyn đn thư mc này).

Trong bng hot đng mt dòng đưc chiu sáng. Thanh chiu sáng có th dichuyn nh các phím điu khin vic di chuyn. Chương trình xem tp tin nitrú, chương trình xem li mách nưc và chương trình xem thư mc s dng cùngmt mã chương trình đ điu khin vic di chuyn. Vì th vic di chuyn s dngmt b các t hp phím (nhưng trong mi chương trình con có các t hp phímch áp dng trong ni b mà thôi). Xin đưa ra mt bng ngn gn lit kê các thp phím dùng chung đ điu khin vic di chuyn.

Bng 6.1: Các t hp phím di chuyn dùng chungPhím Di chuyn thc hin<↑> hoc <Ctrl>+<P> Di chuyn tr li (lên trên) mt dòng<↓> hoc <Ctrl>+<N> Di chuyn v phía trưc (xung dưi) mt dòng<Page Up> hoc <Alt>+<V> Quay li mt trang<Page Down> hoc <Ctrl>+<V> Tin v trưc mt trang<Home> Quay v dòng đu<End> Chuyn đn dòng cui cùng

6.3 Tr giúp

Khi làm vic vi chương trình Midnight Commander, có th xem tr giúp vào btkỳ lúc nào nh phím <F1>. Tr giúp đưc t chc dưi dng siêu văn bn, tclà trong văn bn có c nhng liên kt đn nhng phn khác. Nhng liên kt đóđưc đánh du bi nn màu xanh nht . Liên kt đưc chn hin thi s có nnmàu xanh đm .

Đ di chuyn trong ca s xem tr giúp có th s dng nhng phím mũi tênhoc chut. Ngoài nhng t hp phím di chuyn nói chung trong bng 6.1, chươngtrình xem tr giúp còn chp nhn nhng t hp phím s dng trong chương trìnhcon dùng đ xem tp tin:

Bng 6.2: Di chuyn trong trình xem tp tinPhím Di chuyn thc hin<B> hoc <Ctrl>+<B> hoc <Ctrl>+<H>hoc <Backspace> hoc <Delete>

Lùi li mt trang

<Du cách> Tin ti mt trang

<U> ( <D> ) Lùi li (tin ti) na trang<G> (<Shift>+<G>) Đi ti đu (cui) danh sách

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 142/212

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 143/212

6.5 Điu khin các bng 133

chut lên khung nm dưi ca bng, thì tương ng s thc hin di chuyn dài 1ct tp tin v phía cui danh sách. Phương pháp di chuyn này cũng làm vic khixem tr giúp và xem danh sách Cây thư mc

Nu chy mc vi h tr chut thì ngưi dùng có th thc hin các thao tác

sao chép và dán văn bn khi gi phím <Shift>. Đ làm đưc điu này, bn cnnhn và gi phím <Shift>, chn đon văn bn cn thit bng cách kéo chut, sauđó th phím <Shift> ra, đưa con tr đn nơi cn dán, ri li nhn và gi phím<Shift> trong khi nhn chut phi. Cn chú ý rng tính năng này không làmvic trong các trình gi lp terminal như xterm.

6.5 Điu khin các bng

Các bng ca Midnight Commander thông thưng hin th nhng gì có trong thư

mc ca h thng tp tin (vì th thưng đưc gi là bng thư mc). Tuy nhiêncó th hin th nhng thông tin khác trên bng. Trong phn này s nói đn cáchthay đi dng ca bng hay cách hin th thông tin trên bng.

6.5.1 Dng danh sách tp tin

Dng bng trên đó hin th danh sách tp tin và thư mc con có th thay đi quacác câu lnh ca thc đơn m ra khi chn Bng trái (Left) và Bng phi (Right).Nu bn đc mun thay đi dng hin th danh sách tp tin, thì có th s dngcâu lnh Dng danh sách... (Listing mode...) ca bng (trái hoc phi) tươngng. Có 4 kh năng đ chn:

Đy đ(Full),

Thu gn(Brief),

M rng(Long)

và Ngưi dùng t xác đnh (User).

Hình 6.3: Hp thoi chn đnh dng hin th

• Đnh dng Đy đ (Full) hin th tên tp tin, kích thưc ca nó và thigian sa đi gn nht.

• Đnh dng Thu gn (Brief) ch hin th tên tp tin, do đó trên mi bng cóhai ct và hin th đưc s tp tin nhiu gp đôi.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 144/212

134 S dng Midnight Commander

• Đnh dng M rng (Long) hin th tp tin như khi thc hin câu lnhls -l. Vi đnh dng này mt bng chim ht màn hình.

• Nu chn đnh dng Ngưi dùng t xác đnh (User), thì ngưi dùng cn

đưa ra dng hin th t chn ca mình.Khi t đưa ra đnh dng, thì đu tiên cn ch ra kích thưc ca bng: “half”

(mt na màn hình) hoc “full” (toàn màn hình). Sau kích thưc bng có th chra là trên bng phi có hai ct bng cách thêm s 2 vào dòng đnh dng. Tiptheo cn lit kê tên nhng vùng hin th cùng vi chiu rng ca vùng. Có th sdng nhng tên vùng sau:

• name – tên tp tin.

• size – kích thưc tp tin.

• bsize – kích thưc dng khác, khi đó ch đưa ra kích thưc tp tin, còn đivi thư mc con thì ch đưa ra dòng ch “SUB-DIR” hoc “UP–DIR”.

• type – hin th dng tp tin (mt ký t). Ký t này có th là mt trongnhng giá tr mà câu lnh ls -F đưa ra:

* (asterisk) – cho tp tin chương trình. / (slash) – cho thư mc.@ (at-sign) – cho liên kt (links).= (giu bng) – cho các sockets.- (gch ngang) – cho các thit b trao đi theo byte.+ (du cng) – cho các thit b trao đi theo block.| (pipe, ng) – cho các tp tin dng FIFO.∼ (du sóng) – cho các liên kt tưng trưng đn thư mc.! (du chm than) – cho các liên kt tưng trưng đã hng (stalled) (liên

kt ch đn tp tin không còn na).

• mtime – thi gian sa đi tp tin cui cùng.

• atime – thi gian truy cp đn tp tin ln cui.• ctime – thi gian to tp tin.

• perm – dòng ch ra quyn truy cp đn tp tin.

• mode – quyn truy cp dng s 8bit.

• nlink – s liên kt đn tp tin.

• ngid – ch s xác đnh ca nhóm (GID).

nuid – ch s xác đnh ca ngưi dùng (UID).• owner – ch s hu tp tin.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 145/212

6.5 Điu khin các bng 135

• group – nhóm s hu tp tin.

• inode – ch mc inode ca tp tin.

Đng thi còn có th s dng nhng tên vùng sau đ t chc vic hin ththông tin ra màn hình:

• space – chèn khong trng.

• mark – chèn du sao * (asterisk) nu tp tin đưc chn, hoc khong trng– nu ngưc li.

• | – chèn đưng thng đng.

Đ có th xác đnh chính xác chiu rng ca mt vùng, cn thêm du haichm ‘:’, sau đó ch ra s v trí (ký t) cn gi cho vùng này. Nu sau s v tr có

đt du ‘+’, thì s đó s đưc hiu là chiu rng nh nht ca vùng, và nu mànhình cho phép thì vùng s đưc m rng. Ví d, đnh dng Đy đ (Full) thc cht đưc xác đnh bi dòng:

half type,name,|,size,|,mtime

còn đnh dng M rng (Long) thì xác đnh bi:

full perm, space, nlink, space, owner, space, group, space, size, space, mtime, space, name

Dưi đây là ví d dng hin th do ngưi dùng đưa ra:

half name,|,size:7,|,type,mode:3

Hin th danh sách tp tin trên mi bng còn có th sp xp theo mt trong 8cách:

• Theo tên

• Theo phn m rng

• Theo kích thưc tp tin

• Theo thi gian sa đi• Theo thi gian truy cp ln cui

• Theo ch mc inode

• Không sp xp.

Có th chn cách sp xp bng cách chn câu lnh Th t sp xp (Sortorder...) trong trình đơn tương ng ca mi bng. Khi đó s hin ra mt hpthoi (hình 6.4) ngoài vic cho phép chn cách sp xp còn cho phép chn sp

xp theo th t ngưc li (đánh du tuỳ chn Ngưc li (Reverse)), hay sp xpcó tính đn kiu ch thưng ch hoa hay không (tùy chn Tính đn kiu ch(case sensitive)).

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 146/212

136 S dng Midnight Commander

Hình 6.4: Hp thoi sp xp

Theo mc đnh các thư mc con đưc hin th đu danh sách, nhưng cũngcó th thay đi nu đánh du tùy chn Trn ln tt c tp tin (“Mix all files”)ca câu lnh Cu hình... (Configuration...) thc đơn Cu hình (Option). Ngưidùng cũng có th chn ch hin th trên bng nhng tp tin tương ng vi mtmu nào đó. Câu lnh Lc tp tin... (Filter...) trong thc đơn ca mi bng chophép đưa ra nhng mu mà tên tp tin s hin th tương ng vi nó (ví d dùngmu “*.tar.gz” đ ch hin th nhng tp tin nén tar.gz). Tên ca thư mc convà đưng dn đn thư mc con luôn luôn đưc hin th không ph thuc vào muđưa ra. Trong thc đơn ca mi bng còn có câu lnh Quét li (Rescan) (tương

đương vi câu lnh Cp nht (Refresh) trong các chương trình khác). Câu lnhQuét li (phím nóng <Ctrl>+<R>) cp nht li danh sách tp tin hin th trênbng. Điu này có ích khi nhng tin trình khác to hay xóa các tp tin.

6.5.2 Nhng ch đ hin th khác

Ngoài vic đưa ra đnh dng hin th danh sách tp tin trên bng, còn có th đưabt kỳ bng nào vào mt trong nhng ch đ sau:

• Ch đ Thông tin (Info). Trong ch đ này (hình 6.5) trên bng đưa ra

thông tin v tp tin đưc chiu sáng (đưc chn) trên bng bên cnh, v hthng tp tin hin thi (dng, kích thưc ch trng và tng s ch mc inodecòn trng).

• Ch đ Cây thư mc (Tree). Trong ch đ này trên mt bng hin th câythư mc dng đ ho (hình 6.6). Ch đ này tương t như khi ngưidùng chn câu lnh Cây thư mc (Directory Tree) t thc đơn Câu lnh(Command), như câu lnh sau hin th cây thư mc mt ca s riêng.

• Ch đ Xem nhanh (Quick View). Trong ch đ này bng s hin th ni

dung ca tp tin đưc chiu sáng (đưc chn) trên bng bên cnh. Ví d trênhình 6.7 là khi dùng ch đ này đ xem nhanh ni dung tp tin HISTORYca gói chương trình mediawiki.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 147/212

6.5 Điu khin các bng 137

Hình 6.5: Ch đ thông tin

Đ ra bng xem nhanh ni dung tp tin s dng chương trình xem tp tincó sn trong mc, vì th nu dùng phím <Tab> đ chuyn sang bng xemnhanh, thì ngưi dùng có th s dng mi câu lnh điu khin vic xem, ví

d, nhng phím lit kê trong bng 6.1 và bng 6.2.• Ch đ Kt ni FTP... (FTP link...) và Kt ni Shell... (Shell link...). Hai

ch đ này ch khác ch s dng đ hin th danh sách thư mc nm trênmáy xa. Còn li mi th k c đnh dng hin th thông tin đu tương tnhư nhng gì s dng cho các thư mc ni b. Nu ngưi dùng mun bitthêm v cách s dng nhng ch đ này, xin hãy xem tr giúp ca mc.

6.5.3 Các t hp phím điu khin bng

Đ điu khin ch đ làm vic ca bng có th s dng các câu lnh ca trìnhđơn đã nói ti trên, nhưng s thun tin hơn nu s dng các t hp phím điukhin.

• <Tab> hoc <Ctrl>+<i>. Thay đi bng hin thi (hot đng). Dòng chiusáng s chuyn t bng đang là hin thi sang bng khác và như vy bngsau s tr thành hiên thi.

• <Alt>+<G> hoc <Alt>+<R> hoc <Alt>+<J>. S dng đ di chuyn dòngchiu sáng tương ng lên tp tin trên đu, nm gia hoc dưi cùng trongs nhng tp tin đang hin th (đang thy) trên bng.

• <Alt>+<T>. Chuyn đi vòng quanh gia các đnh dng hin th danh sáchtp tin ca thư mc hin thi. Nh t hp phím này có th chuyn đi nhanh

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 148/212

138 S dng Midnight Commander

Hình 6.6: Ch đ cây thư mc

chóng t ch đ hin th M rng (long) sang Thu gn hay ch đ do ngưidùng xác đnh.

• <Ctrl>+<\>. Hin th danh sách thư mc thưng dùng và chuyn ti thư

mc la chn.• <Home> hoc <Alt>+<‘<’>. Chuyn dòng chiu sáng ti v trí đu tiên ca

danh sách tp tin.

• <End> hoc <Alt>+<‘>’>. Chuyn dòng chiu sáng ti v trí cui cùng cadanh sách tp tin.

• <Alt>+<O>. Nu trong bng hin thi tên thư mc đưc chiu sáng, còntrên bng còn li hin th danh sách tp tin, thì bng th hai s chuyn vào

ch đ hin th các tp tin ca thư mc đưc chiu sáng. Nu trong bnghin thi dòng chiu sáng là tên tp tin, thì trên bng th hai s hin thni dung ca thư mc m ca tp tin đó.

• <Ctrl>+<PageUp>, <Ctrl>+<PageDown>. Ch khi mc đưc chy dưi kênhgiao tác (console) ca Linux: thc hin tương ng vic chuyn (chdir) tithư mc m (..) hoc ti thư mc đang đưc chiu sáng.

• <Alt>+<Y>. Chuyn ti thư mc ngay trưc trong s nhng thư mc đãxem. Tương đương vi vic nhn chut lên ký t < góc trên ca bng.

• <Alt>+<U>. Chuyn ti thư mc ngay sau trong s nhng thư mc đã xem.Tương đương vi vic nhn chut lên ký t >.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 149/212

6.6 Các phím chc năng và thc đơn Tp tin 139

Hình 6.7: Ch đ xem nhanh

6.6 Các phím chc năng và thc đơn Tp tin

T trưc đn gi chúng ta mi xem xét đn v ngoài ca màn hình Midnight

Commander và cách thay đi v ngoài này. Bây gi đã đn lúc cn bit cách làmvic vi tp tin nh chương trình có ích này.Rt nhiu thao tác thưng dùng trong Midnight Commander đưc thc hin

qua các phím chc năng <F1> — <F10>. Xin đưa ra mt bng 6.4 tng hp nhngthao tác này.

Nhng thao tác (lnh) lit kê trên không ch có th thc hin bng cáchnhn phím chc năng tương ng mà còn bng cách nhn chut lên các nút tươngng cùng ca màn hình hay bng các lnh tương ng ca trình đơn Tp tin(File).

Trưc khi thc hin mt thao tác nào đó ch ra trong bng 6.4 hay lnh trong

trình đơn, cn chn nhng tp tin hay nhóm tp tin đ thc hin thao tác đó lên.Đ chn mt tp tin thì ch cn đt dòng chiu sáng trong bng hin thi lên nó(tt nhiên đu tiên cn chuyn ti thư mc tương ng). Nu mun thc hin mtthao tác nào đó lên nhiu tp tin mt lúc, thì cn đánh du nhóm tp tin này. Đđánh du tp tin đt dưi dòng chiu sáng, hãy dùng phím <Insert> hoc t hpphím <Ctrl>+<T>. Khi này tên ca tp tin s có màu khác. Đ b chn tp tinthì cũng s dng t hp phím như khi chn.

Còn có th chn nhóm tp tin còn có th dùng câu lnh Chn nhóm catrình đơn Tp tin (File), phím nóng cho câu lnh này là phím du cng <+>.Câu lnh này đưc dùng đ đánh du nhóm tp tin theo mu tương ng đưa

ra. Khi chy câu lnh Midnight Commander s đưa ra hp thoi dùng đ nhpbiu thc chính quy xác đnh tên ca nhóm tp tin mun đánh du. Nu có bttùy chn Mu dng shell (xem trang 155, thì cn vit biu thc chính quy theo

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 150/212

140 S dng Midnight Commander

Bng 6.4: Các phím chc năngPhím F# Hành đng thc hin

<F1> Gi tr giúp tùy thuc vào tình hung

<F2> Gi thc đơn do ngưi dùng to ra<F3> Xem tp tin đt dưi dòng chiu sáng ca bng hin thi<F4> Gi trình son tho trong đ sa tp tin đt dưi dòng chiu

sáng ca bng hin thi<F5> Sao chép tp tin hay nhóm tp tin đã đưc đánh du t thư

mc ca bng hin thi sang thư mc ca bng còn li. Khisao chép mt tp tin thì còn có th đi tên ca tp tin này 3.Đng thi trong hp thoi hin ra còn có th ch ra tên ca thưmc mun sao chép các tp tin đn (đ khi cn có th sao chépđn thư mc khác vi thư mc hin ra trên bng th hai).

<F6> Di chuyn tp tin hay nhóm tp tin đã đưc đánh du t thưmc ca bng hin thi sang thư mc ca bng còn li. Cũngging như khi sao chép, có th thay đi tên ca tp tin hay thưmc di chuyn đn.

<F7> To thư mc con trong thư mc hin th trên bng hin thi<F8> Xóa tp tin (thư mc con) hay nhóm các tp tin đã đánh du<F9> Gi trình đơn chính (hin th phía trên các bng)

<F10> Thoát khi chương trình

các quy lut như trong shell (xem chương 5. Còn nu tt tùy chn này, thì s

đánh du tp tin đưc thc hin theo quy lut ca các biu thc chính quy thôngthưng (hãy xem hưng dn man ed).Nu biu thc bt đu hoc kt thúc bng du gch chéo (/), thì s đánh du

các thư mc ch không phi tp tin.Thao tác “B chn” (phím tt là phím du tr <–> hoc gch chéo ngưc —

<\>) là thao tác ngưc li đi vi thao tác chn nhóm tp tin và s dng cùngcác quy lut vit mu như khi chn. Thao tác này dùng đ b đánh du khinhóm tp tin đã chn. Còn thao tác “Chn ngưc li” (phím <*>) dùng đ b chnnhng tp tin đang chn, đng thi chn nhng tp tin còn li ca thư mc hinthi.

Nu thư mc hin thi có nhiu tp tin (do đó không thy ht trên bng), thìtrưc khi đánh du tp tin cn tìm đn tp tin đó. Trong nhng trưng hp đócác t hp phím <Ctrl>+<S> và <Alt>+<S> s có ích. Sau khi nhn mt trongnhng t hp phím này thì mc s chy ch đ tìm kim tên tp tin trong thưmc hin thi theo nhng ký t đu tiên ca tên. Trong ch đ này nhng ký tnhp vào s không hin th dòng lnh mà hin th dòng tìm kim. Nu ch đHin trng thái mini (Show mini-status) đưc bt, thì dòng tìm kim này shin th trên ch ca dòng trng thái mini. Khi này trong quá trình nhp ký t,dòng chiu sáng s di chuyn ti tp tin tip theo có tên bt đu bng nhng kýt đã nhp vào. Có th dùng các phím <Backspace> hoc <Del> đ sa li. Nu

nhn <Ctrl>+<S> thêm mt ln na, thì s tìm kim tp tin tương ng tip theo.Cn chú ý là nu trong thư mc hin thi không có tp tin vi tên tương ng, thìnhng ký t nhp vào s không hin th trên dòng trng thái mini, tc là bn s

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 151/212

6.7 Mu tp tin khi sao chép hoc đi tên 141

không th tìm thy tp tin mun tìm.Sau khi chn và đánh du tp tin đ làm vic ch cn nhn mt trong các

phím chc năng đ thc hin thao tác cn thit vi tp tin, ví d, sao chép, dichuyn hay xóa. So vi dòng lnh thì các thao tác xem và son tho tp tin trong

Midnight Commander thun tin hơn, do trong Midnight Commander có tíchhp sn các chương trình cho nhng vic này. Nhưng trong phn này chúng ta skhông xem đn trình son tho có sn, mà đ dành đn chương nói v làm vicvi các tp tin văn bn.

Như đã nói t trưc, không nht thit phi s dng các phím chc năng đgi các câu lnh tương ng vi chúng. Bt kỳ câu lnh nào trong s này cũng cóth thc hin qua trình đơn Tp tin (File). Ngoài các câu lnh gn vi các phímchc năng, trình đơn Tp tin còn cha các câu lnh sau (trong ngoc là các phímtt tương ng).

chmod (<Ctrl>+<X>,<C>). Cho phép thay đi quyn truy cp đn (các) tptin đưc chn.

• chown (<Ctrl>+<X>,<O>). Thay đi ch s hu bng câu lnh chown.

• chown nâng cao. Cho phép thay đi quyn truy cp và s hu tp tin.

• Liên kt cng (<Ctrl>+<X>,<L>). To liên kt cng đn tp tin hin thi.

• Liên kt mm (<Ctrl>+<X>,<S>). To liên kt mm đn tp tin hin thi.Chương trình Midnight Commander cho bit liên kt mm bng ký hiu“@” đng trưc tên ca liên kt đó (tr liên kt đn thư mc con đưc đánh

du bi du sóng “∼”). Nu trên màn hình có đưa ra dòng trng thái mini(dùng tùy chn Hin trng thái mini), thì trên dòng này s hin lên tênca tp tin mà liên kt ch đn.

• cd nhanh (<Alt>+<C>). Hãy s dng câu lnh này nu bit đưng dn đyđ đn thư mc bn cn (và mun chuyn thành thư mc hin thi).

• Xem kt qu lnh (<Alt>+<!>). Khi chy câu lnh này trên màn hình shin ra dòng cho phép nhp bt kỳ câu lnh nào cùng vi tham s canó (theo mc đnh tham s s là tp tin đang đưc chiu sáng). Kt quthc hin lnh s hin ra trên màn hình trong xem có sn ca MidnightCommander.

Như bn đã thy, trình đơn Tp tin (File) có cha nhng câu lnh thưngdùng nht, cn thit cho ngưi dùng trong nhng thao tác cơ bn vi tp tin cathư mc hin thi. Tt nhiên là nhng thao tác thưng dùng đưc gn vi cácphím chc năng. Do đó, chúng ta s xem xét li các câu lnh này đ hiu rõ hơnv chúng. Đu tiên là câu lnh sao chép và đi tên.

6.7 Mu tp tin khi sao chép hoc đi tên

Khi thc hin các thao tác sao chép và di chuyn (hay đi tên) tp tin ngưi dùngcó kh năng thay đi tên ca các tp tin đang sao chép hay di chuyn. Đ thc

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 152/212

142 S dng Midnight Commander

hin vic này ngưi dùng cn đưa ra mu cho tên ca các tp tin gc (gi là mugc) và mu cho tên ca các tp tin s đưc to (tp tin đích đn, gi là muđích). Thông thưng mu tên th hai đó là mt vài ký t thay th (wildcards) cui dùng xác đnh ch đn ca các tp tin to ra. Vic đưa ra mu đưc thc

hin trên dòng nhp vào hin th trong ca s m ra khi chy mt trong cáclnh sao chép hay di chuyn (hình 6.8).

Hình 6.8: Hp thoi đi tên tp tin

Tt c các tp tin tho mãn mu gc s đưc đi tên (sao chép hoc di chuynvi tên mi) tương ng vi mu đích. Nu có các tp tin đã đưc đánh du, thì sch sao chép (di chuyn) nhng tp tin đưc đánh du và tương ng vi mu gc.

Còn mt vài tuỳ chn có nh hưng đn thc hin thao tác sao chép và dichuyn tp tin mà có th thit lp cùng ngay ca s đ đưa ra các mu tên tptin, hoc có th thit lp qua câu lnh ca trình đơn Cu hình | Cu hình....

Tùy chn Đi theo liên kt (Follow links) xác đnh xem khi sao chép liên ktcng hay mm vào thư mc đích đn (hoc các thư mc con ca thư mc này) sto các liên kt đó, hay sao chép tp tin (và thư mc con) mà nhng liên kt nàych đn.

Tùy chn Vào thư mc con, nu có (Dive into subdirs) xác đnh thao tác slàm nu trong thư mc đích đn đã có thư mc có cùng tên vi tên tp tin (hocthư mc) đang sao chép (ngun). Theo mc đnh tùy chn này tt và tp tin (thư

mc) ngun s đưc sao chép vào thư mc đích đn. Nu tùy chn này đưc dùngthì s to ra trong thư mc đích đn mt thư mc con có cùng tên và các tp tin(thư mc) s đưc sao chép vào thư mc mi này.

Chúng ta s xem xét mt ví d đ hiu hơn tình hung này. Bn munsao chép ni dung ca thư mc one vào thư mc /two/one đã có t trưc.Thông thưng (khi tùy chn b tt) mc s ch sao chép tt c các tp tin t onevào /two/one. Nu tùy chn bt, thì tt c các tp tin s đưc sao chép vào/two/one/one.

Tùy chn Ghi nh thuc tính (Preserve attributes) xác đnh xem khi saochép hoc di chuyn có gi li hay không các thuc tính ca tp tin ban đu, bao

gm: quyn truy cp, các đánh du thi gian (truy cp và sa đi), và nu ngưidùng là root thì còn c thuc tính UID và GID. Nu tùy chn không đưc dùngthì các thuc tính s đưc đt theo giá tr umask hin thi.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 153/212

6.8 Thông báo khi sao chép và di chuyn tp tin 143

 nh hưng đn quá trình sao chép và di chuyn tp tin còn có tùy chn Mudng shell trong trình đơn Cu hình / Cu hình.... Khì tùy chn này bt, thìngưi dùng có th s dng các ký t thay th (wildcards) ‘*’ và ‘?’ trong mungun. Chúng s đưc dùng tương t như trong shell. Trong mu đích ch cho

phép s dng ‘*’ và ‘\<ch s>’. Ký t ‘*’ đu tiên trong mu đích tương ng vinhóm ký t thay th đu tiên trong mu ngun, ký t ‘*’ th hai tương ng vinhóm th hai v.v. . . Tương t, ký t thay th ‘\1’ tương ng nhóm ký t thay thđu tiên trong mu ngun, ký t ‘\2’ – nhóm th hai v.v. . . Ký t ‘\0’ tương ngvi toàn b tên ca tp tin ngun. Chúng ta xem xét mt vài ví d đ hiu rõ hơn.

 Ví d 1. Nu mu ngun là “*.tar.gz”, còn mu đích – “/two/*.tgz”, và tên catp tin đang sao chép là “foo.tar.gz”, thì tp tin thu đưc s có tên “foo.tgz” vànm trong thư mc “/two”.

 Ví d 2. Ly ví d bn cn đi ch tên và phn m rng tp tin, đ “file.c” trthành “c.file”. Mu ngun s cn có dng ‘*.*’, còn mu đích s là “\2.\1”.

Khi tùy chn Mu dng shell (“Use shell patterns”) bt, thì mc s khôngthc hin vic nhóm t đng. Đ ch ra nhóm các ký t trong mu ngun stương ng vi các ký t thay th trong mu đích, bn cn s dng các du ngoc‘\( . . . \)’. Cách này mm do hơn, nhưng cn cn thn hơn và nhiu công sc khinhp vào. Chúng ta li xem xét tip hai ví d.

 Ví d 3. Nu mu ngun có dng “ˆ\(.*\)\.tar\.gz$”, sao chép đưc thchin vào “/two/*.tgz” và đang sao chép tp tin “foo.tar.gz”, thì kt qu s là“/two/foo.tgz”.

 Ví d 4. Ly ví d bn cn đi ch tên và phn m rng tp tin, đ “file.c” trthành “c.file”. Mu ngun – ‘ˆ\(.*\)\.\(.*\)$’, còn mu đích s là “\2.\1”.

Khi thc hin các thao tác sao chép và di chuyn ngưi dùng còn có th chuynkiu ch hoa/thưng trong tên tp tin. Nu s dng ‘\u’ hoc ‘\l’ trong mu đích,thì ký t tip theo ca tên s đưc chuyn tương ng thành ch hoa hoc chthưng. Nu s dng trong mu đích ‘\U’ hoc ‘\L’, thì s chuyn đi tt c cácký t phía sau đn ln gp ‘\U’ hoc ‘\L’ tip theo hoc đn cui tên tp tin.

S dng ‘\u’ và ‘\l’ cung cp các kh năng rng hơn so vi ‘\U’ và ‘\L’. Ví dtrong mu ngun có ‘*’ (tùy chn Mu dng shell bt) hoc ‘ˆ\(.*\)$’ (tùy chnMu dng shell tt), còn mu đích có ‘\L\u*’, tên tp tin s đưc chuyn đi saocho các ch cái đu tiên s là ch hoa, còn li là ch thưng.

Ký t ‘\’ trong các mu dùng đ hu b tác dng ca các ký t đc bit. Ví d,

‘\ \’ có nghĩa là dùng ký t gch chéo thông thưng và ‘\*’ có nghĩa là s dngmt ký t du sao thông thưng (asterisk).

6.8 Thông báo khi sao chép và di chuyn tp tin

Khi ngưi dùng thc hin các thao tác sao chép, di chuyn hay xóa tp tin, Mid-night Commander hin th trên màn hình hp thoi, trong đó cho bit trên(nhng) tp tin nào s thc hin thao tác và quá trình thc hin din ra nhưth nào. Đ hin th quá trình làm vic, trên màn hình hin ra t mt đn ba

thanh biu đ (progress bars). Thanh th nht (file bar) cho bit đã thc hin (víd sao chép) đưc bao nhiêu phn ca tp tin hin thi. Thanh th hai (countbar) cho bit đn thi đim hin thi đã thc hin đưc bao nhiêu phn, tính theo

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 154/212

144 S dng Midnight Commander

tng cái, ca nhng tp tin đã đánh du. Thanh th ba (bytes bar) cho bit phntrăm dung lưng tính theo byte đã làm xong. Nu tt đi tuỳ chn Thao tác vithông tin dài dòng (xem Cu hình / Cu hình...), thì hai thanh biu đ cuis không đưc hin th.

phn dưi ca hp thoi này có hai nút. Nhn nút B qua s dn đn vicb qua thao tác vi tp tin này và tip tc thao tác tp tin sau nu có. Nhn nútDng s kt thúc thao tác, tt c nhng tp tin còn li s b b qua.

Trong quá trình thc hin các thao tác vi tp tin ngưi dùng có th nhìnthy 3 dng ca s na.

1. Ca s li đưa ra thông tin v li và đ ngh ba cách gii quyt. Thôngthưng ngưi dùng chn B qua đ không thc hin thao tác vi tp tinđang có vn đ, hoc Dng đ không thc hin hoàn toàn thao tác đưa ra.Phương án th ba là Th li. Chn phương án này nu ngưi dùng đã sa

đưc li (ví d, bng trình lnh terminal khác).

2. Ca s hi li xut hin khi ngưi dùng đang thc hin thao tác dn đnvic ghi chèn lên tp tin đã có, tc là trong thư mc sao chép hay di chuynđn đã có tp tin cùng tên. Trong ca s hi li s hin ra thi gian to ravà kích thưc ca tp tin ngun (đang đưc sao chép hay di chuyn) và catp tin đích (s b hu b nu ghi chèn).

Hình 6.9: Ca s hi li

Dưi đây đưa ra hai câu hi li 6.9. Câu hi th nht “Ghi đè lên tp tinnày” có ba cách tr li:

• Đng ý (nút Có)

• T chi, không ghi chèn (nút Không)

• Ghi thêm ni dung ca tp tin đang sao chép vào cui tp tin đã có(nút Thêm vào cui)

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 155/212

6.9 Dòng lnh ca h v 145

Còn đ tr li cho câu hi th hai “Ghi đè lên mi tp tin đích?” chúng ta có4 cách. Cách gii quyt đưc dùng s làm vic vi tt c các tp tin đã chn,đo đó ca s hi li s không hin ra mi ln có tp tin trùng tên:

• Tt c – ghi chèn tt c các tp tin đã chn, không hi li.• Cp nht – ch ghi chèn (đng đn) nhng tp tin đưc to ra trưc

tp tin ngun.• Không – không ghi chèn các tp tin (nu không có tp tin đích, thì s

thc hin sao chép).• Nu kích thưc khác nhau – ch ghi chèn nu kích thưc các tp tin

khác nhau.

Ngưi dùng cũng có th dng thc hin thao tác nu nhn nút Dng cuica s hi li. La chn nút mun nhn bng các phím mũi tên hoc phím<Tab>.

3. Ca s yêu cu xóa toàn b ( 6.10) xut hin khi ngưi dùng đang thchin thao tác xóa mt thư mc không rng. Nhn nút Có đ xóa thư mccùng vi tt c các tp tin ca nó, Không đ không xóa thư mc này, chnTt c nu bn đã đánh du nhiu thư mc và tin tưng là mình đúng,Không đ b qua, không xóa nhng thư mc không rng trong s đã chn,Dng có nghĩa là không thc hin thao tác xóa na. Ch chn Có hoc Ttc khi bn thc s tin tưng là mình mun xóa thư mc cùng vi toàn bcác thư mc con ca nó.

Hình 6.10: Ca s yêu cu

Nu đã đánh du nhóm các tp tin đ thao tác, thì sau khi thc hin s bđánh du khi nhng tp tin đã thao tác thành công. Nhng tp tin b b qua,tc là không thao tác, s vn đưc đánh du như cũ.

6.9 Dòng lnh ca h v

Như đã nói khi mô t v ngoài ca màn hình Midnight Commander, phn dưi

ca màn hình luôn luôn có dòng lnh ca h v.Trong thi gian làm vic vi Midnight Commander, đ có th chy mt câulnh nào đó ca h điu hành, ngưi dùng cn gõ vào dòng lnh tên ca chương

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 156/212

146 S dng Midnight Commander

trình tương ng hoc chn chương trình đó trong bng hin thi (đưa dòng chiusáng lên tên tp tin chương trình), sau đó gõ phím <Enter>. Nu ngưi dùngnhn phím <Enter> khi dòng chiu sáng nm trên tên tp tin không phi làchương trình, thì Midnight Commander s so sánh phn m rng ca tp tin

này vi phn m rng có trong “tp tin các phn m rng”  ~/mc.ext. Nu trongtp tin mc.ext có mt phn nh ch ra thao tác làm vic vi nhng tp tin cóphn m rng như tp tin đã chn, thì s thc hin nhng câu lnh đt trongphn nh này. Trưc khi chy các lnh có thc hin nhng s thay th macro đơngin.

Thông thưng vic nhp các câu lnh đòi hi phi gõ rt nhiu các ký t, đcbit trong trưng hp phi ch ra các tham s ca câu lnh, trong s đó có đưngdn đy đ cng vi tên ca tp tin cn làm vic. Đ giúp nhp câu lnh d dànghơn trong Midnight Commander có mt vài t hp phím cho phép gim s ln gõbàn phím trong thi gian nhp và sa đi câu lnh trên dòng lnh.

• <Alt>+<Enter>. Sao chép tên ca tp tin hay thư mc đang đưc chiu sángvào dòng lnh.

• <Ctrl>+<Enter>. Cũng như <Alt>+<Enter>.

• <Alt>+<Tab>. Thc hin thao tác t đng đin thêm4 tên tp tin, tên câulnh, tên ngưi dùng hay tên máy (tùy theo nhng gì ngưi dùng đã gõ vàphn nào ca câu lnh đang đưc nhp vào), tc là Midnight Commanders đoán nhng ký t mà ngưi dùng còn chưa nhp vào da trên danh sáchtp tin ca thư mc hin thi, danh sách câu lnh, v.v. . . Tuy nhiên nu bn

làm vic trong giao din đ ho, ví d trong môi trưng KDE thì rt có ths không dùng đưc t hp phím này, do môi trưng làm vic đã dùng nócho thao tác khác (trong trưng hp KDE thì đó là chuyn gia các ca s).Tt nhiên bn có th thay đi cu hình ca môi trưng làm vic, nhưng đóđã là mt câu chuyn khác.

• <Ctrl>+<X>, <T>. Sao chép vào dòng lnh tên ca các tp tin đã đưc đánhdu trong bng hin thi, hoc tên ca tp tin đang đưc chiu sáng nukhông có tp tin nào đưc đánh du.

• <Ctrl>+<X>, <Ctrl>+<T>. Sao chép vào dòng lnh tên ca các tp tin đưc

đánh du trong bng không phi hin thi.• <Ctrl>+<X>,<P>. Sao chép vào dòng lnh tên ca thư mc hin thi, tc là

tên ca thư mc đang đưc hin th trên bng hin thi.

• <Ctrl>+<X>, <Ctrl>+<P>. Sao chép vào dòng lnh tên ca thư mc đanghin th trên bng không phi hin thi.

• <Ctrl>+<Q>. Chèn nhng ký t đưc chương trình Midnight Commanderbiên dch theo mt cách nào đó (ví d ký t ‘+’).

• <Alt>+<P>. Quay ngưc li mt câu lnh theo danh sách nhng lnh đã

chy (lch s lnh).4autocompletion

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 157/212

6.10 Trình đơn Câu lnh 147

• <Alt>+<N>. Đi ti câu lnh tip theo trong danh sách lch s lnh.

• <Alt>+<H>. Hin th lch s ca dòng nhp vào hin thi, nu đó là dònglnh thì hin th lch s lnh.

 Dòng nhp vào không ch là dòng lnh ca h v shell mà còn là nhng dòngnhp vào ca các hp thoi ca các chương trình con khác nhau. Ví d dòng nhpvào đa ch IP ca máy ch FTP mà bn mun kt ni ti như trong hình 6.11(câu lnh Kt ni FTP... ca trình đơn Bng phi hoc Bng trái). Trong btkỳ trưng hp nào, khi trên màn hình xut hin dòng nhp vào, thì ngưi dùngcó th s dng nhng t hp phím điu khin lit kê trong bng 6.5.

Hình 6.11: Dòng nhp vào đa ch IP ca máy ch FTP

6.10 Trình đơn Câu lnh

Trình đơn Câu lnh cho phép thc hin thêm mt s thao tác điu khin h

thng tp tin, đng thi thc hin nhng câu lnh thay đi dng ca các bngMidnight Commander cũng như nhng thông tin hin th trên chúng.

Khi chy câu lnh Cây thư mc ca trình đơn này thì s hin ra ca s chothy cu trúc thư mc ca h thng tp tin. Có th làm hin ra cây thư mc bnghai cách: qua câu lnh Cây thư mc ca trình đơn Câu lnh và qua câu lnhCây thư mc ca trình đơn Bng phi hoc bng trái.

Đ tránh mt thi gian to cây thư mc, Midnight Commander ch to mtphn nh cây này ch không to ht. Nu thư mc ngưi dùng mun xem khôngđưc hin th thì hãy chuyn ti thư mc m ca nó ri nhn <Ctrl>+<R> hoc<F2>. Nu thư mc không có cha các thư mc con thì s không có gì xy ra.

Trong trưng hp ngưc li thì s m ra mt nhánh con ca cây thư mc.Có hai ch đ hin th cây thư mc. Trong ch đ tĩnh (static) đ di chuyn tithư mc mun xem (tc là di chuyn dòng chiu sáng ti tên ca thư mc đó) chdùng các phím <↑> và <↓>. S hin th tt c các thư mc con mà chương trìnhđc đưc ti thi đim này. Trong ch đ đng (dynamic) các phím <↑> và <↓>đưc dùng đ chuyn ti thư mc bên cnh có cùng cp bc. Đ chuyn ti thưmc m s dng phím <←>, còn phím <→> dùng đ chuyn ti các thư mc conca thư mc hin thi, tc là chuyn ti mt cp bc thp hơn. Khi này ch hinth nhng thư mc nm trên (bao gm c thư mc m và cao hơn), cácthuw mcbên cnh có cùng cp bc và các thư mc con chính thc ca thư mc này, không

hin th các thư mc “cháu”, “cht”. Dng ca cây thư mc t đng thay đi saumi ln di chuyn qua cây này.Đ điu khin xem cây thư mc có th s dng nhng t hp phím sau:

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 158/212

148 S dng Midnight Commander

Bng 6.5: Các lnh điu khin dòng nhp vàoT hp phím Hành đng thc hin<Ctrl>+<A> Di chuyn con tr lên đu dòng.

<Ctrl>+<E> Di chuyn con tr ti cui dòng.<Ctrl>+<B> (<←>) Di chuyn con tr sang trái mt ký t.<Ctrl>+<F> (<→>) Di chuyn con tr sang phi mt ký t.<Alt>+<F> Di chuyn con tr sang phi mt t.<Alt>+<B> Di chuyn con tr sang trái mt t.<Ctrl>+<H> (<Backspace>) Xóa ký t nm bên trái con tr.<Ctrl>+<D> (<Delete>) Xóa ký t nm ti ch con tr.<Ctrl>+<@> Đánh du bt đu phn văn bn mun ct (ghi vào b

đm).<Ctrl>+<W> Sao chép văn bn nm gia con tr và đánh du vào

b đm đng thi xóa đi văn bn đó khi dòng nhp

vào.<Alt>+<W> Sao chép văn bn nm gia con tr và đánh du vào

b đm mà không xóa văn bn đó khi dòng nhp vào.<Ctrl>+<Y> Dán ni dung ca b đm vào dòng nhp ti v trí nm

trưc (bên trái) con tr.<Ctrl>+<K> Xóa bn bn t v trí con tr ti cui dòng.<Alt>+<P> và <Alt>+<N> Nhng t hp phím này dùng đ di chuyn trong lch

s lnh. <Alt>+<P> di chuyn ti nhng câu lnh nmtrưc, còn <Alt>+<N> – ti nhng câu lnh nm sau.

<Ctrl>+<Alt>+<H>(<Alt>+<Backspace>)

Có th dùng mt trong hai t hp phím này đ xóa tnm trưc (bên trái) con tr. T đưc coi là mt cmký t nm gia hai khong trng.

<Alt>+<Tab> Thc hin thao tác t đng đin thêm (autocomple-tion) tên tp tin, tên câu lnh, tên ngưi dùng hay tênmáy.

• Nhng phím dùng đ di chuyn lit kê trong bng 6.1

• <Enter>. Nhn phím này trong ca s xem cây thư mc đ thoát khi chđ xem và hin th danh sách tp tin ca thư mc đã chn trong bng hinthi. Khi hin th cây thư mc trên mt bng thì nhn phím <Enter> shin th thư mc tương ng lên bng th hai, còn trên bng hin thi s làcây thư mc.

• <Ctrl>+<R> hoc <F2>. Đc li ni dung ca thư mc (cp nht, refresh).S dng trong trưng hp khi cây thư mc đưc hin th không tương ngvi cu trúc tht s ca nó: mt s thư mc con không đưc hin th hochin th c nhng thư mc con đã b xóa.

• <F3>. Xóa thư mc hin thi ra khi cây thư mc. Câu lnh này ch s dngđ xóa nhng nhánh cây hin th không đúng. Nu ngưi dùng xóa thư mc

có trên đĩa thì s hin ra mt thông báo li. Vì th khi xem cây thư mc thìdòng dưi cùng (cho bit chc năng ca các phím F) cho bit phím <F3>có chc năng Quên.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 159/212

6.10 Trình đơn Câu lnh 149

• <F4> (Static/Dynamic). Chuyn đi gia hai ch đ di chuyn trong cây thưmc tĩnh (dùng theo mc đnh) và đng.

• <F5>. Sao chép thư mc con (cn ch ra thư mc mun sao chép ti trong

dòng nhp vào hin ra).• <F6>. Di chuyn thư mc.

• <F7>. To thư mc con trong thư mc hin thi.

• <F8>. Xóa thư mc đt dưi dòng chiu sáng ra khi h thng tp tin.

• <Ctrl>+<S> hoc <Alt>+<S>. Tìm thư mc tip theo tương ng vi muđưa ra. Nu không có thư mc đó, thì s chuyn dòng chiu sáng xungdưi mt dòng.

<Ctrl>+<H> hoc <Backspace>. Xóa ký t cui cùng trong dòng (mu) tìmkim.

• <Bt kỳ ký t nào khác>. Thêm ký t này vào mu tìm kim và di chuyndòng chiu sáng đn tên ca thư mc tip theo tho mãn mu này. Trongch đ xem cây thư mc thì đu tiên cn chy ch đ tìm kim bng t hp<Ctrl>+<S>. Mu tìm kim s đưc hin th trên dòng trng thái mini (nucó).

Hành đng sau ch có th thc hin trong ca s đang hin th cây thư mc:<F1> (Help) – Gi tr giúp và hin th phn tr giúp v ca s cây thư mc.

Có th s dng chut trong ca s xem cây thư mc. Nhn đúp chut có tácdng như khi nhn phím <Enter>.Câu lnh Tìm tp tin (phím nóng <Meta>+<?> hoc <Esc>,<?>) ca trình

đơn Câu lnh cho phép ngưi dùng tìm trên đĩa tp tin có tên đưa ra. Sau khichn câu lnh này s hin ra mt hp thoi hi thư mc đ bt đu tìm kim,tên tp tin mun tìm (xem hình 6.12). Ngưi dùng có th chn thư mc bt đutìm kim trong cây thư mc hin ra khi nhn nút Cây thư mc ca hp thoi.Trong ô Ni dung (Contents) có th đưa ra các biu thc chính quy theo các quylut ca lnh egrep. Có nghĩa là đng trưc nhng ký t có ý nghĩa đc bitđi vi egrep cn đt ký t “\”. Ví d, nu mun tìm dòng “strcmp (”, thì ngưi

dùng cn nhp vào ô Ni dung dòng “strcmp \”. Đ bt đu tìm kim, nhnvào nút Đng ý. Trong thi gian tìm kim có th tm dng bng nút Hoãn vàtip tc bng nút Tip tc (hình 6.13).

Có th xem danh sách nhng tp tin tìm thy bng các phím <↑> và <↓>.Nút Chuyn thư mc dùng đ chuyn ti thư mc có cha tp tin đang đưcchiu sáng. Nút Lp li dùng đ nhp vào các tham s cho tìm kim mi. NútThoát dùng đ thoát khi ch đ tìm kim. Nhn nút Bng s hin th kt qutìm kim lên bng hin thi đ ngưi dùng có th thc hin các thao tác khácvi nhng tp tin đã chn (xem, sao chép, di chuyn, xóa, v.v. . . ). Sau khi đưa rabng có th nhn <Ctrl>+<R> đ tr li danh sách tp tin thông thưng.

Ngoài ra, còn có kh năng đưa ra danh sách nhng thư mc mà câu lnhTìm tp tin s b qua trong khi tìm kim (ví d, nu ngưi dùng bit là tptin đang tìm không có trên CD hay không mun tìm kim trong nhng thư mc

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 160/212

150 S dng Midnight Commander

Hình 6.12: Bt đu tìm kim

Hình 6.13: Đang tìm kim

kt ni qua NFS qua đưng truyn rt chm). Cn phi ch ra nhng thư mcmun b qua này bng bin find_ignore_dirs trong phn Misc ca tp tin~/.mc/ini. Tên thư mc cách nhau bi du hai chm như sau:

[Misc]find_ignore_dirs=/cdrom:/nfs/wuarchive:/afs

Bn có th s dng vic đưa kt qu lnh lên trên bng (đc thêm Bngngoài dưi) đ thc hin nhng hành đng tip ni nhau phc tp hơn, cònTìm kim tp tin ch cho phép thc hin nhng yêu cu đơn gin.

Câu lnh Đi ch hai bng (<Ctrl>+<U>) đi ch ni dung ca bng tráivà bng phi. Câu lnh Bt/tt bng (<Ctrl>+<O>) n đi hai bng ca mc vàhin th kt qu làm vic ca các lnh shell. Đ m li các bng mc cũng dùnglnh (phím nóng) này. Lnh này làm vic trên xterm và dưi console ca Linux.

Câu lnh So sánh thư mc (<Ctrl-X>,<D>) so sánh ni dung ca các thư mcđang đưc hin th trên bng trái và bng phi. Có ba phương pháp so sánh. Nudùng phương pháp nhanh thì ch so sánh kích thưc và thi gian to các tp tin

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 161/212

6.10 Trình đơn Câu lnh 151

có cùng tên. Kt qu là trong c hai thư mc s chiu sáng nhng tp tin khôngcó trong thư mc còn li, hoc chiu sáng nhng tp tin là phiên bn mi hơn.Sau đó ngưi dùng có th s dng câu lnh sao chép (<F5>) đ làm cho ni dungca hai thư mc ging nhau. Phương pháp theo byte s so sánh ni dung ca các

tp tin (theo tng byte). Phương pháp này không dùng đưc nu máy không htr gi h thng (system call) mmap(2). Khi so sánh theo kích thưc thì ch kimtra kích thưc ca các tp tin tương ng và không kim tra ngày to ra.

Câu lnh Bng ngoài (hay đúng hơn phi gi là “Đưa kt qu làm vic calnh lên trên bng”) cho phép ngưi dùng thc hin nhng chương trình ngoài,ri đưa kt qu ca lnh này thành ni dung ca bng hin thi (ví d đinhình là đưa kt qu ca lnh find). Ví d, nu bn mun thc hin mt hànhđng nào đó (xóa, sao chép, di chuyn,...) vi tt c các liên kt mm ca thưmc hin thi, thì bn có th s dng câu lnh Bng ngoài đ chy câu lnhfind . -type l -print như trong hình 6.14.

Hình 6.14: Tìm kim tt c các liên kt mm

Sau khi thc hin câu lnh này, trên bng hin thi s không phi là ni dungca thư mc tương ng mà ch có các liên kt mm nm trong thư mc đã ch ra.Nu mun ngưi dùng có th lưu nhng câu lnh bng ngoài thưng dùng bngnhng tên riêng có ý nghĩa đ có th gi nhanh nhng câu lnh này theo tên cachúng. Đ thc hin vic này cn nhp câu lnh vào dòng nhp vào (dòng “Câulnh”) ri nhn nút Thêm mi. Sau đó bn cn nhp vào tên ca lnh đó. Lnsau bn ch cn chn tên tương ng trong danh sách mà không cn phi nhpli câu lnh t đu5.

Câu lnh Lch s câu lnh hin ra ca s vi danh sách nhng lnh đã thchin trưc đây. Có th sao chép lnh đang đưc chiu sáng (di chuyn dòng chiu

sáng bng các phím <↑> và <↓>) vào dòng lnh ca h v bng phím <Enter>.5Tt nhiên bn có th dùng lch s câu lnh (xem trên hoc ngay dưi)

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 162/212

152 S dng Midnight Commander

Còn có th truy cp vào danh sách lch s câu lnh bng các phím <Alt>+<P>hoc <Alt>+<N>, tuy nhiên trong trưng hp này ngưi dùng s không thydanh sách các câu lnh. Thay vào đó trên dòng lnh s hin th mt trong cáclnh ca danh sách và phím <Alt>+<P> s chuyn nó thành lnh nm trên, còn

<Alt>+<N> s chuyn thành lnh nm dưi trong danh sách.Câu lnh Thư mc thưng dùng (<Ctrl>+<\>) cho phép to danh sáchnhng thư mc thưng đưc dùng và cho phép chuyn nhanh đn nhng thưmc trong danh sách này (hình 6.15). Đ thc hin vic này, mc to ra danh sáchcác đánh du (tên d nh) cho các thư mc thưng dùng này. Có th s dng danhsách này đ chuyn nhanh đn thư mc cn thit. Cũng trong hp thoi thư mcthưng dùng bn có th thêm đánh du mi vào danh sách hoc xóa đánh du đãcó. Đ thêm đánh du mi còn có th s dng t hp phím (<Ctrl>+<X>, <H>),khi đó s thêm thư mc hin thi vào danh sách thư mc thưng dùng. Chươngtrình s hin ra yêu cu nhp tên đánh du cho thư mc này.

Hình 6.15: Hp thoi danh sách thư mc thưng dùng

Câu lnh Công vic nn sau cho phép ngưi dùng điu khin nhng côngvic đang làm vic ch đ nn đã chy t Midnight Commander (ví d thao tácsao chép và di chuyn tp tin). S dng câu lnh này hoc phím nóng <Ctrl>+<X>,<J> bn có th dng, phc hi (tip tc chy) hoc dit bt kỳ công vic nnsau này (xem hình 6.16).

Sau khi chn câu lnh Son tho tp tin phn m rng ngưi dùng có thsa đi tp tin mc.ext xác đnh dùng chương trình nào đ m các tp tin viphn m rng (phn cui ca tên sau du chm cui cùng) nào. Chương trìnhnày s đưc chy đ thao tác (xem, son tho hay thc hin) vi tp tin có phn

m rng tương ng khi chuyn dòng chiu sáng lên tên tp tin ri nhn <Enter>.Câu lnh Son tho tp tin trình đơn dùng đ sa trình đơn ca ngưidùng ~/.mc/menu (trình đơn hin ra sau khi nhn phím <F2>) hoc trình đơn

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 163/212

6.11 Cu hình Midnight Commander 153

Hình 6.16: Điu khin công vic nn sau

ca h thng, có th là /usr/share/mc/mc.menu. Tt nhiên trong trưng hpcui cùng bn cn có quyn ghi lên tp tin tương ng.

6.11 Cu hình Midnight Commander

Chương trình Midnight Commander có nhiu cu hình (tùy chn). Mi tùy chncó th đưc dùng hoc không. Vic dùng hay không dùng tùy chn đưc thc hinqua các ca s hi thoi ca trình đơn Cu hình. Tùy chn đưc dùng nu có

du “x” hoc du sao “*” (đt vào bng phím trng) trong ngoc vuông đngtrưc tên ca tùy chn. Bây gi chúng ta xem xét tng câu lnh ca trình đơnCu hình đ bit có th dùng hoc không dùng nhng tùy chn nào.

Câu lnh đu tiên là Cu hình. Khi chn câu lnh này s hin ra mt hpthoi như trong hình 6.17. Nhng tham s cu hình trong hp thoi này chiathành ba nhóm: “Cu hình bng”, “Tm ngng sau khi chy...” và “Cu hìnhkhác”.

Trong vùng “Cu hình bng”, ngưi dùng có th đưa ra giá tr ca các thams sau:

Hin th tp tin sao lưu. Theo mc đnh chương trình Midnight Com-mander không hin th nhng tp tin có tên kt thúc bng ‘∼’ (ging nhưtùy chn -B ca lnh ls).

• Hin th tp tin n. Theo mc đnh Midnight Commander hin th tt ccác tp tin, trong đó có nhng tp tin có tên bt đu bng đu chm (gingnhư ls-a).

• Nhãn di chuyn xung. Khi ngưi dùng đánh du tp tin (bng t hpphím <Ctrl>+<T> hoc <Insert>), thì theo mc đnh dòng chiu sáng têntp tin s di chuyn xung dưi mt dòng.

• Đy xung trình đơn. Nu tùy chn này đưc dùng, thì khi gi trình đơnchính bng phím <F9> s hin th ngay lp tc danh sách các câu lnh ca

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 164/212

154 S dng Midnight Commander

Hình 6.17: Cu hình Midnight Commander

trình đơn (Trình đơn đy xung). Trong trưng hp ngưc li, phím <F9>ch đưa ngưi dùng vào trình đơn chính và ngưi dùng phi t chn trìnhđơn tương ng bng các phím mũi tên và dùng phím <Enter> hoc ch cáiđu tiên ca trình đơn đ m (đy xung) trình đơn đó. Ví d, bn munm trình đơn Tp tin, thì đu tiên cn nhn phím <F9> ri dùng phím

mũi tên sang phi ri nhn phím <Enter>, hoc nhn phím <F9> ri nhnphím <T>.

• Trn ln tt c tp tin. Nu dùng tùy chn này, thì s hin th khôngphân bit tp tin và thư mc. Nu tùy chn không đưc dùng thì thư mc(và đưng dn đn thư mc) s đưc hin th đu danh sách, còn tên tptin – sau tên ca tt c các thư mc.

• Np nhanh thư mc. Theo mc đnh tùy chn này không đưc dùng. Nubn bt dùng tùy chn này, thì Midnight Commander s s dng cách (mo)sau đ hin th ni dung thư mc: ch đc li ni dung ca thư mc trong

trưng hp đã thay đi bn ghi inode ca thư mc, tc là nu trong thư mcđã to hoc xoá đi tp tin (thư mc) nào đó; nu ch thay đi bn ghi inodeca các tp tin ca thư mc này (đã thay đi kích thưc tp tin, quyn truycp hoc ch s hu v.v. . . ) thì s không cp nht li ni dung ca thư mcđó. Trong trưng hp đó (nu tùy chn này đưc dùng), thì bn cn phi tcp nht li danh sách tp tin bng t hp phím <Ctrl>+<R>.

 Vùng Tm ngng sau khi chy.... Sau khi thc hin các câu lnh MidnightCommander có th tm ngng mt chút đ ngưi dùng có th xem và nghiên cukt qu làm vic ca nhng lnh này. đây có ba tùy chn:

Không bao gi. Có nghĩa là ngưi dùng không mun xem kt qu làm vicca lnh. Trên các kênh giao tác Linux hoc khi dùng xterm ngưi dùngcòn có th xem kt qu này bng t hp phím <Ctrl>+<O>.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 165/212

6.11 Cu hình Midnight Commander 155

• Trên nhng terminal “ngu”. S tm ngng trên nhng terminal khôngcó kh năng hin th kt qu làm vic ca lnh thc hin cui cùng.

• Luôn luôn. Chương trình Midnight Commander luôn luôn tm ngng sau

khi thc hin bt kỳ lnh nào.Trong vùng Cu hình khác ngưi dùng có th đt ra các tham s sau:

• Thao tác vi thông báo dài dòng (Verbose operation). Tùy chn này xácđnh có hin th hay không các ca s ph khi thc hin các thao tác saochép, di chuyn và xóa. Nu bn đang dùng mt terminal chm thì khôngnên dùng tùy chn này. Tùy chn này cũng t đng không đưc dùng nutc đ làm vic ca terminal nh hơn 9600 bps.

• Tính tng kích thưc (Compute totals). Nu tùy chn này đưc dùng, thì

trưc khi thc hin các thao tác sao chép, di chuyn, xóa Midnight Com-mander s tính tng s tp tin và tng kích thưc ca chúng đng thi hinth quá trình thao tác vi nhng tp tin này dng các dòng biu đ (tuynhiên, tính năng này s làm chm quá trình mt chút). Tùy chn này khônglàm vic, nu không dùng tùy chn Thao tác vi thông báo dài dòng trên.

• Mu dng shell (Shell Patterns). Theo mc đnh các lnh chn (select) vàb chn (unselect) nhóm tp tin và hin th tp tin theo b lc (Filter) sdng các biu thc chính quy ging như trong h v shell. Đ có th đtđưc kt qu như trong shell, thì chương trình thc hin nhng bin đisau: thay th ‘*’ bng ‘.*’ (không hoc vài ký t); thay th ‘?’ bng ‘.’ (chínhxác mt ký t) và thay th ‘.’ bng mt du chm thông thưng (literal dot).Nu tùy chn này không đưc dùng, thì cn dùng biu thc chính quy theocác lut vit trong man 1 ed.

• T đng ghi nh cu hình. Nu dùng tùy chn này, thì khi thoát khichương trình Midnight Commander, giá tr ca các tham s thit lp sđưc lưu vào tp tin ~/.mc/ini.

• Trình đơn t đng. Nu dùng tùy chn này, thì trình đơn ca ngưi dùngs t đng hin th lên màn hình mi khi chy chương trình. Tính năng nàycó ích khi trên máy làm vic ngưi dùng có ít kinh nghim (ngưi thao tác)và ch thc hin nhng thao tác đơn gin.

• S dng son tho ni b. Nu dùng tùy chn này, thì đ son tho cáctp tin Midnight Commander s dùng trình son tho ca mình (mcedit).Nu không dùng tùy chn này thì Midnight Commander s gi trình sontho đưc ch ra trong bin môi trưng EDITOR. Nu không đt bin này thìs dùng vi.

• Trình xem ni b. Nu dùng tùy chn này, thì Midnight Commander s

s dng chương trình xem tp tin ca mình khi xem tp tin. Nu khôngdùng tùy chn này, thì s gi chương trình ch ra trong bin PAGER. Nukhông ch ra bin này thì s dùng lnh view.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 166/212

156 S dng Midnight Commander

• T đng hoàn thành: hin tt c. Trong quá trình nhp lnh MidnightCommander có th “t đng hoàn thành” câu lnh đó, tc là th đoán phncòn li ca câu lnh đang nhp, khi nhn phím <Alt>+<Tab>. Theo mcđnh khi nhn <Alt>+<Tab> th nht chương trình s tìm tt c nhng

phương án hoàn thành, và nu như có nhiu phương án thì chương trình sto ra tip bíp. Khi nhn t hp phím <Alt>+<Tab> ln th hai s hin thtt c các kh năng hoàn thành. Nu mun thy các phương án hoàn thànhngay sau ln nhn <Alt>+<Tab> đu tiên thì hãy bt dùng tùy chn này.

• Cái ch quay. Nu dùng tùy chn này, thì Midnight Commander hin th góc trên bên phi vch quay dùng làm ch th cho bit chương trình đangthc hin công vic (thao tác) nào đó.

• Di chuyn ging trong Lynx. Nu dùng tùy chn này, ngưi dùng có kh

năng dùng các phím <→> đ chuyn vào thư mc đang đưc chiu sáng và<←> đ chuyn lên thư mc m ca thư mc hin thi (vi điu kin làdòng lnh trng). Theo mc đnh tùy chn này không đưc dùng.

• cd theo liên kt. Dùng tùy chn này thì Midnight Commander s tuântheo chui các thư mc con lôgíc khi thay đi thư mc theo liên kt, gingnhư khi dùng lnh cd. Theo mc đnh bash cũng làm vic như vy. Nukhông dùng tùy chn này thì Midnight Commander s chuyn thư mctheo cu trúc tht s ca các thư mc. Tc là nu ngưi dùng vào thư mchin thi theo liên kt đn nó, thì lnh cd .. s đưa ngưi dùng vào thưmc m ca thư mc hin thi, ch không phi vào thư mc cha liên kt.

• Xóa mt cách an toàn. Dùng tùy chn này s ngăn chn đưc phn nàovic xóa tp tin mt cách vô tình. Nu dùng tùy chn, thì trong hp thoihi li vic xóa tp tin theo mc đnh nút đưc chn s chuyn t “Có” sang“Không”. Theo mc đnh tùy chn này không đưc dùng.

Câu lnh th hai là V ngoài, cho phép thay đi mt s tham s hin th cas chính ca chương trình Midnight Commander trên màn hình (xem hình 6.18).

Bn có th hin th hoc không hin th dòng trình đơn chính trên đu màn

hình, dòng lnh, dòng gi ý (nm trên dòng lnh), dòng giúp nh v công dngca các phím chc năng cui màn hình. Trên các kênh giao tác (console) Linuxhoc SCO còn có th đt s dòng dành đ hin th kt qu làm vic ca lnh.Ngoài ra còn có th ch ra tư th nm ca bng là nm ngang hay dc, và có ththay đi kích thưc ca nhng bng này.

Theo mc đnh tt c các thông tin đưc hin th bng mt màu, nhưng bn cóth thay đi đ quyn truy cp và dng tp tin có màu khác. Nu dùng phân bitmàu cho quyn truy cp, thì nhng ô perm và mode cho bit quyn truy cp cangưi dùng đã chy chương trình Midnight Commander s có màu xác đnh bngt khóa selected trong phn [Colors] ca tp tin khi đng ~/.mc/ini. Nu

dùng phân bit màu cho các dng tp tin, thì Midnight Commander s s dngcác màu khác nhau cho thư mc, các tp tin core (dump ca b nh), các tp tinthc hin v.v...Nu dùng tùy chn Hin trng thái mini, thì trong phn dưi

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 167/212

6.11 Cu hình Midnight Commander 157

Hình 6.18: Thay đi v ngoài ca Midnight Commander

ca mi bng s có mt dòng cho bit thông tin v tp tin đang đưc chiu sánghoc thư mc hin thi.

Trong hp thoi Bít hin th (hình 6.19), ngưi dùng ch ra đnh dng ter-minal s s dng đ x lý (nhp vào và hin th trên màn hình) thông tin dngcác byte, ví d, thông tin trong các tp tin.

Hình 6.19: Thay đi bit hin th ca Midnight Commander

Bit (bng mã) đưc chn s đưc hin th trong hp thoi này, trong trưnghp hình 6.19 thì bit đưc chn là 8 bit khác. Nhn vào nút La chn bêncnh s hin th danh sách các bng mã có. Dùng các phím mũi tên lên, xungđ chn bng mã thích hp sau đó nhn <Enter>. Dùng tùy chn Đu vào 8 bitđy đ ch có ý nghĩa trên các terminal có kh năng hin th tt c các ký t8bit (ví d các ký t ca ting Vit).

Bng câu lnh Xác nhn có th cu hình đ chn có hin th hay không hpthoi hi li ngưi dùng trưc khi thc hin các thao tác xóa, ghi chèn và chychương trình, cũng như trưc khi thoát khi chương trình mc. Không hin thnhng hp thoi này s gây ít nhiu nguy him đn h thng (hình 6.20).

Câu lnh Th phím (Learn keys) gi hp thoi, trong đó ngưi dùng có thth mt s phím (<F1> – <F20>, <Home>, <End>), vì nhng phím này khôngphi làm vic trên mi dng terminal. Trong hp thoi hin ra s xut hin mt

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 168/212

158 S dng Midnight Commander

Hình 6.20: Thit lp các hp thoi hi li ngưi dùng

bng vi tên ca các phím có th th. Bn có th di chuyn dòng chiu sáng quacác phím này bng <Tab> hoc các phím dùng trong trình son tho vi (<h> –

sang trái, <j> – xung dưi, <k> – lên trên, <l> – sang phi). Nu nhn vào cácphím mũi tên và sau đó bên cnh tên ca chúng xut hin du OK, thì cũng cóth s dng chúng đ điu khin dòng chiu sáng (hình 6.21).

Hình 6.21: Th và cu hình các phím

Đ th mt phím cn nhn tng phím trong bng. Nu nó làm vic bìnhthưng thì bên cnh s xut hin du OK. Sau khi xut hin du này thì phíms bt đu làm vic ch đ bình thưng. Ví d, ln nhn phím <F1> đu tiên slàm xut hin du OK (nu phím làm vic bình thưng), còn nhng ln nhn tiptheo s gi ca s tr giúp. Tương t đi vi các phím mũi tên. Phím <Tab> luônluôn làm vic. Nu có phím nào đó không làm vic, thì sau khi nhn lên phímđó không xut hin du OK. Trong trưng hp đó có th dùng phím khác thayth. Đ thay th cn chuyn dòng chiu sáng đn tên ca phím không làm vic(bng chut, các phím mũi tên hoc phím <Tab>) ri nhn <Enter> hoc phím

trng. Sau đó s hin ra mt hp thoi màu đ yêu cu ngưi dùng nhn phím sdùng thay cho phím không làm vic. Nu không mun thay th na thì hãy nhn<Esc> ri đi cho hp thoi màu đ bin mt (hoc nhn phím <Enter>). Khi

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 169/212

6.12 Kt ni ti máy xa 159

hoàn thành vic th nghim và cu hình tt c các phím, ngưi dùng có th chnlưu nhng cu hình này vào phn [terminal:TERM] ca tp tin ~/.mc/inica mình (trong đó TERM là tên gi ca terminal đang dùng) hoc không lưunhng thay đi này. Tt nhiên nu tt c các phím làm vic bình thưng thì

không cn phi lưu gì ht.Câu lnh FS o gi hp thoi cho phép ngưi dùng đt các giá tr ca mt stham s có liên quan đn s dng h thng tp tin o (hình 6.22).

Hình 6.22: Thit lp h thng tp tin o

Câu lnh Ghi nh cu hình lưu tt c nhng giá tr đã chn vào tp tin inica chương trình.

6.12 Kt ni ti máy xa

6.12.1 Kt ni FTP

Chương trình Midnight Commander s dng H thng tp tin FTP (ftpfs) đcho phép ngưi dùng điu khin các tp tin xa qua giao thc FTP. Đ s dng

đưc tính năng này bn có th dùng câu lnh Kt ni FTP ca trình đơn Bngtrái hoc Bng phi tương ng hoc dùng câu lnh cd đ chuyn ti thư mccó đưng dn dng như sau:

/#ftp:[!][user[:pass]@]machine[:port][remote-dir]

Các thành phn user, port và remote-dir là không bt buc. Nu ngưidùng đưa ra user, thì Midnight Commander s đăng nhp vào máy xa vi tênngưi dùng đó, nu không s dùng đăng nhp anonymous (đăng nhp chung)hoc dùng tên đăng nhp có trong tp tin ~/.netrc. Thành phn pass là mt

khu dùng đ kt ni, ch cn thit nu có thành phn user. Không nên đưathng mt khu vào đưng dn ti thư mc ca ftpfs, vì bt kỳ ai cũng có ththymtkhunàytrênmànhình,vàmtkhusđưclưudngvănbnthông

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 170/212

160 S dng Midnight Commander

thưng trong lch s các thư mc đã thăm. Chương trình Midnight Commanders t đng hi mt khu trong trưng hp không có thành phn pass và có tênngưi dùng (có user).

Đ s dng FTP proxy, hãy thêm mt du chm than (!) vào phía trưc tên

máy. Ví d:

/#ftp:192.168.10.128/linux/SuSE/#ftp:people.vnoss.org/public/wiki/#ftp:!people.vnoss.org/public/wiki/#ftp:[email protected]:67/public/wiki/#ftp:teppi:[email protected]/public/wiki

Hp thoi ca câu lnh Kt ni FTP có dng như trong hình 6.11. Trong ôtên máy ngưi dùng cn nhp tt c các thành phn ca đưng dn ti ftpfs như trên tr phn đu (/#ftp:). Ví d:

192.168.10.128/linux/SuSEpeople.vnoss.org/public/wiki!people.vnoss.org/public/[email protected]:67/public/wikiteppi:[email protected]/public/wiki

đây bn đc cũng có th s dng lch s (phím <Alt>+<H>).

Đ thay đi các tùy chn ca ftpfs chúng ta cn dùng câu lnh FS o catrình đơn Cu hình (xem hình 6.22).

6.12.2 Kt ni Shell

Ngoài FTP trong các phiên bn mi ca mình chương trình Midnight Comman-der còn h tr giao thc SSH và truyn ti tp tin qua H thng tp tin shell(file transfer over shell filesystem). H thng tp tin fish là h thng tp tin datrên mng máy tính, nó cho phép ngưi dùng điu khin tp tin trên các máy xa ging như khi chúng nm trên máy ca mình. Đ s dng tính năng này, trênmáy xa phi có chy máy ch fish hoc có mt h v shell tương thích vi bash.

Đ kt ni ti máy xa, bn có th dùng câu lnh Kt ni Shell ca trìnhđơn Bng trái hoc Bng phi tương ng hoc dùng câu lnh cd đ chuyn tithư mc đc bit có tên dng như sau:

/#sh:[user@]machine[:options]/[remote-dir]

Các thành phn user, options và remote-dir là không bt buc. Nu ngưidùng đưa ra user, thì Midnight Commander s đăng nhp vào máy xa vi tênngưi dùng đó, nu không s dùng tên ngưi dùng ca bn. Các tùy chn optionscó th là ‘C’ – nén thông tin truyn ti và ‘rsh’ dùng rsh đ thay cho ssh. Nu có

thành phn remote-dir thì sau khi kt ni thư mc hin thi trên máy xa slà thư mc này. Ví d:

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 171/212

6.12 Kt ni ti máy xa 161

/#sh:192.168.10.128:r/linux/SuSE/#sh:people.vnoss.org:C/public/wiki/#sh:[email protected]/projects

Tác gi hy vng rng nhng thông tin trong chương này có th giúp bn btđu làm vic vi chương trình Midnight Commander. Tuy nhiên kh năng cachương trình này còn rng hơn so vi nhng gì đ cp đn đây. Các bn có thđc thêm tr giúp ca chương trình này mi khi cn bng phím <F1>.

Ghi chú:

• Bn dch ting Vit cho giao din ca Midnight Commander đi kèm vi chươngtrình có th không phi là bn dch mi nht. Bn luôn luôn có th ly bndch mi nht v t kho CVS ca Midnight Commander (tp tin vi.po trong thưmc po) hoc t http://cvs.savannah.gnu.org/viewcvs/*checkout*/mc/mc/po/vi.po.

Cách cp nht mt bn dch giao din cho h thng s đ cp đn trong chương nóiv ting Vit trên Linux hoc nu mun bn có th đc trong bn tin s 3 VnOSScó trên http://vnoss.org (tp tin bantin-so3-092006.pdf).

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 172/212

Chương 7

Giao din đ ho

Mc dù Linux là h điu hành mnh và phát trin, nhưng nu ch làm vic qua giao din dòng lnh thì Linux tr thành khó s dng và không th hp dn đưc nhiu ngưi dùng. Ngưi dùng s phi nh mt danh sách dài các câu lnh. Do đó ngay t nhng ngày đu phát trin ca Linux đã có mt giao din khác “thân thin” vi ngưi dùng hơn, đó là giao din đ ho.Trong giao din đ ho ngưi dùng có th chy các chương trình trong các ca s khác nhau, không cn nh danh sách các câu lnh vì đã có kh năng chy chúng bng h thng trình đơn (menu), h thng các biu tưng trên màn hình, và ngoài ra còn có kh năng s dng chut đ sp xp không gian màn hình ca mình. Hin nay các “môi trưng làm vic” ln như KDE, GNOME còn có sn nhng ng dng đi kèm giúp ngưi dùng không mt nhiu thi gian la chn. Mi th đã có sn.Chúng ta s xem xét mt trong hai môi trưng làm vic này, KDE, trong mt chương sách riêng ngay sau chương này.Trong chương này chúng ta s xem xét cách làm vic ca giao din đ ho và cách cu hình nó.  cui chương s có mô t sơ lưc mt vài môi trưng làm vic và cách khi đng vào chúng.

7.1 X.Org

Giao din đ ho trong Linux đưc xây dng da trên cơ s ca tiêu chun XWindow System (cn chú ý là Window ch không phi Windows, xin đng nhm!)hay còn gi đơn gin là “X” (ích-xì). Tiêu chun này đu tiên đưc vit ra titrưng đi hc công ngh Massachuset. Bt đu t phiên bn th hai tiêu chunnày đưc côngxoocxiom X h tr. Côngxoocxiom X đưc t chc vào năm 1988 vimc đích tiêu chun hóa giao din đ ha cho các h điu hành UNIX. Bt đut năm 1997 côngxoocxiom X chuyn thành X Open Group và sau đó là X.OrgFoundation (http://www.x.org). Hin thi đã có phiên bn 11 bn phát hành7 ca tiêu chun X Window System cho h thng đ ho ca UNIX, ký hiu ngngn là X11R7. Tuy nhiên trên các bn phân phi Linux vn còn s dng bn

phát hành th 6, tc là X11R6.Cách đây không lâu các bn phân phi Linux vn còn s dng XFree86, mtphn mm ng dng t do tuân theo tiêu chun X11R6 cho các h thng UNIX

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 173/212

7.1 X.Org 163

vi b x lý 80386/80486/Pentium. XFree86 đưc mt nhóm các nhà lp trình tora, ngưi khi đu nhóm này là David Wexelblat. XFree86 đã đưc s dng khôngch trên Linux mà còn trên các h thng System V/386, 386BSD, FreeBSD và cácphiên bn UNIX khác cho Intel x86. Tuy nhiên cách đây mt thi gian (cui năm

2003 đu năm 2004), các phiên bn Linux đã đng lot chuyn sang mt “bn X” khác da trên tiêu chun X Window System (do có vn đ vi bn quynca XFree86 phiên bn 4.4.0) đó là XOrg, mt nhánh phát trin mi ca XFree86.

 XOrg do t chc cùng tên X.Org Foundation cung cp dng ng dng mãngun m ca X Window System. Quá trình phát trin XOrg hin đang là mtphn ca cng đng freedesktop.org. Phn ln các nhà phát trin, nhà phânphi và nhà cung cp phn cng ca d án XFree86 trưc đây đã ngng thamgia XFree86 và chuyn sn phm ca mình gia nhp vào X.org Foundation. Dođó đôi khi chúng ta không thy có s khác nhau “v cơ bn”. Hin thi X.OrgFoudation là mt công ty khoa hc vi ban lãnh đo bao gm nhng guru1 hàng

đu trong th gii mã ngun m:• Stuart Anderson (Free Standards Group),

• Egbert Eich (SuSE),

• Jim Gettys (HP),

• Stuart Kreitman (SUN),

• Kevin Martin (Red Hat),

• Jim McQuillan (Linux Terminal Server Project),

• Keith Packard (HP),

• Leon Shiman (Shiman Associates).

Nu mun bn có th tìm hiu thêm v t chc X.Org trên trang web chính cat chc ti đa ch http://x.org. Còn bây gi chúng ta s nói đôi dòng v cácht chc làm vic giao din phn mm da trên tiêu chun X Window System.

H thng X Window đưc xây dng trên cơ s mô hình “ch/khách” (thut ngting Anh hay đưc dùng hơn trong giao tip: server/client) thưng gp trong thgii vi tính hin nay. Tuy nhiên mô hình này trong trưng hp X Window đưcdùng dng quay ngưc li 180 đ. Nói như vy là vì chương trình máy ch (xinđưc gi tt là chương trình ch) X làm vic trên máy tính ca ngưi dùng (vàhin th hình nh trên màn hình máy tính) ch không phi trên mt máy (ch)nào đó xa. Chương trình ch X làm vic trc tip vi phn cng: vi h thng vi-đê-ô (cc hình,...), vi các thit b nhp vào (bàn phím, chut,...) và âm thanh.Rt có th đi vi mt s bn đc s d hiu hơn nu coi chương trình này là mtdriver ca h thng hình nh, chuyên điu khin h thng này. Chương trình ch X chim lĩnh tt c các thit b phn cng và cung cp các kh năng ca thit bcho các chương trình khác dng tài nguyên riêng2 theo mt giao thc (protocol)

1nhng ngưi có kinh nghim làm vic nhiu năm2chính vì th mà chương trình X đưc coi là ch

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 174/212

164 Giao din đ ho

đc bit, gi là giao thc X  hay giao thc kt ni mng X  (X Network Protocol).Máy tính ch dùng đ chy chương trình ch X đưc gi là máy X terminal.

Nhưng bn thân chương trình ch X không to ra (v ra) hình nh trênmàn hình mà ch cung cp hình nh cho driver cc hình. Nu ch chy chương

trình ch X thì bn s ch thy mt màn hình màu xám vi mt du X gia.Có th di chuyn du X này quanh màn hình chut. Và đó là tt c nhng gìbn có th làm. Nhn các nút chut và bàn phím không đem li li ích gì.Tuy nhiên ngay lúc này chương trình ch X đã sn sàng chuyn nhng tínhiu (nhn phím, nhn chut) đn các chương trình khách, nhưng tm thichưa có chương trình khách nào. Lúc này vn có mt s t hp phím đưc Xx lý. Đó là <Ctrl>+<Alt>+<Backspace> dùng đ dng làm vic chương trìnhch X (nu không b đi kh năng này trong cu hình), <Ctrl>+<Alt>+<+> và<Ctrl>+<Alt>+<–> – chuyn nhanh gia các ch đ hin th, tc là đ phân giivà tn s màn hình và các t hp phím quen thuc <Control>+<Alt>+<Fm> –

chuyn v ch đ văn bn vào terminal o s m.Đ đưa ra màn hình mt hình nh nào đó có ý nghĩa hơn thì ch mt mìnhchương trình ch X là không đ. Ngoài nó ra chúng ta cn chy mt trình qunlý ca s và ít nht mt chương trình khách đ to hình nh trên màn hình.Chương trình khách ca “ch X” có th là các ng dng làm vic dưi X Window,ví d chương trình son tho văn bn OpenOffice.org Writer, chương trình đho GIMP, các chương trình gi lp terminal như xterm, urxvt, konsole,. . .

Nm gia chương trình khách và chương trình ch X còn có hai thành phnquan trng na ca giao din đ ho, đó là thư vin các hàm đ ho X–lib vàtrình qun lý ca s  (xem hình 7.1). Thư vin X–lib gm các hàm đ ha cho

phép thc hin các thao tác bc thp vi các hình mu đ ho. Trình qun lý cas gi các hàm trong X–lib đ điu khin màn hình và thc hin bt kỳ thao tácchuyn đi hình nh nào trong các ca s.

Hình 7.1: Kin trúc ca h thng đ ho X Window System3.

Khi mt ng dng X khi đng, ca s s chuyn quyn điu khin đn trìnhqun lý ca s. Trình qun lý ca s cung cp các phương tin đ thc hin ttc các thao tác vi các ca s, bao gm: v khung ngoài, trình đơn (menu), các

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 175/212

7.1 X.Org 165

biu tưng, thanh cun lên, xung và các thành phn khác ca ca s, đng thicòn cung cp kh năng thay đi dng và v trí các ca s trong quá trình làmvic tùy theo nhu cu ca ngưi dùng.

Trình qun lý ca s còn gi các hàm tương ng cho các chương trình khách

trong trưng hp ngưi dùng thao tác vi các ng dng bng bàn phím và chut.Chính vì th khi cu hình X.org ngoài cc màn hình còn phi đưa ra các thams ca chut và bàn phím. Trình qun lý màn hình cn bit các tham s ca cácthit b này đ thc hin công vic ca mình.

Các môi trưng làm vic đ ho m rng như KDE, GNOME, Xfce4, CDE,GNUStep, v.v. . . không thay th nhng thành phn k trên ca h thng X Win-dow, mà ch m rng và thêm vào. Ví d, KDE thêm vào thư vin các hàm đho QT b sung cho X–lib. GNOME s dng thư vin GTK+ (bây gi là GTK2+).Chính thư vin này là nn tng ca chương trình đ ho GIMP. Ngoài ra trongGNOME còn có các thư vin khác như Imlib cho phép m rng các kh năng ca

h thng đ ha.Bi vì ch và khách là các tin trình riêng, nên chúng có th chy trên cácmáy tính khác nhau và trao đi vi nhau qua mng. Ví d các chương trình ngdng có th chy trên mt máy ch mnh (mainframe), còn hình nh s hinth trên màn hình máy tính cá nhân. Đc đim rt mnh này ca h thng XWindow là mt trong nhng khác bit ca nó so vi giao din đ ho ca các hđiu hành dòng Windows.

Ngoài ra trên Linux và UNIX nói chung không có s phân bit rõ ràng giacác chương trình giao din đ ho và giao din văn bn (dòng lnh) như trongWindows. Đi vi h thng thì không có s khác nhau gia chương trình làm

vic trong ch đ đ ho và trong ch đ bình thưng. Chương trình cho ch đđ ho cũng đưc chy như các chương trình bình thưng, tc là t dòng lnh,t chương trình Midnight Commander, v.v...Điu kin duy nht cn phi có làchương trình ch X phi làm vic. Nu cn chương trình s t tìm đn chươngtrình ch X qua TCP/IP nói chung và qua socket ni b khi chương trình ch vàkhách làm vic trên cùng mt máy. Chương trình thc hin vic này bng cáchgi các hàm thư vin trong X–lib. Tt c nhng gì chương trình cn bit đ làmvic đó là nơi tìm chương trình ch X. Tìm kim chương trình ch X đưc thchin qua bin môi trưng DISPLAY hoc qua tùy chn trên dòng lnh. Ngoàira còn có nhng chương trình có th làm vi c chương trình ch X và vi c

terminal thông thưng. Ví d chương trình son văn bn emacs t đng chnch đ làm vic (đ ho hay văn bn) khi khi đng.Tt nhiên nhng gì đưa ra trong hình 7.1 ch là tương đi. Ví d chúng ta

đã nói rng trao đi gia thư vin X–lib vi chương trình ch X trong trưnghp chung đưc thc hin qua giao thc TCP/IP. Như vy là trong hình v đã bqua nhng chương trình ng dng ca giao thc TCP/IP. Và còn mt tài nguyênquan trng khác ca h thng đ ho đó là phông ch . Chương trình ch X cóth thao tác vi phông ch mt cách trc tip, hoc có mt chương trình khácchuyên dùng cho vic này (đưc gi là chương trình ch phông ch), và cũng cnphi thêm vào hình v trên.

 X.org có mt chương trình ch X cho phn ln cc màn hình. Chương trìnhnày đưc gi là xorg và nm trong thư mc /usr/X11R6/bin. Thông thưng cómt liên kt đn chương trình ch này vi tên X, do đó có th chy chương trình

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 176/212

166 Giao din đ ho

ch X bng câu lnh:

[user]$ X

Trình qun lý ca s thì có rt nhiu, bn đc có th chn bt kỳ chương trìnhnào trong s chúng. La chn trình qun lý ca s nào ph thuc nhiu vào cuhình máy tính ca bn (máy “mnh” hay “yu”, cc màn hình có nhiu b nhhay không), và yêu cu công vic. Xin đưa ra đây mt vài ví d trình qun lý cas thưng dùng:

• IceWM (http://www.icewm.org) – trình qun lý ca s nh nh và làmvic rt nhanh. Trình qun lý ca s này đang đưc rt nhiu ngưi dùngcó kinh nghim ưa chung.

• Fluxbox (http://www.fluxbox.org) – mt trình qun lý ca s gn nhkhác, làm vic tương đi nhanh và cũng đưc ngưi dùng có kinh nghimưa chung. Chính trình qun lý ca s này đưc dùng trên nhiu bn phânphi Linux dng LiveCD (Linux “sng và làm vic” trên CD) như: DamnSmall Linux, Insert.

• WindowMaker (http://www.windowmaker.org ) – trình qun lý ca sgn nh nhiu màu sc và mm do trong cu hình k tha ca AfterStep.Mt đc đim thú v ca WindowMaker đó là các trình nh applet thchin nhiu chc năng khác nhau: theo dõi h thng, theo dõi mng, đngh, v.v...Nu mun và có s h tr thì bn có th s dng nhng trình nh

applet này trong các trình qun lý ca s khác như Fluxbox.• enlightment (http://www.enlightment.org) – trình qun lý ca s đp

nht hin nay, có rt nhiu tùy chn cu hình đ bn có th thay đi.

• fvwm2 (Free Virtual Window Manager 2)– phiên bn nâng cp ca trìnhqun lý ca s fvwm cho phép s dng các sc thái (theme) khác nhau vàtrình đơn đng. Trang ch ca FVWM và FVWM2 nm ti đa ch http://fvwm.org/.

Các trình qun lý ca s khác nhau có th cho ra dng ca s khác nhau bng

cách s dng các khung và trình đơn ca s khác nhau. Nhưng tt c chúng đus dng cùng mt tin ích đ ho cơ s ca X Window, đó là chương trình ch X.Như vy là bn đc đã bit đưc giao din đ ho trên Linux đưc to ra t

nhng thành phn gì. Như bn thy giao din đ ho trên Linux đưc to ra theonguyên tc môđun, và có th t xây dng nhiu “kiu” giao din đ ho t cácthành phn khác nhau. Nhưng đi vi ngưi dùng mi (và rt mi) thì đây khôngphi là cách d nht. Rt may là không nht thit phi chn cách này, vì đã cótrên tt c các bn phân phi ln các môi trưng làm vic đ ho. Ni ting nhttrong s các môi trưng đ ho này cn k đn KDE (http://www.kde.org)mà chúng ta s nghiên cu sâu hơn trong chương sách tip theo và GNOME

(http://www.gnome.org). Ngoài ra cũng cn nói đn môi trưng làm vic đho gn nh hơn và cũng chim đưc s yêu mn ca rt nhiu ngưi dùng, đó là Xfce4 (http://www.xfce.org). Tt c nhng môi trưng làm vic đ ho này

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 177/212

7.2 Mt chút v h thng hình nh ca máy tính 167

đu đã có h tr ting Vit tt (hoc còn chưa tt), do đó càng d dàng hơn (hockhó khăn hơn cho ai đó?) cho bn đc trong khi s dng.

NntngcamôitrưnglàmvicđhoKDE(K Desktop Enviroment) là thưvin các hàm đ ho m rng Qt ca công ty Troll Tech (http://www.qt.com).

Bng thư vin này các nhà phát trin KDE đã vit ra trình qun lý ca s riêng– kwm, trình qun lý tp tin kfm, trung tâm điu khin KDE và rt nhiu thànhphn khác bao gm c gói chương trình ng dng cho văn phòng KOffice. Ttnhiên điu này không có nghĩa là tt c các thành phn ca môi trưng KDE làdo mt công ty nào đó vit ra và phát trin, mà nhiu nhà lp trình cùng s dngmt cách mt ý tưng phát trin chung đ to ra các ng dng khác nhau. Ktqu thu đưc đó là mt b đy đ các chương trình ng dng cho phép gii quyttt c các nhu cu điu khin máy tính và làm vic ca ngưi dùng. Trong cácphiên bn mi ca KDE còn có thêm trình qun lý tp tin và cũng là trình duytweb Konqueror (http://konqueror.kde.org) có nhiu kh năng mnh trong

vic truy cp đn các tp tin. Ngoài ra Konqueror còn cho phép xem trc tip cáctp tin có đnh dng (“phn m rng”) đã bit, kh năng duyt web cũng khôngthua kém các trình duyt khác như Internet Explorer.4

Mt môi trưng làm vic đ ho có cùng đng cp vi KDE đó là GNOME(GNU Network Object Model Environment). GNOME đưc phát trin trongkhuôn kh ca d án GNU, có nghĩa là chương trình ng dng t do. GNOMEđưc xây dng da trên thư vin các hàm đ ho GTK+ (bây gi là GTK2+, phiênbn 2 ca thư vin GTK).

Còn có nhiu môi trưng làm vic đ ho khác nhưng chưa đt đưc mcđ phát trin mnh như KDE và GNOME. Trong s chúng cn nói đn Xfce4

(http://www.xfce.org). Phiên bn 4.4 ca Xfce4 ha hn nhiu thay đi ln,trong s đó cn k đn trình qun lý tp tin Thunar và các m rng (plugin) canó.

Các bn phân phi Linux mi hin nay đã cho phép cài đt và cu hình giaodin đ ho mt cách d dàng hơn rt nhiu so vi trưc đây. Chương trình càiđt ca Debian Linux, openSUSE Linux, Fedora Core, v.v. . . đã có kh năng tđng xác đnh dng cc hình, dng màn hình và t đng chn các tham s (đphân gii, tn s cp nht) thích hp. Tuy nhiên tôi xin đưa ra đây mt vài likhuyên khi cu hình X Window vì rt có th bn đc s gp vn đ nào đó, ví dchương trình cài đt xác đnh dng màn hình không đúng và do đó dùng nhngtham s không thích hp. Đu tiên chúng ta cn bit mt chút v công vic cah thng hình nh ca máy tính.

7.2 Mt chút v h thng hình nh ca máy tính

Như bn đc đã hiu khi thy đu đ ca phn này, đây không phi là hưngdn chi tit dành cho các nhà chuyên môn, mà ch là nhng kin thc cơ bn vh thng hình nh ca máy tính đ giúp ngưi dùng mi và rt mi hiu đưccách làm vic ca h thng hình nh, th nào là tn s, đ phân gii màn hình,

4Cách đây mt thi gian KDE đã đưc công nhn là phn mm t do. Vn đ này xy ra trưcđây là do thư vin Qt thuc v công ty thương mi. Nhưng công ty Troll Tech đã đưa ra thôngbáo cho phép dùng thư vin này vĩnh vin min phí đ phát trin các ng dng mã ngun m.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 178/212

168 Giao din đ ho

v.v...đ có th chn các tham s thích hp trong khi cu hình.H thng hình nh ca máy tính bao gm cc hình (video card) và màn hình

(monitor), chúng ta s ch xem xét trưng hp màn hình ng đin t (CRT) màkhông xem xét màn hình tinh th lng (LCD).

Như bn đc bit, hình nh trên màn hình đưc to ra t các đim riêngbit. Đim đưc to ra nh các chui electron và các đim nm dng dòng nmngang. Màn hình thc hin hai công vic riêng bit: “tri” các chui (tia) electronvà chiu sáng các đim riêng bit đ to ra hình nh. Điu khin màn hình cónghĩa là đưa ra s đim trên mt dòng (đ phân gii theo chiu ngang), s dòngtrên màn hình (đ phân gii theo chiu dc) và cưng đ (intensity) ca mi màu(trong s ba màu chính) trên tng đim.

Chc năng điu khin màn hình là do cc hình thc hin. Cc hình chuyn timàn hình 3 tín hiu: tín hiu hình (RGB), đng b dòng (HS) và đng b nh (ct, VS). Khi có tín hiu đng b dòng (theo chiu ngang) tia electron s đưc chuyn

t cui mi dòng ti đu dòng tip theo, còn khi có tín hiu đng b nh (theochiu dc) thì s chuyn tia electron t góc dưi bên phi v góc trên bên trái.Cn phi bit tn s to ra hai tín hiu này, tính theo s tín hiu trong mt giây,đ có th cu hình đúng chương trình ch X. Giá tr tn s đng b ngang và dcnày nht đnh có trong tài liu đi kèm vi màn hình. Tn s đng b dc thưngkí hiu là VSF và có đơn v là Hz (Héc), giá tr ca VSF nm trong khong 50 –180 Hz. Tn s đng b ngang, HSF, có đơn v là KHz (1kilôhéc = 1000 héc) vànhn giá tr trong khong t 31 đn 135 KHz. Nhng màn hình mi thưng làmàn hình có nhiu tn s hay còn nói là có gii tn s rng, có nghĩa là bn cóth chn các tn s dc và ngang t mt vùng các giá tr cho phép nào đó. Mt s

màn hình nht là màn hình r tin có th ch có mt vài giá tr tn s cho phép.Tt nhiên tt nht là chn giá tr ln nht trong s có th dùng, nhưng hãy cnthn vì nu chn giá tr cao quá mc thì có th làm hng màn hình.

Còn có mt tn s quan trng khác na, đó là s đim có th hin th trênmàn hình trong mt giây. Tia electron di chuyn qua màn hình theo mt vn tccó hn do b vi x lý ca cc hình xác đnh. Tn s này đưc gi là DCF (“DotClock Frequency” – tn s làm vic ca cc hình).

Mt tham s cũng quan trng na đó là tn s cp nht màn hình SRR(Screen Refresh Rate). Giá tr này càng cao bao nhiêu thì mt ca ngưi dùngcàng ít mi mt by nhiêu trong khi làm vic vi máy tính, vì khi đó s gimmc đ nhp nháy ca màn hình. Không nên chn tn s cp nht màn hình nhhơn 60Hz, khi đó đèn huỳnh quang s nhp nháy rt mnh. Tiêu chun VESAkhuyên chn giá tr này ln hơn hoc bng 72Hz. Nhưng cũng không th đưa ramt tn s cp nht màn hình quá ln, vì tn s này không th ln hơn giá trca phân s:

DCF(s đim trên dòng) * (s ct trên màn hình)

tc là có s ph thuc vi đ phân gii (resolution) ca màn hình. Trên thc ttn s cp nht còn nh hơn na vì còn mt thi gian di chuyn các tia electront dòng này sang dòng khác, t cui màn hình lên đu màn hình. Ngoài ra đ

to ra hình nh sc nét trên màn hình, tia electron còn di chuyn quá sang trái,sang phi, lên cao, xung thp hơn mt chút so vi hình nh (to ra 4 dòng vàct ti xung quanh hình nh). Cn nói thêm tn s cp nht màn hình bng tn

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 179/212

7.3 Cu hình chương trình ch X 169

s đng b dc (SRR = VSF). Như vy, tn s đng b dc VSF và tn s làm vicca cc hình DCF xác đnh giá tr gii hn (ln nht) ca đ phân gii.

Còn có mt gii hn na ph thuc vào dung lưng b nh ca cc hình – slưng màu ca hình nh. Trên các màn hình màu, mi đim đưc chiu sáng

đng thi bi 3 tia electron. Màu ca đim đó đưc xác đnh bi s pha trn caba màu cơ bn: đ (Red), xanh lá cây (Green) và xanh da tri (Blue) – RGB.Cưng đ ca mi màu này li đưc xác đnh bi mc đ ca tín hiu trong tiatương ng. Hình nh s đưa ra màn hình đưc to ra trong b nh ca cc hình.B nh này nm trên cc hình nhưng thuc v không gian b nh chung ca cmáy tính. Hình nh đưc lưu trong b nh dng s và s chuyn đi hình nhv dng tín hiu “tương t” (analog) RGB là mt trong nhng công vic chínhca cc hình. Công vic này là do mt b phn trên cc hình đm nhim, đó là“b chuyn đi s – tương t”. S lưng màu có th dùng cho mi đim đưc giihn bi dung lưng b nh cc hình cũng như s mc đ tín hiu mà cc hình

có th to ra cho mi tia electron. Nhưng thông thưng cc hình có th to ramt s lưng mc đ tín hiu đ đ hin th hình nh, do đó tham s quyt đnh đây là dung lưng b nh.

Công thc xác đnh gii hn đ phân gii và s lưng màu trên hình nh rtđơn gin:

(Dung lưng b nh, byte) ≥ (S đim trên dòng) * (s ct trên màn hình)

* (s byte trên mt đim)

 Ví d, nu bn đc mun chn đ phân gii màn hình 1280 x 1024 và có 32 triumàu cho mi đim, tc là 8 byte cho mi đim, thì cn có mt cc hình vi dunglưng b nh ít nht là 1280 ∗ 1024 ∗ 4 = 10485760 byte (10Mb). Tt c nhng cc

hình mi đáp ng đưc (thm chí còn vưt quá) yêu cu này. Nu có mt cc hìnhcũ vi dung lưng b nh ít hơn thì cn phi chn đ phân gii nh hơn hocchn s lưng màu ít hơn. Tôi nghĩ rng bn có th t la chn mt đ phân giivà s lưng màu thích hp cho máy tính ca mình. Còn bây gi chúng ta s xemxét phn thc hành ca nhng lý thuyt đã đưa ra, tc là cu hình giao din caLinux.

7.3 Cu hình chương trình ch X

Chúng ta s xem xét trưng hp sau khi cài đt Linux bn không th chuyn vàoch đ đ ho (rt him khi xy ra vi các bn phân phi Linux mi), hoc khônghài lòng vi nhng gì mình thy trên màn hình giao din đ ho. Nu bn rơivào tình hung th nht trong quá trình khi đng máy, thì hãy chn khi đngvào ch đ mt ngưi dùng đ có kh năng thay đi cu hình X. Chúng ta s bitđưc cách chuyn ch đ khi đng trong mt vài chương ti.

Nu bn không hài lòng vi hình nh ca giao din đ ho, hoc không thvào ch đ đ ho, nhưng vn có th truy cp ti máy tính bng ch đ vănbn (giao din dòng lnh), thì vn có th s dng mt câu lnh và chương trìnhca Linux đ cu hình li chương trình ch X. Chương này coi như bn đã cài

đt X.org, và tt c nhng tp tin (chương trình) nói đn phía sau đã có trênđĩa. Nu không thì đu tiên bn phi cài đt gói chương trình X.org. Cách càiđt chương trình s có trong chương khác dành riêng cho phn cài đt chương

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 180/212

170 Giao din đ ho

trình. Hy vng rng nhng thông tin dưi đây giúp bn cu hình thành cônggiao din đ ho, hoc đơn gin là giúp bn hiu hơn v giao din này và cáchcu hình nó nu bn đã có mt h thng X Window làm vic tt. Nhưng xinbn hãy luôn nh là cun sách bn đang đc s dng bn quyn Creative Com-

mons Public License 2.5 (http://creativecommons.org/licenses/by/2.5/). Tác gi không chu trách nhim v nhng gì s xy ra. Hãy cn thn trongkhi làm vic!

7.3.1 Thu thp thông tin cn thit

Đ có th cu hình bn cn mt vài d liu sau:

• Tên ca hãng sn xut cc hình và màn hình. Thưng ly t tài liu đi kèmvi chúng, nu không có thì cũng có th xem trc tip trên thit b.

• Dng ca b x lý trên cc hình (chíp). Cn xác đnh dng chíp đ chnmôđun đúng cho cc hình. Ví d, chíp ca hãng Nvidia thưng cn npmôđun nv.

• Dung lưng b nh ca cc hình.

• Khong tn s đng b ngang và dc cho phép dùng ca màn hình. Ly ttài liu đi kèm vi màn hình, nu không có tài liu thì bn cn tìm nhngthông tin này trên Internet, d dàng nht là trên trang web ca nhà snxut. Hai tham s này là quan trng.

• Dng chut và bàn phím. Làm vic trong giao din đ ho mà không cóchut thì không thun tin chút nào, và nu không bàn phím thì càng khôngth làm vic vi máy tính nói chung. Vì th cn phi cu hình chương trìnhch X đ s dng nhng thit b này.

Có nhiu cách đ ly nhng thông tin này. Cách d dàng nht cho ngưi dùngmi là khi trên máy đã có mt h điu hành Windows. Nhng thông tin bn cncó trong Trình qun lý các thit b. Cách chy chương trình này không thuc vàophm vi ca cun sách này vì chúng ta đang nói v h điu hành Linux. Bn có

th tìm thy thông tin trong bt kỳ cun sách nào nói v h điu hành Windows.Nu trên máy ca bn chưa có bt kỳ h điu hành nào thì hãy s dng mt hđiu hành Linux LiveCD (chy thng t CD) có kh năng nhn dng phn cngtt như Knoppix. Sau khi khi đng Knoppix thành công hãy sao chép tp tin cuhình chương trình ch X ca Knoppix (thưng nm ti /etc/X11/xorg.conflên đĩa mm hoc flash đ sau này có th đc li. V cách đc thông tin t tp tincu hình X.org (cu trúc ca tp tin này) chúng ta s xem xét ngay dưi đây.

Ngoài ra có nhng chương trình chuyên dùng cho vic ly các d liu cn thitk trên, ví d bash script mkxf86config do các nhà phát trin Gentoo vit ra.Bn có th tìm thy script này trên mng Internet. Tuy nhiên tôi hy vng là các

bn s không phi s dng đn nhng tin ích này cũng như nhng phương ánk trên (s dng h điu hành khác, s dng Knoppix): tt c nhng thông tinbn cn đã có trong tài liu đi kèm vi máy tính.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 181/212

7.3 Cu hình chương trình ch X 171

7.3.2 Cu trúc ca tp tin cu hình X

Tp tin cu hình chương trình ch X thưng nm ti /etc/X11/xorg.conf.Khi khi đng và nu không ch rõ tp tin cu hình trên dòng lnh thì chương

trình ch X đu tiên s tìm tp tin cu hình ti thư mc ca ngưi dùng, tclà ti ∼ /xorg.conf. Nu không thy tp tin này thì chương trình ch X s dùngcu hình chung ca toàn b h thng nm trong thư mc /etc như đã nói trên(nu có).

Tp tin cu hình X ch là mt tp tin văn bn (text file) bình thưng, do đócó th s dng bt kỳ trình son tho văn bn nào đ thay đi nó. Và đây cũngchính là cách các nhà qun tr h thng có kinh nghim s dng đ cu hình giaodin đ ho. Tuy nhiên, có nhng chương trình, tin ích chuyên dùng cho vicnày, và chúng ta s s dng chúng trong thi gian đu mi làm quen vi Linux.

Cũng không cn phi to tp tin xorg.conf t đu. Nu trong khi cài đt

bn có chn cài đt giao din đ ho X thì trên máy đã có tp tin cha cu hình X đúng (và có th không). Nu vì nguyên nhân nào đó bn cài đt X.org riêngsau khi cài đt Linux, thì hãy chy mt trong nhng chương trình cho phép bnto ra tp tin này. Đ to ra tp tin cu hình X mt cách t đng hãy s dngchương trình Xorg vi tùy chn -configure. Ch cn chy câu lnh sau (hãychú ý là cn có quyn ngưi dùng root:

[root]# Xorg -configure

Câu lnh này s làm vic mt cách im lng, sau khi hoàn thành nó s to ra tptin xorg.conf và đt tp tin này vào thư mc /etc/X11. Xin đng quên câulnh Xorg khác vi câu lnh xorg! Như đã nói t trưc trên Linux ch thưng vàch hoa có s khác nhau rõ ràng.

Tuy nhiên rt có th bn s mun t to cho mình mt tp tin cu hình riêng,hoc đơn gin là mun kim soát quá trình này. Trong XFree86 phiên bn th4, tin ích chính dùng đ t to mt tp tin cu hình (XF86Config-4) là chươngtrình xf86config (đôi khi xf86cfg). Trong X.org chương trình này đã đưcthay th bng xorgconfig. Trên thc t theo tôi thy thì hai chương trình nàykhông có gì khác nhau, ch có điu xorgconfig sau khi hoàn thành công vic sto ra xorg.conf ch không phi XF86Config-4 như trưng hp xf86config.Trên dòng lnh hãy chy:

[root]# xorgconfig

ri tr li nhng câu hi mà chương trình này đt ra. Nu không mun tip tcthì hãy nhn <Ctrl>+<C> đ thoát ra.

Còn mt tin ích khác có th dùng đ cu hình máy ch X, đó là xorgcfg.Nhưng chương trình là ng dng đ ho, tc là ch chy trên nn mt máy ch X đã chy nào đó (hình 7.2), do đó không có ích trong trưng hp bn chưacó mt cu hình X nào. Hãy đc các trang hưng dn s dng man tương ngxorgconfig(1) và xorgcfg(1) đ bit thêm chi tit. Ngoài ra, mi bn phân

phi hin đi có mt công c cu hình riêng ca mình, đôi khi rt mnh. Víd bn phân phi OpenSUSE có sax2. Hãy s dng nhng chương trình này.Chúng s giúp bn tit kim đưc nhiu thi gian.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 182/212

172 Giao din đ ho

Hình 7.2: Cu hình X.org qua xorgcfg

Bng mt trong nhng công c trên bn đã to ra đưc tp tin cu hìnhxorg.conf. Chúng ta s xem tp tin này trông như th nào (có nghĩa là dùngcâu lnh xem tp tin more hoc less hoc dùng mt chương trình son tho vănbn như vim đ m nó). Dưi đây là ví d mt tp tin xorg.conf có trên máyca tôi sau khi cài đt openSUSE Linux 10.1:

# Version: 7.1# Contact: Marcus Schaefer <[email protected]>, 2005# Contact: SaX-User list <https://lists.berlios.de/mailman/listinfo/sax-users>## Automatically generated by [ISaX] (7.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

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 183/212

7.3 Cu hình chương trình ch X 173

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 259HorizSync 30-96Identifier "Monitor[0]"ModelName "SYNCMASTER 757NF(T)/707NF/700NF"Option "DPMS"VendorName "SAMSUNG"VertRefresh 50-160UseModes "Modes[0]"

EndSection

Section "Modes"Identifier "Modes[0]"Modeline "1280x1024" 167.32 1280 1376 1512 1744 1024 1025 1028 1078Modeline "1280x1024" 165.29 1280 1376 1512 1744 1024 1025 1028 1077Modeline "1280x1024" 163.41 1280 1376 1512 1744 1024 1025 1028 1077Modeline "1024x768" 135.41 1024 1104 1216 1408 768 769 772 822Modeline "1024x768" 132.57 1024 1096 1208 1392 768 769 772 821Modeline "1024x768" 131.43 1024 1096 1208 1392 768 769 772 821Modeline "800x600" 97.59 800 856 944 1088 600 601 604 650Modeline "800x600" 96.89 800 856 944 1088 600 601 604 650

Modeline "800x600" 96.18 800 856 944 1088 600 601 604 650EndSection

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 184/212

174 Giao din đ ho

Section "Screen"DefaultDepth 24SubSection "Display"

Depth 15Modes "1280x1024" "1024x768" "800x600"

EndSubSectionSubSection "Display"

Depth 16Modes "1280x1024" "1024x768" "800x600"

EndSubSectionSubSection "Display"

Depth 24Modes "1280x1024" "1024x768" "800x600"

EndSubSectionSubSection "Display"

Depth 8Modes "1280x1024" "1024x768" "800x600"

EndSubSectionDevice "Device[0]"Identifier "Screen[0]"Monitor "Monitor[0]"

EndSection

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 "video"

Mode 0660EndSection

Section "Extensions"EndSection

Cn phi nói rng nhng thông tin mà chương trình cài đt ca openSUSE dòtìm ra là chính xác. Có th bn đc đã nhn thy là trên Linux nhng tp tincu hình có cu trúc tương t như nhau. Nhng dòng đu tiên thưng là nhngdòng chú thích không có nh hưng gì đn chương trình. Nhng dòng này có ký

t đu tiên là#

và mt khong trng sau ký t này.Tp tin xorg.conf bao gm mt vài phn nh hơn, mi phn có cu trúc nhưsau:

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 185/212

7.3 Cu hình chương trình ch X 175

Section "tên_ca_phn_này"SectionEntry1SectionEntry2SectionEntry3

EndSection

Các phn có th nm trong tp tin cu hình theo th t bt kỳ. Trong tp tin cuhình có th có các phn sau (không nht thit phi có tt c chúng):

• Files – đưng dn đn các tp tin.

• ServerFlags – tùy chn ca chương trình ch.

• Module – các môđun np t đng.

• InputDevice – mô t các thit b nhp vào.• Monitor – mô t màn hình.

• Modes – mô t các ch đ hình nh.

• Screen – cu hình màn hình.

• Device – mô t cc hình (video card).

• ServerLayout – cu hình chung.

• DRI – cu hình DRI.

• Vendor – cu hình cho các thit b ca các nhà sn xut c th nào đó.

• Extensions – phn cu hình m rng.

Cũng có th gp hai phn hoc nhiu hơn có cùng mt dng (Ví d Screen), tuynhiên khi đó chúng phi có tên riêng không trùng nhau.

Phn ServerLayout có ưu tiên cao nht, tc là chương trình ch X btđu đc tp tin cu hình xorg.conf t đây. Phn này xác đnh nhng thit

b vào/ra (input/output) nào s đưc s dng trong giao din đ ho X. Thit bnhp vào thưng là bàn phím và chut, chúng đưc xác đnh trong các phnInputDevice, mi phn cho mt thit b. Thit b ra gm các thành phn riêngbit là cc hình và màn hình thưng đưc nhóm li vi nhau trong phn Screen.Trong phn ServerLayout phi có các dòng ch đn các phn ca thit b vanói đn. Như vy, phn ServerLayout phi cha ít nht nhng dòng sau:

Section "ServerLayout"Identifier "Layout[all]"InputDevice "Keyboard[0]" "CoreKeyboard"

InputDevice "Mouse[1]" "CorePointer"Screen "Screen[0]"EndSection

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 186/212

176 Giao din đ ho

Phn Screen xác đnh màn hình và cc hình s dng, đng thi đưa ra cácch đ làm vic ca màn hình (đ phân gii và s lưng màu). Phn này có dngnhư sau:

Section "Screen"DefaultDepth 24SubSection "Display"

Depth 15Modes "1280x1024" "1024x768" "800x600"

EndSubSectionSubSection "Display"

Depth 16Modes "1280x1024" "1024x768" "800x600"

EndSubSection

SubSection "Display"Depth 24Modes "1280x1024" "1024x768" "800x600"

EndSubSectionSubSection "Display"

Depth 8Modes "1280x1024" "1024x768" "800x600"

EndSubSectionDevice "Device[0]"Identifier "Screen[0]"

Monitor "Monitor[0]"EndSection

Như bn thy, phn này cho bit cc màn hình đưc dùng là thit b có tênDevice[0], tc là GeForce4 MX 440 with AGP8X đưc xác đnh trong phnDevice, và màn hình đưc s dng có tên Screen[0] (SAMSUNG SYNCMAS-TER 757NF(T)/707NF/700NF), xác đnh trong phn Monitor.

Phn Screen còn có th cha mt vài phn con (Subsection) Display tươngng vi mt giá tr “đ sâu màu”5 màn hình.6 Trong mi phn con, ngưi dùngcn đt nhng ch đ hin th mun dùng vi đ sâu màu tương ng. Các ch đ

đưc lit kê theo tên ly t phn Modes, tên này nm ngay sau t Modeline, víd, "1280x1024", "1024x768", "800x600". Như vy, đi vi ngưi dùng thì ýnghĩa ca ch đ hin th trùng vi đ phân gii ca màn hình. Máy ch X ss dng ch đ đu tiên nm trong danh sách theo mc đnh. Đ chuyn sangs dng nhng ch đ khác hãy th nhn các t hp phím <Ctrl>+<Alt>+<+> và<Ctrl>+<Alt>+<–>, trong đó phím <+> và phím <–> nm trên bàn phím s.

Phn Monitor xác đnh tham s ca màn hình cũng có hai tùy chn (haidòng) quan trng, đó là:

5color depth6Đ sâu màu màn hình thưng tính theo bit và thưng nhn các giá tr 8, 15, 16, 24. Giá tr

này càng cao thì s lưng màu có th hin th càng ln và hình nh càng đp. Tuy nhiên cc mànhình và bn thân màn hình phi đ tt đ có th h tr nhng giá tr đ sâu màu ln. Đ sâumàu mc đnh nm trên dòng DefaultDepth.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 187/212

7.3 Cu hình chương trình ch X 177

HorizSync 30-96VertRefresh 50-160

xác đnh tn s cp nht ngang (HorizSync) và dc (VertRefresh). đây tn

s cp nht ngang và dc có th nm tương ng trong khong 30–96, 50–160.Nu mun đt mt s c th nào đó thay cho nhng khong thì có th sa thành:

HorizSync 80VertRefresh 100

hoc:

HorizSync 80, 90VertRefresh 124, 138

nu mun có thêm hai la chn hoc nhiu hơn. Tn s cp nht màn hình theochiu ngang HorizSync tính theo KHz còn tn s cp nht dc VertRefreshtính theo Hz. Cn phi xem xét tài liu ca màn hình đ đưa ra nhng giá trchính xác. Nu không có tài liu này thì hãy tìm kim trên CD đi kèm hoc trêntrang Web ca nhà sn xut.

Phn tip theo là Device mô t cc màn hình ca bn. Trong phn này quantrng nht là dòng ch ra driver. Trên máy ca tôi dòng này có dng:

Driver "nvidia"

Tc là tôi s dng cc màn hình vi chip ca hãng NVIDIA và đã cài đt driverly v t trang Web ca hãng này. Driver gc ca X.org cho các cc màn hìnhnvidia có tên ngn hơn — nv.

Hai phn InputDevice xác đnh chut và bàn phím. Hin nay ph bin các bànphím có 104 phím và Linux h tr tt các bàn phím này, do đó tùy chn Option"XkbModel" "pc104" làm vic trong đa s trưng hp. Các môi trưng làm vicnhư KDE, GNOME, Xfce đu có các công c đ la chn kiu bàn phím, thay đicác thuc tính ca bàn phím như tc đ lp li (repeat rate), đt li giá tr cacác phím, do đó lúc này không cn thit phi tìm hiu sâu và cu hình k chophn này. Cũng nói luôn, đ gõ ting Vit thì tt nht là s dng mt chươngtrình chuyên dng như xvnkb, x-unikey hoc scim. Chúng ta s quay tr li

vi ting Vit trong mt chương sau.Trong phn InputDevice tương ng vi chut hãy chú ý đn 3 dòng (tùy

chn) sau:

Option "ZAxisMapping" "4 5"Option "Protocol" "PS/2"Option "Device" "/dev/input/mice"

Nu không có tuỳ chn ZAxisMapping vi giá tr 4 5, thì chúng ta s khôngdùng đưc nút bánh xe ca chut đ kéo lên kéo xung các trang Web. Tùy chn

Protocol xác đnh giao thc “liên lc” vi chut. Nu chut đưc kt ni vào mtcng dành riêng cho nó, thì tham s Protocol s có giá tr là PS/2 hoc mt tdài hơn kt thúc bng PS/2. Trong trưng hp ca tôi là explorerps/2. Nhng

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 188/212

178 Giao din đ ho

giao thc còn li s dng cho chut kt ni qua cng tip ni (cng COM). Nuchut mi đưc sn xut thì còn có th dùng giá tr Auto (t đng xác đnh) đây. Không cn gii thích chc bn cũng đã nhn ra là tùy chn Device xác đnhtên tp tin thit b ca chut.

Cui cùng, phn Files ca tp tin xorg.conf thưng nm đu tp tinnày và xác đnh đưng dn đn các thư mc phông ch. Có mt vài cách đưa ranhng thư mc này. Tuy nhiên trưc khi thêm mt thư mc phông ch mi cnkim tra li xem thư mc này có tn ti không và có phi là thư mc phông chkhông7. Nu khi chy máy ch X không tìm thy mt thư mc phông ch nào đótrong phn Files, thì nó s đưa ra cnh báo. Đây không phi là li nghiêm trngđ phi dng làm vic, nhưng ngưi dùng cn bit đ gii quyt nhng trưnghp như không tìm thy phông ch mong mun.

7.3.3 Th cu hình /etc/X11/xorg.conf 

Như đã nói trên, có nhiu cách đ to ra xorg.conf, bng câu lnh:

[root]# Xorg -configure

đ to mt cách t đng hoc

[root]# xorgconfig

đ có th kim soát quá trình này. Sau khi to tp tin xorg.conf thông thưngs nm trong thư mc /etc/X11. Đây là thư mc tiêu chun (chuyên dùng) chonhng cu hình có liên quan đn máy ch X.

Bây gi hãy th chy giao din đ ho bng câu lnh X (vit hoa). Xin chú ýđây ch là liên kt mm đn chương trình máy ch Xorg8, do đó cn phi có liênkt mm này hoc có th th chy thng:

[user]$ Xorg

Nu thành công, bn s thy mt con tr chut hình ch X gia màn hình vàcó th b qua nhng dòng dưi đây.

Nu thy mt màn hình màu đen, hoc màn hình nhp nháy, tc là cuhình va to có vn đ, hãy nhn t hp phím <Ctrl>+<Alt>+<Backspace> đquay v ch đ văn bn. T hp phím này s giúp bn dng chy máy ch Xtrong nhng trưng hp có vn đ, ví d khi máy ch X không tr li (không

làm vic), do đó hãy nh nó. Tuy nhiên đng vi vàng s dng t hp phím<Ctrl>+<Alt>+<Backspace>, vì rt có th cn mt chút thi gian đ chuyn vàogiao din đ ho.

Có kh năng nhng tham s không đúng s làm hng màn hình ca bn hocdn đn nhng hu qu không lưng trưc, do đó không nên th cu hình X.orgbng cách đã k trên tr khi bn chc chn là mình đúng. Tt hơn ht là kim tratp tin cu hình xorg.conf đã to ra xem có nhng li nguy him nào không.Đ thc hin công vic kim tra ch cn dùng câu lnh:

7Thư mc phông ch phi có tp tin fonts.dir thưng do câu lnh mkfontdir trc tiphoc dán tip to ra. Câu lnh file fonts.dir cho bit fonts.dir ch là mt tp tin văn bn

thông thưng nhưng không nên t sa đi nó. Hãy dùng chương trình va nhc ti đ làm vicnày8Bn có th kim tra li điu này bng câu lnh ls -l

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 189/212

7.3 Cu hình chương trình ch X 179

[user]$ X -probeonly -verbose 1 > xprobe.log 2>&1

Câu lnh này chy máy ch X ch đ th và đưa kt qu th đó vào tptin xprobe.log đ sau này có th đc d dàng hơn. Nu không ch ra tp tin

xprobe.log thì kt qu th s hin ra trên màn hình. Sau khi chy câu lnhnày màn hình s nhp nháy, sau đó s li thy dòng lnh ca h v và trong thưmc hin thi s có thêm tp tin xprobe.log.

Trong tp tin này có rt nhiu thông tin có ích v h thng X Window. Cnnói rng trong tp tin bn ghi /var/log/Xorg.0.log còn có nhiu thông tinhơn, nhưng trong đa s trưng hp, chúng ta ch cn nhng thông tin trongxprobe.log. Nhng dòng đu tiên cho bit mt vài d liu v X.org. Dưi nhngdòng này là thông tin v phiên bn ca X Window System, ngày phát hành, tênca h điu hành, phiên bn nhân Linux và mt vài thông tin khác. Sau đó làthông báo v nơi đt tp tin bn ghi (thưng là /var/log/Xorg.0.log) và tênca tp tin cu hình đưc s dng:

(==) Log file: "/var/log/Xorg.0.log", Time: Wed Jan 31 22:25:09 2007(==) Using config file: "/etc/X11/xorg.conf"

Trong tp tin xprobe.log này chúng ta còn thy li gii thích cho nhng kýhiu s dng dưi cũng như trong tp tin bn ghi Xorg.0.log:

Markers: (--) probed, (**) from config file, (==) default setting,(++) from command line, (!!) notice, (II) informational,(WW) warning, (EE) error, (NI) not implemented, (??) unknown.

Như vy:

• (––) có nghĩa là nhng giá tr tương ng thu đưc khi th (probe).

• (**) có nghĩa là tham s ly t trong tp tin cu hình (ví d xorg.conf).

• (==) có nghĩa là s dng tham s theo mc đnh.

• (++) có nghĩa là tham s ly t dòng lnh chy máy ch X.

• (!!) — sau du hiu này là nhng chú ý.

• (II) — sau du hiu này là nhng thông tin khác nhau.

• (WW) — sau du hiu này là nhng cnh báo.

• (EE) — sau du hiu này là nhng thông báo li.

• (NI) — sau du hiu này là thông báo v nhng tham s còn chưa đưcphát trin trong X.org.

• ?? — nhng thông tin không rõ ngun gc.

Li và cnh báo tìm thy trong xprobe.log chúng ta s sa bng cách thayđi tham s tương ng trong tp tin /etc/X11/xorg.conf. Nhưng tm thi

chúng ta s tip tc xem xét xprobe.log va to ra. Trong tp tin này còn cómt vài dòng thông tin hin th mi quan h gia các phn trong tp tin cuhình:

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 190/212

180 Giao din đ ho

(==) ServerLayout "Layout[all]"(**) |-->Screen "Screen[0]" (0)(**) | |-->Monitor "Monitor[0]"(**) | |-->Device "Device[0]"

(**) |-->Input Device "Keyboard[0]"(**) |-->Input Device "Mouse[1]"

trong tp tin này rt có th chúng ta s gp nhng cnh báo v thư mccha phông ch đã nói phn trưc, có dng sau:

(WW) The directory "/usr/share/fonts/local" does not exist.Entry deleted from font path.

(WW) The directory "/usr/share/fonts/PEX" does not exist.Entry deleted from font path.

(WW) The directory "/usr/share/fonts/baekmuk" does not exist.Entry deleted from font path.(WW) The directory "/usr/share/fonts/japanese" does not exist.

Entry deleted from font path.(WW) The directory "/usr/share/fonts/kwintv" does not exist.

Entry deleted from font path.

Ti thi đim này, nhng cnh báo tương t như trên không nh hưng nhiuđn vic s dng X Window. Hãy c gng sa ht nhng li ((EE) tìm thy, kimtra li bng:

[user]$ X -probeonly -verbose 1 > xprobe.log 2>&1

ri nhìn vào tp tin xprobe.log xem có còn li nào không. Nu không còn nathì có th mnh dn chy ch đ đ ho bng câu lnh X như đã nói đu phnnày. Tt nhiên, bn cn bit rng, không có li tìm thy trong xprob.log chưabo đm vic chy thành công ch đ đ ho. Do đó nu vn thy mt màn hìnhđen, thì hãy quay tr li dòng lnh bng t hp phím <Ctrl>+<Alt>+<Backspace>ri kim tra k càng kt qu ca câu lnh:

[user]$ X -probeonly -verbose 1 > xprobe.log 2>&1

Đôi khi có th th chn mt đ phân gii hoc đ sâu màu nh hơn. Ví dchn đ phân gii “1024x768” và đ sâu màu “16” thay vì “1600x1200” và “24”.Nói v ch đ làm vic ca màn hình không th không k đn mt tin ích nhnhng có ích đó là xvidtune. S dng tin ích này bn s tìm đưc ch đ hinth thích hp cho màn hình ca mình. Tin ích này chy trong giao din đ ho,do đó hãy chy X bng startx ri chy xvidtune t mt trình lnh nào đó (víd xterm). Chúng ta s thy mt ca s hin ra như trong hình 7.3, sau khi đãđóng ca s cnh báo cho bit các nhà phát trin không chu trách nhim v vics dng xvidtune gây ra. Nhng cnh báo như vy bn s thưng xuyên gp

khi s dng các sn phm có liên quan đn Linux như chương trình, sách, báo,hưng dn,...và trên xterm s xut hin mt vài dòng thông tin:

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 191/212

7.3 Cu hình chương trình ch X 181

Hình 7.3: Chương trình xvidtune

Vendor: SAMSUNG, Model: SYNCMASTER 757NF(T)/707NF/700NFNum hsync: 1, Num vsync: 1hsync range 0: 30.00 - 96.00vsync range 0: 50.00 - 160.00

Nút Show cho bit ch đ hin th đang đưc s dng dng:

"1280x1024" 167.32 1280 1376 1512 1744 1024 1025 1028 1078

Chính nhng dòng thông tin dng này đưc s dng trên các dòng Modline caphn Modes tp tin cu hình xorg.conf.

Đ chnh hình nh trên màn hình, ví d di chuyn sang phi, hãy s dng(nhn vào) nút Right (khi này các s tương ng phía trên s thay đi), rinhn nút Apply. Tương t như vy s dng cách nút Left — di chuyn sangtrái, Up — lên trên, Down — xung dưi, Taller, Wider— tăng kích thưchình nh theo chiu cao, và b ngang hoc gim chúng xung bng Narrowervà Shorter. Trong ln chy th xvidtune cui cùng, tôi không s dng đưcnhng chc năng chnh sa k trên và nhn đưc thông báo không th thc thi(hình 7.4).

Hình 7.4: Chương trình xvidtune “không chu” chnh hình nh

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 192/212

182 Giao din đ ho

Thit lp ban đu có th phc hi bng nút Restore. Kh năng này có ích khihình nh thu đưc sau khi chnh sa không làm bn hài lòng bng lúc đu. NútFetch dùng đ yêu cu nhng giá tr thit lp hin thi ca màn hình. Nút Autodùng đ chuyn gia hai ch đ không t đng và t đng. T đng có nghĩa là

ngưi dùng không cn nhn vào nút Apply đ có th thy nhng thay đi namà s thy chúng ngay lp tc khi có chnh sa nào đó đưc thc hin. Nút Testdùng đ th tm thi nhng giá tr đã đt ra. Nút Show dùng đ đưa ra các giátr như đã nói trên. Hai nút Next và Prev dùng đ chuyn các ch đ hin th,ging như hai t hp phím <Ctrl>+<Alt>+<+> và <Ctrl>+<Alt>+<–>.

Sau khi đã chn xong các giá tr thích hp, hãy nhn nút Show ri ghi lêngiy nhng giá tr này, và đng quên thêm vào đó hai giá tr tn s cp nhtmàn hình Horizontal Sync và Vertical Sync nm góc phi phía dưi caca s xvidtune. Cui cùng hãy m tp tin xorg.conf, kim tra li các dòngModeline và ghi vào đó các giá tr tương ng.

 Vi nhng thông tin gii thiu v ng dng xvidtune chúng ta đã kt thúcphn cu hình chương trình ch X. Xin hãy lưu ý là các phiên bn mi ca cácbn phân phi Linux có kh năng cu hình X rt tt ngay trong quá trình càiđt, do đó hy vng là bn s không phi t mình chnh sa tp tin xorg.conf.Tuy nhiên nhng thông tin trong phn này s có ích khi có vn đ gì đó xy ra,hoc đơn gin là khi bn mun tìm hiu và to cho mình mt cu hình chươngtrình ch X riêng. Còn bây gi chúng ta s xem xét quá trình khi đng toàn bh thng X Window và cách tác đng lên quá trình này.

7.4 Khi đng h thng X WindowCó th khi đng h thng X Window bng nhiu cách. Trong khi cài đt h điuhành Linux, có th ngưi dùng đng ý vi đ ngh ca trình cài đt t đng chyh thng này. Nu vic cài đt và cu hình X.org bình thưng, thì ngay sau khikhi đng h điu hành, bn s chuyn vào ch đ đ ho. Cách khi đng nàycó mt vài đim bt li: th nht, v s dng b nh và s dng tài nguyên nóichung (trình qun lý màn hình s “ăn” mt mt phn b nh, và nhiu công vicca bn có th thc hin trong ch đ văn bn mà bn li phi đi trong khi khiđng X); th hai, khi có vn đ xy ra có th bn s không bit phi gii quyt

như th nào ngoài vic cài đt li. Do đó mc dù nhng bn phân phi mi làmvic rt tt phương din ch đ đ ha, tôi vn chn khi đng vào ch đ vănbn (bng cách đt giá tr initdefault bng 3 trong tp tin /etc/inittab)và ch chy X Window khi cn thit. Làm th nào đ khi đng đưc ch đ đho theo cách khác?

Như bn đã bit t nhng phn trưc, đu tiên chúng ta cn khi đng máych X. Điu này có th thc hin bng cách chy thng chương trình Xorg (hocliên kt mm X) t thư mc /usr/bin/X11/. Bn đã bit kt qu thu đưc làmt màn hình trng vi con tr hình chéo nm gia. Nhưng ngoài ra thì khôngcòn có gì khác và bn không th thc hin thêm mt thao tác nào tr di chuyn

con tr bng chut. Đó là bi vì chưa có mt trình qun lý ca s nào và chưacó mt chương trình khách (client) nào đưc chy. Vì th hãy nhn t hp phím<Ctrl>+<Alt>+<Backspace> đ dng chy máy ch X và quay v ch đ văn bn.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 193/212

7.4 Khi đng h thng X Window 183

Có mt cách tt hơn (nhưng không phi là tt nht) đ chuyn vào ch đđ ho là chy câu lnh xinit. Câu lnh xinit, cũng nm trong thư mc/usr/bin/X11 như Xorg, dùng đ chy máy ch X và ít nht mt chương trìnhkhách. Theo mc đnh xinit thc hin script

X :0

tc là chy chương trình máy ch X trên màn hình s 0.Nu trên dòng lnh chy xinit không ch ra chương trình khách cn chy,

thì chương trình xinit s tìm tp tin .xinitrc có trong thư mc ca ngưidùng đ thc hin tp tin này ging như các script khác, tc là chy nhng câulnh có trong .xinitrc. Nu không có tp tin .xinitrc đó, thì theo mc đnhxinit s thc hin câu lnh sau:

xterm -geometry +1+1 -n login -display :0

Kt qu là ngưi dùng s thy mt màn hình trng không vi mt ca s trìnhlnh xterm duy nht. Và bi vì chưa có trình qun lý ca s nào đưc chy nênbn s không th làm gì (di chuyn, thay đi kích thưc, v.v...) đưc vi ca snày, nhưng có th dùng nó đ thc hin nhng chương trình khác k c trìnhqun lý ca s. Ví d, hãy th chy câu lnh twm hoc fvwm (mt trong hai trìnhqun lý ca s này thưng đưc cài đt theo mc đnh). Sau đó bn s thy cas xterm có thay đi và đã có th di chuyn bng cách kéo thanh trên đu canó. Nu trên máy ca bn có cài các trình qun lý ca s và môi trưng làm vickhác, ví d fluxbox, icewm, Xfce4, KDE và GNOME, thì hãy th chy mt trongcác câu lnh sau:

[user]$ fluxbox[user]$ icewm-session[user]$ xfce4-session[user]$ startkde[user]$ gnome-session

Nu dng li cách khi đng giao din đ ho này, thì mi ln chúng ta sphi lp đi lp li mt s câu lnh, đó là chúng ta còn chưa k đn nhng mt

yu khác ca cách này. Do đó, ngưi dùng cn s dng kh năng to ra tp tinscript .xinitrc đ t đng hóa nhng công vic lp li đn nhàm chán này. Vimc đích hc tp, tôi xin đưa ra dưi đây ví d mt script .xinitrc dùng đchy đng h, hai ca s xterm và cui cùng chy trình qun lý ca s twm.

#!/bin/shxrdb -load $HOME/.Xresourcesxsetroot -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

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 194/212

184 Giao din đ ho

Cn chú ý là nhng chương trình chy t .xinitrc phi đưc thc hintrong ch đ nn (background), nu như chúng không kt thúc ngay lp tc.Trong trưng hp ngưc li, nhng chương trình này s ngăn cn không chochy nhng chương trình nm phía sau. Tuy nhiên mt trong nhng chương

trình này (thưng là trình qun lý ca s hoc trình lnh dng xterm) phi đưcthc hin ch đ bình thưng (foreground), đ cho vic chy script không bkt thúc. Chương trình khách này có tên gi đc bit là “magic client”. Khi ngưidùng đóng “magic client”, chương trình xinit bit là công vic đã hoàn thànhvà nó s t tt. Trong ví d trên, nu trình qun lý ca s đưc cu hình đúng,thì đ có th dng phiên làm vic (session) vi giao din đ ha, ngưi dùng phichn mc Exit trong thc đơn ca twm.

Cóthdùngnhngthamsdònglnhcaxinit đ thay cho script .xinitrc.Trên dòng lnh có th ch ra chương trình khách. Chương trình khách phi làtham s đu tiên ca dòng lnh gi xinit. Tên ca chương trình khách phi

bt đu bng du gch chéo (/) hoc du chm (.), nu không chương trình scoi chúng như là các tham s cn phi thêm vào chương trình khách nm phíatrưc. Bng cách này có th thêm tham s vào cho các chương trình (ví d màunn và màu ch cho xterm) mà không cn phi gõ li dòng lnh t đu. Tt cnhng gì nm sau du gch chéo đôi (––) s đưc thêm vào dòng lnh gi chươngtrình ch X. Ví d du hai chm và mt ch s nào đó ( :n) dùng đ ch ra mtmàn hình có s th t khác 0 (theo mc đnh).

Tng kt mt s ví d gi chương trình xinit:

• [user]$ xinit

Câu lnh này s chy máy ch X, thc hin script .xinitrc nu có trongthư mc ca ngưi dùng, nu không s ch chy xterm.

• [user]$ xinit -- :1

Chy máy ch X trên màn hình s 1. Có ích đ th cu hình mi khi đã cómáy ch X chy trên màn hình mc đnh (s 0).

• [user]$ xinit -geometry 80x25+0+0 -fg white -bg black

Chy máy ch X, và chương trình xterm chy theo mc đnh s nhn đưccác tham s lit kê trên dòng lnh. Script .xinitrc s không đưc thc

hin.• [user]$ xinit -e widgets -- :2

ChymáychXtrênmànhìnhcós2vàđưatichươngtrìnhkhách xtermtham s –e widgets.

 Vì ngưi dùng mi thưng không có đ kh năng đ to ra mt tp tin script.xinitrc đ tt, nên trên các bn phân phi luôn có các script do các nhà pháttrin vit sn đ thc hin chc năng này. Ví d mt trong nhng script nàyđó là startx nm cùng ch vi Xorg (/usr/bin/X11/). Script này có mt trang

hưng dn s dng startx(1) riêng. Cu trúc ca startx có th rt phc tp vàkhông d dàng cho ngưi dùng mi chưa quen vi ngôn ng lp trình ca Bash,nhưng nu nhìn k thì script này thc hin 3 câu lnh chính sau:

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 195/212

7.4 Khi đng h thng X Window 185

xauth add $display . $mcookiexauth add ‘hostname -f ‘$display .$mcookiexinit $client $clientargs -- $server $display $serverargs

Tc là cui cùng thì startx cũng gi câu lnh xinit mà chúng ta va xem xétvà ch có đt trưc các giá tr cn thit cho tham s dùng trên dòng lnh caxinit mà thôi. Ví d, tham s tên tp tin script .xinitrc đưc xác đnh bngbin clientargs. Nu có tp tin .xinitrc trong thư mc ca ngưi dùng thìs s dng nó, tc là “clientargs” = “$HOME/.xinitrc”, nu không s ly tp tinxinitrc ca h thng, tc là “clientargs” = “/etc/X11/xinit/xinitrc”. Vic đt giá trcho các tham s khác cũng xy ra tương t. Câu lnh xauth và tùy chn –auth$HOME/.Xauthority dùng đ xác nhn ngưi dùng đang chy ch đ đ ha.Như vy ngay sau khi cài đt ngưi dùng đã có th dùng câu lnh startx đkhi đng h thng X Window thay cho lnh xinit vi các tham s khó nh.

Nhưng làm th nào đ la chn trình qun lý ca s (môi trưng làm vic)thích hp?

7.4.1 La chn trình qun lý ca s

Mt khi đã làm đưc cho h thng X Window chy thành công, thì bn có rtnhiu kh năng cu hình, tùy chnh nó theo ý ca mình. Nhng kh năng cuhình, tùy chnh này li ph thuc rt nhiu vào trình qun lý ca s mà bn sdng. Như đã nói ngay t đu, có rt nhiu trình qun lý ca s cũng như môitrưng làm vic da trên nhng trình qun lý ca s này. Ngưi dùng có th la

chn mt trong nhng trình qun lý ca s ngay t lúc bt đu chy ch đ đha. Ví d có th thc hin điu này bng tp tin .xinitrc dưi đây:

#!/bin/sh# $HOME/.xinitrc# dùng Xfce4 theo mc đnhWMGR="xfce4-session"# tt xscreensaverxset s noblank# chy screensaver sau 10 phút

xset s 600 2# chy xtermxterm -bg black -fg white -fn 7x14 -geometry 80x24+57+0 &# nu đưa ra mt Window Manager khác# thì dùng nó thay cho Xfce4if [ "$1" != "" ] ; then WMGR=$1fiexec $WMGR

Mc dù không cn thit, nhưng có th chuyn tp tin này thành có th thc

thi bng câu lnh chmod quen thuc:[user]$ chmod u+x .xinitrc

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 196/212

186 Giao din đ ho

Tp tin .xinitrc này cho phép ngưi dùng la chn trình qun lý ca s(hoc môi trưng làm vic) khi khi đng h thng X Window bng câu lnhstartx. Ví d đ khi đng KDE, đu tiên chúng ta tìm xem startkde nm đâu ri đ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ư vy đi vi GNOME:

[user]$ which gnome-session/opt/gnome/bin/gnome-session[user]$ startx /opt/gnome/bin/gnome-session

Chú ý là nu ch chy startx không có tham s thì Xfce4 s đưc khi đng theomc đnh.

Tt nhiên bn có th to cho mi trình qun lý ca s và môi trưng làm vicmt tp tin .xinitrc riêng, ví d cho KDE — tp tin .xinitrc-kde:

#!/bin/sh#$HOME/.xinitrc-kde

# Chy mt s chương trình#xset b off &

# Đt mt s bin, ví d thư vin mà

# xvnkb cn#export LD_PRELOAD=/usr/local/lib/xvnkb.so

# Dùng cách nhp SCIM làm mc đnhexport XMODIFIERS=@im=SCIMexport GTK_IM_MODULE=scimexport QT_IM_MODULE=scim

# Chy môi trưng làm vicexec /opt/kde3/bin/startkde

Thêm thuc tính có th thc thi cho nó:[user]$ chmod u+x .xinitrc-kde

Tương t như vy có th to các tp tin .xinitrc-gnome, .xinitrc-xfce,.xinitrc-fluxbox, ...bng cách thay th dòng cui cùng ca tp tin k trêntương ng bng mt trong nhng dòng dưi đây:

exec /opt/gnome/bin/gnome-sessionexec /usr/bin/xfce4-sessionexec /usr/bin/fluxbox

 Và khi cn khi đng mt trình qun lý ca s nào đó, thì ch cn sao chép tp

tin tương ng vào v trí ca .xinitrc, ví d đ khi đng Xfce4:[user]$ cp .xinitrc-xfce .xinitrc

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 197/212

7.4 Khi đng h thng X Window 187

7.4.2 Môi trưng làm vic KDE và GNOME

Mi ngưi dùng máy tính dù có nhiu kinh nghim hay ít đu c gng to chomình mt môi trưng làm vic quen thuc cho bn thân đ có th làm vic nhanh

hơn (có hiu sut hơn) bng nhng thao tác có th đơn gin như to đưng dnđn nhng chương trình và thư mc thưng dùng, thay đi nh nn, hay phctp hơn như chn phím nóng (k c bng bàn phím và bng chut) đ m nhanhmt chương trình hoc thc hin mt thao tác nào đó trong chương trình đangm, la chn các ng dng thích hp cho công vic. Trên h điu hành Linux,ngưi dùng hơn bao gi ht có th to cho mình mt môi trưng làm vic có mtkhông hai, ví d bng cách chn mt trình qun lý ca s ưa thích nht ri sauđó chn các chương trình ng dng riêng, cn cho công vic ca mình.

Tuy nhiên, cách k trên không phi lúc nào cũng thun tin và quan trnghơn là không phi lúc nào cũng d dàng. Ngưi dùng cn th qua nhng trình

qun lý ca s chính ri sau đó mi đưa ra đưc la chn cho mình, chưa k đns lưng các chương trình ng dng cho Linux là không th đm đưc. Do đó đutiên nên xem xét kh năng la chn mt trong nhng môi trưng làm vic đangphát trin trong nhng năm gn đây. Trong thut ng ting Anh thưng dùngký hiu vit tt GUI — Graphical User Interface, tc là giao din đ ha cangưi dùng. Chúng ta s s dng cm ký t vit tt này dng gc ca nó GUI.GUI là mt b các chương trình ng dng đã đưc kim tra và nhóm li vi nhauđ làm vic trong ch đ đ ho, bao gm trình qun lý ca s và các chương trình khác và có cùng mt giao din chung. S dng GUI thay cho mt môi trưng làmvic t to ra có nhiu ưu đim: đu tiên đó là tit kim đưc nhiu thi gian; th

hai là s d dàng, mi th đã có sn ch cn cài đt và s dng; th ba, chúngta s thu đưc các chương trình vi mt giao din chung, điu này cũng ht scquan trng nu không nói là đim khác bit quan trng nht ca GUI.

Có mt vài môi trưng làm vic đ ha min phí (t do), cũng như thương mi.Trong s các môi trưng t do thì KDE và GNOME ph bin rng rãi nht. Có thgi KDE và GNOME là hai “ông ln” trong th gii GUI. Câu hi môi trưng nàotrong s hai môi trưng này tt hơn hoc cn la chn KDE hay GNOME vưtquá khuôn kh ca cun sách này, và trên mng đã có rt nhiu cuc tranh cãicũng như bài báo xung quanh vn đ này. Fan ca GNOME thì nói GNOME tthơn, fan ca KDE thì nói ngưc li. Bn thân tôi thích dùng KDE hơn vì lý do s

dng GNOME trưc đây không đưc thành công lm, ng dng ca GNOME đãliên tc b li crash (v). Theo như nhiu ngun thông tin thì ng dng GNOMEbây gi đã chy n đnh hơn, nhưng tôi vn trung thành vi KDE. Tôi thích KDEvì giao din đp và có th (nói chính xác là cn thit) chnh sa đ đp hơn. Cncông bng mà nói rng nhng phiên bn gn đây ca GNOME cũng đã có “vđp” không kém KDE.

Cách khi đng vào môi trưng làm vic KDE (GNOME) qua câu lnh startxbn đã bit t phn nm ngay trưc. Nu mun s dng KDE làm môi trưnglàm vic mc đnh cho toàn b h thng thì hãy m tp tin cu hình h thng,thưng là /etc/sysconfig/windowmanager, và thay th giá tr đã có caDEFAULT_WM thành kde (tc là thu đưc dòng DEFAULT_WM="kde" (tc là numun s dng GNOME, thì ch cn đt vào giá tr gnome).

Trong chương ti chúng ta s nghiên cu k hơn v môi trưng làm vic

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 198/212

188 Giao din đ ho

KDE. Nhưng nu mun ngay bây gi bn đã có th xem thông tin v môi trưngnày t trang ch ca nó http://www.kde.org hoc t trang ting Vit http://www.kde-vi.org (rt tic là trang KDE-vi không đưc cp nht kp thi vìnhiu lý do). Trang ch ca GNOME nm ti đa ch http://www.gnome.org.

7.4.3 Môi trưng làm vic Xfce

Môi trưng làm vic Xfce, cũng ging như KDE và GNOME, thuc vào s môitrưng t do, mã ngun m. Đim khác chính ca Xfce là s nh gn và làm vicnhanh, và cũng vì vy mà có ít s lưng chương trình ng dng cũng như khnăng cu hình hơn so vi hai “ông ln” k trên. Tuy nhiên đng vì vy mà đánhgiá thp kh năng ca Xfce. Nu cn thit bn có th chy các ng dng KDEvà GNOME trong Xfce. Môi trưng Xfce cn ít b nh hơn, đ dành b nh chonhng ng dng khác. Môi trưng Xfce không đòi hi phi có mt b x lý mnh.

Do đó, Xfce thích hp vi nhng máy tính có cu hình bình thưng, không có khnăng làm vic vi KDE và GNOME hoc làm vic rt chm. Tt c nhng ưuđim ca Xfce dn đn s ph bin ca nó trong s nhng ngưi dùng có chútkinh nghim làm vic vi Linux.

Phiên bn hin thi ca Xfce là 4 và đã có mt trình qun lý tp tin riêng(Thunar), mt trình gii nén (Xarchiver), trình lnh (Terminal), trình xem phim,h tr panel, v.v...Bn có th xem nh chp Xfce sau khi đã sa chút ít trênhình 7.5 hoc làm quen gn hơn vi Xfce qua trang ch ca nó http://www.xfce.org.

7.4.4 S dng trình qun lý màn hìnhNhư bn đã bit, có th t đng chy h thng X Window ngay khi khi đng máytính bng cách s dng chương trình có tên gi trình qun lý màn hình (DisplayManager), ví d X Display Manager — xdm. Trong trưng hp này, ngưi dùngthy ngay giao din đ ha GUI, mà không cn phi khi đng nó bng lnhstartx. Khi này vn có kh năng chuyn v giao din console bng t hp phím<Ctrl>+<Alt>+<F#> (# đây bng t 1 đn 6), sau đó chuyn quay li vào môitrưng đ ha bng t hp <Ctrl>+<Alt>+<F7>.

Đ t đng chy trình qun lý màn hình (ví d xdm), cn sa tp tin cu hình

khi đng /etc/inittab. Tìm trong tp tin này dòngid:3:initdefault:

xác đnh cp đ khi đng (runlevel) theo mc đnh, và sa nó thành

id:5:initdefault:

S thay đi này s khin Linux chuyn sang khi đng cp đ 5. Trên trìnhqun lý màn hình như xdm cũng có ô login đ ngưi dùng đưa vào tên đăng

nhp ca mình và ô password đ đưa vào mt khu. Sau khi nhp xong loginvà password ngưi dùng cn nhn <Enter> đ vào môi trưng đ ha mc đnhca h thng.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 199/212

7.4 Khi đng h thng X Window 189

Hình 7.5: Môi trưng làm vic Xfce

Nu bn có chn cài đt KDE hoc GNOME thì rt có th h thng s sdng kdm (KDE Display Manager) hoc gdm (GNOME Display Manager) thaycho xdm. kdm và gdm thc hin công vic tương t như ca xdm — cho phép ngưidùng đăng nhp vào h thng, nhưng có mm do hơn: có th chn sc thái, tclà thay đi v ngoài theo ý mình, có th chn môi trưng làm vic (trình qun lýca s) và ngôn ng trc tip trưc khi vào, có th thc hin các thao tác khácnhư tt máy, khi đng li,. . .

Chú ý là nu dùng mt trình qun lý màn hình như kdm hay gdm thì t hpphím <Ctrl>+<Alt>+<Backspace> s không dng máy ch X như bình thưng,

mà s thc hin thao tác “khi đng li” máy ch X. Tc là khi này có th dùng<Ctrl>+<Alt>+<Backspace> đ cp nht nhng thay đi đã to ra trong cu hìnhmáy ch X cũng như toàn b h thng X Window.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 200/212

Chương 8

Làm vic trong môi trưng KDE

“Conquer your Desktop!” — konqueror

Như đã nói trong chương trưc, môi trưng làm vic KDE cùng vi GNOME hin đang ph bin trong th gii ngưi dùng Linux. KDE, GNOME và Xfce có th nói là đã hình thành mt cái “king ba chân” bn vng, trên nn tng X.org, cho môi trưng đ ho ca Linux. Trong chương này chúng ta s tìm hiu k hơn v môi trưng GUI vi tên KDE. Thông tin có trong chương này giúp bn làm quen vi KDE, bit cách cu hình nó theo ý mình, và tt nhiên là làm quen vi mt thành phn rt quan trng ca KDE, đó là nhng ng dng đi kèm giúp ngưi dùng thc hin nhng công vic thưng ngày như son tho văn bn, nghe nhc, xem phim, làm đ ha . . . cui chương bn s tìm thy mt s ngun thông tin khác giúp bn tip tc tìm hiu KDE. Điu này là cn thit vì mt chương 

sách ngn không th nói ht v môi trưng mnh này.

8.1 Bt đu làm vic vi KDE

KDE là vit tt ca K Desktop Environment — mt môi trưng đ ha cho Linuxvà nhng phiên bn UNIX khác, bao gm hàng trăm ng dng và h tr trên 60ngôn ng khác nhau. KDE đưc phát trin trong khuôn kh ca cng đng mãngun m (Open Source Software hay vit tt là OSS), tc là đưc phân phimt cách t do (min phí) cùng vi mã ngun. KDE có các tính cht ca mt môi

trưng làm vic hin đi: đy đ tính năng, s dng thun tin và thit k đpmt. Phiên bn hin thi ca KDE là 3.5.6, và các nhà phát trin KDE đang làmvic ngày đêm đ cho ra đi phiên bn 4.0, mt phiên bn mang đy mong đi vinhng tính năng mi ca bn thân môi trưng KDE, cũng như các ng dng canó. Nhng hình chp cũng như mô t dưi đây thuc v phiên bn 3.5.6, nhưngcũng có th áp dng cho nhng phiên bn khác.

8.1.1 Đăng nhp vào KDE

Trong chương trưc bn đã bit cách khi đng vào môi trưng KDE, s dng

.xinitrc hoc tp tin cu hình /etc/sysconfig/windowmanager cùng viscript startx. Nhưng thông thưng khi cài đt KDE, ngưi dùng s cài đt ctrình qun lý màn hình KDM. Và nu chn chy vào ch đ đ ho ngay sau khi

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 201/212

8.1 Bt đu làm vic vi KDE 191

khi đng h thng thì bn s thy mt màn hình như trên hình 8.1 hin ra. Như

Hình 8.1: Màn hình đăng nhp KDM

vy, màn hình đăng nhp mc đnh ca KDM có hai ô đ ngưi dùng gõ vào tênđăng nhp (username) và mt khu (password) hoc chn tên đăng nhp camình bên trái hai ô này, ngoài ra có th chn các mc sau:

• Session Type

Ch ra môi trưng làm vic (trình qun lý ca s) mun dùng khi đăngnhp vào. Nu có nhng môi trưng làm vic khác trên h thng thì chúngs đưc lit kê trong mt danh sách hin ra. Ch s dng mc này khi bnmun dùng mt môi trưng làm vic khác vi môi trưng mc đnh (thưnglà KDE).

• System

Thc hin các công vic có liên quan đn h thng, như khi đng li hoctt máy. Remote Login (đăng nhp t xa) giúp bn đăng nhp vào môitrưng làm vic trên mt máy khác qua mng.

Đ khi đng môi trưng làm vic mc đnh KDE, ch cn nhp vào tên ngưidùng, mt khu ri gõ <Enter>.

8.1.2 V ngoài ca KDE

Nu bn đã tng khi đng vào KDE, thì đã làm quen vi v ngoài ca màn hìnhsau khi chy môi trưng này. Ví d, hình 8.2 là màn hình KDE trên máy ca tôi

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 202/212

192 Làm vic trong môi trưng KDE

Hình 8.2: V ngoài ca màn hình sau khi chy KDE

sau khi đã có cu hình, chnh sa mt chút. Như bn thy, màn hình có th chiathành hai phn:

• Các thanh panel

Các thanh panel thưng nm phn ngoài cùng (đưng biên) ca mànhình, tc là trên cùng, dưi cùng, bên trái hoc bên phi. Panel dùng đchy các ng dng thưng dùng, chuyn qua li gia các không gian làmvic. Trên thanh panel chính còn có nút gi là KMenu — trình đơn chính

ca h thng KDE, thưng nm đu bên trái ca thanh panel. Nút nàycó biu tưng hình ch K theo mc đnh, nhưng mi bn phân phi có thđt vào v trí này mt biu tưng khác nhau. Như trên hình 8.2, biu tưngđó là hình con tc kè hoa, biu tưng ca OpenSUSE Linux. Nút KMenudùng đ m ra mt trình đơn các ng dng mà KDE tìm thy trên h thng,giúp ngưi dùng chy nhng ng dng này bao gm c nhng chương trìnhkhông có biu tưng trên thanh panel nào.

• Màn hình (Desktop)

Đây là toàn b phn còn li ca màn hình, trên đó có th đt các biu tưng

khác nhau dùng đ chy các ng dng (shortcut) hoc đt các tp tin, thưmc thưng dùng. Trong trưng hp ca mình, tôi đã b đi tt c nhngbiu tưng đó, tuy nhiên đ minh ha tôi đã to ra hai cái là l4u, digikam.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 203/212

8.1 Bt đu làm vic vi KDE 193

đây cn nói thêm mt chút v khái nim không gian làm vic đã nhc đn trên. KDE, cũng như hu ht các môi trưng làm vic và trình qun lý ca s caLinux, có h tr mt s lưng không gian làm vic. Nh có không gian làm vicngưi dùng có th đt các ng dng thuc v mt công vic trên mt màn hình

riêng. Do đó không b ri khi có nhiu ng dng cùng chy. Nu coi môi trưnglàm vic KDE là mt ngôi nhà ln, thì mi không gian làm vic là mt căn phòngtrong nhà đó, và tt c phòng trong nhà này có chc năng như nhau, mc dù cóth có màu sơn, trang trí khác nhau.

Đ chuyn qua li gia các không gian làm vic, thì cn nhn vào ô tương ngvi không gian đó trên trình nh (applet) KPager nm trên thanh panel. Trênhình 8.2, bn s thy trình nh đó có hai không gian làm vic là Làm vic và Giitrí. S lưng cũng như tên gi và mt vài cu hình khác ca không gian làm viccó th thay đi theo ý mun ca ngưi dùng. Tuy nhiên, theo kinh nghim catôi thì ngưi dùng bình thưng không cn quá 3 không gian. Và đôi khi cu hình

máy tính (b x lý, s lưng RAM) không cho phép m quá nhiu ng dng mtlúc đ cn phi s dng nhiu không gian làm vic. Sau mt thi gian làm vicbn s tìm thy s lưng cn thit cho mình.

Thông thưng, phn không gian chính ca thanh panel là vùng thanh côngc (taskbar). Thanh công c dùng đ hin th tên gi, biu tưng ca nhng ngdng đang chy và chuyn qua li gia chúng. Mi ng dng đang chy có mtth riêng trên thanh công c. Khi ngưi dùng nhn chut vào th này, thì ngdng đó s đưc hin th trên màn hình, ngưi ta nói ng dng đưc đưa vàotrng thái hot đng hay (active).

góc bên phi ca thanh panel thưng có đng h. hai đu có th có các

nút có hình mũi tên tam giác. Khi nhn vào nút này, thanh panel s b n đi,ging như b kéo v góc tương ng ca màn hình. Khi này trên màn hình ch cònli mũi tên tam giác đó. Nhn vào mũi tên này s đưa thanh panel quay tr li.Thanh panel ca KDE còn có tên gi “Kicker”, và tp tin chương trình tương nglà kicker. Nu chng may có li gì đó, và thanh panel ca bn t nhiên binmt, thì bn có th phc hi đưa nó tr li bng cách chy câu lnh (trên xtermhoc konsole hoc mt trình lnh khác):

[user]$ kicker &

hoc nhn <Alt>+<F2> đ m hp thoi chy chương trình (hình 8.3) ri gõ vàođó kicker và <Enter>. Mt tính năng quan trng khác ca KDE đó là h thng

Hình 8.3: Hp thoi chy chương trình

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 204/212

194 Làm vic trong môi trưng KDE

tr giúp trc tip trên màn hình. Nu bn đưa chut lên mt biu tưng, mt nútnào đó trên màn hình hoc trên thanh panel, thì s có mt ca s nh hin racho bit nút hay biu tưng đó có tên là gì và có công dng gì, tc là mô t v nó.Thut ng ting Anh dùng cho tr giúp loi này là tooltips. Ví d v tooltips có

trên hình 8.4.

Hình 8.4: Tr giúp có ích tooltips

Kh năng s dng chut ca các môi trưng làm vic hin đi là ti đa. Nút

chut phi trong KDE phc v cho vic m mt trình đơn có ni dung ph thucvào “hoàn cnh” (context menu). Trình đơn này s hin ra khi nhn chut philên bt kỳ mt thành phn nào đó ca màn hình, k c phn màn hình trng(nn màn hình). Trong trình đơn này ngưi dùng có th chn mt trong nhnghành đng có th áp dng cho phn t đó ca màn hình. Ví d, khi nhn chutphi lên nn màn hình, có th chn các câu lnh đ cu hình nó: to biu tưngmi, cp nht, cu hình nh nn, . . .

8.1.3 Trình đơn KMenu

Đ m ra trình đơn chính ca môi trưng làm vic KDE (KMenu), chúng ta cnnhn vào biu tưng ca nó. Biu tưng này theo mc đnh có hình ch K nhưbiu tưng đu chương sách này. Tuy nhiên các bn phân phi Linux thưngthay th nó bng biu tưng logo ca mình. Sau khi nhn vào biu tưng caKMenu mt trình đơn như trong hình 8.5 s hin ra. Cách khác đ m KMenulà dùng t hp phím <Alt>+<F1>. Trình đơn này đã có s thay đi ln so vitrình đơn “c đin” ca KDE, đưc th nghim ln đu trên OpenSUSE. Cácnhà phát trin KDE s dùng s thay đi này trong phiên bn 4.0 sp ti, cho nêntôi s mô t v KMenu kiu mi này đây. Trong KMenu mi các biu tưng cómt đim gì đó chung đưc nhóm li vi nhau và đt vào tng th (tab) riêng.

Trên hình 8.5 chúng ta thy có 5 th như vy: Favorites (nhng ng dng ưathích), History (nhng ng dng, tp tin mi m gn đây), Computer (nhngthư mc, đĩa, đưng dn chính ca máy tính), Applications (nhng ng dngcó trên h thng, có l đây là phn quan trng nht đi vi bn) và Leave (dùngđ thoát ra khi h thng và thc hin mt s hành đng khác).

Trong phn Applications bn s tìm thy rt nhiu ng dng có ích. Nhngng dng này li đưc sp xp trong mt h thng trình đơn có trt t, ming dng nm trong mt nhóm thc hin mt chc năng chung, như Internet,Graphics, Multimedia, Office. Nhóm ng dng s có hình mũi tên tam giác cui. Đ m mt nhóm ng dng chúng ta cn nhn chut vào tên ca nó. Khi

này s m ra nhng ng dng (và có th có nhóm ng dng) thuc vào nhóm này.Mun quay li thì nhn chut vào thanh có hình mũi tên tam giác nm bên trái.Nu mun thêm mt chương trình nào đó vào danh sách ca th Favorites, thì

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 205/212

8.1 Bt đu làm vic vi KDE 195

Hình 8.5: Trình đơn chính ca KDE

cn nhn chut phi vào tên (biu tưng ca chương trình tương ng ri chncâu lnh Add to Favorites.

Mt tính năng mi đc bit hu ích ca trình đơn KDE đó là tính năng tìmkim. Ví d bn mun tìm ng dng có tên amarok. Hãy nhp tên đó vào ô tìmkim nm bên cnh ch Search, ri nhn <Enter> hoc đi mt chút. Kt qutìm kim s hin th ngay trong trình đơn KMenu (hình 8.6). Ngoài ng dng,trong kt qu hin th còn có th có thêm mt vài tp tin có liên quan đn t tìmkim. Mun chy (m) kt qu nào đó, thì ch cn nhn vào dòng tương ng. ngdng tìm thy nm trong phn Application ca kt qu. Tính năng tìm kim nàyđưc xây dng mt phn da trên h thng Kerry/Beagle. Ngoài ra trên trìnhđơn chính còn có hin th tên đăng nhp và tên máy. Thông tin này có ích khibn đăng nhp vào bng tên ca ngưi dùng khác hoc đăng nhp vào máy xa.Bn s luôn luôn bit đưc “mình là ai” và “đang đâu”.

8.1.4 Trung tâm điu khin KDE

Tên “Trung tâm điu khin” ca KDE trong nhng phiên bn gn đây đã đưcthay th bng tên mi “Thit lp cá nhân” (Personal Settings). S thay đi nàykhông có gì quan trng mà ch có ý nghĩa tên gi, chc năng ca chương trình là

hoàn toàn như cũ: trong Thit lp cá nhân ngưi dùng có th thay đi hu htcác cu hình ca môi trưng làm vic KDE.Thit lp cá nhân (Personal Settings) có th chy qua trình đơn chính, qua

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 206/212

196 Làm vic trong môi trưng KDE

Hình 8.6: Tìm kim trong trình đơn chính ca KDE

biu tưng trên thanh panel, hoc t dòng lnh bng cách gõ tên chương trìnhlà kcontrol. Chúng ta s thy mt ca s như trên hình 8.7 hin ra. bêntrái là danh sách dng cây ca nhng môđun có trong Personal Settings, còn bên phi là nhng th và nhng tùy chn thuc v môđun đang đưc chn bêntrái. Mi môđun nm trong mt nhóm nào đó. Ví d, môđun Panels nm trongnhóm Desktop. Trong s nhng môđun ca Personal Settings chúng ta s xemxét mt vài môđun làm ví d, nhng môđun còn li bn s t t tìm hiu khis dng KDE, vì s lưng ca chúng ln. Th nht, đ “làm đp” KDE thì thôngthưng tôi thay đi các tùy chn sc thái, tc là thay đi nhng môđun ca nhóm

 Appearance & Themes: thay đi trc tip sc thái bng Theme Manager,sau đó thay đi các biu tưng bng Icons, kiu dáng bng Style, ... và cuicùng chn nhng phông ch cho thích hp (Fonts).

Trưc khi chn phông ch cn s dng đn môđun Font Installer nu munthêm nhng cái mi mi. Có th nói đây là trình cài đt phông ch vi giaodin đ ha ca KDE (xem hình 8.8. Như vy môđun này lit kê nhng phôngđã có trong thư mc cá nhân ca bn (thưng là ~/.fonts) ô bên trái, bênphi là ô xem phông đưc chn. Nu mun thêm mt phông nào đó thì cn nhnvào nút Add Fonts ... ri tìm đn tp tin cha nó. Nu mun thêm phôngch cho toàn b h thng thì hãy chuyn vào ch đ qun tr h thng bng

nút Administrator Mode . . . (khi này bn cn nhp vào mt khu ca root).Phông ch cho các thành phn khác nhau ca KDE đưc la chn trong môđunFonts (hình 8.9 cho thy phn bên phi ca Personal Settings khi nhn vào

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 207/212

8.1 Bt đu làm vic vi KDE 197

Hình 8.7: Trình Thit lp cá nhân ca KDE

môđun này). Đ thay đi mt phông ch nào đó cn nhn vào nút Choose ...tương ng vi nó. Khi đó s hin ra ca s như trên hình 8.10. Sau khi chn đưcphông ch thích hp cùng vi kiu dáng (Font style) và kích thưc (Size), cnnhn vào OK đ chp nhn nó. Nhưng như vy phông ch vn chưa đưc dùng

trong KDE. Bn cn làm thêm mt thao tác na đó là nhn vào nút Apply hocOK ca môđun đ KDE bit chc chn là bn mun s dng phông này. Thao táccui cùng này là cn thit đi vi c nhng môđun khác. Khi ngưi dùng thchin mt thay đi nào đó trong mt môđun (ví d chn phông ch khác), chưa ápdng nó mà chuyn sang môđun khác thì s có mt hp thoi cnh báo hin ranhư trong hình 8.11. Ý nghĩa ca các nút ca hp thoi xin đưc gii thích mtln đây, chúng s lp li nhng trưng hp khác. Apply — áp dng nhngthay đi, Discard — không áp dng chúng, tc là bn ch mun th nghimch không mun thay đi gì, Cancel — đóng hp thoi cnh báo này và quay vmôđun đã có thay đi đ xem xét li. Quay li vi môđun chn phông ch. Trong

môđun này bn có th thc hin thêm mt s thao tác na. Đó là chn tt c cácphông ch cùng mt lúc bng nút Adjust All Fonts ... , dùng anti-aliasing chophông hin th đp hơn (đánh du vào ô vuông cnh dòng Use anti-aliasing forfonts), và dùng đ phân gii t chn (Force fonts DPI).

Đ thay đi nhng “phím nóng” dùng trong KDE, cn s dng môđun Key-board Shortcuts. đây có th thay đi, thêm các phím nóng đ chy mtchương trình nào đó, đ m trình đơn chính, v.v ...Nói đn phím nóng khôngth không k đn mt tính năng mi ca KDE là kh năng s dng chut (bànphím) đ thc hin mt thao tác nht đnh nào đó trong mt chương trình, hoctrên nn màn hình. Ví d, bn có th dùng nút chut gia (bánh xe) v lên màn

hình mt hình gì đó, ví d hình ch nht, và khi đó chương trình OpenOffice.orgWriter s chy. Hoc trong chương trình Konqueror, cũng bng nút bánh xe vhình ch L và Konqueror s m mt thư mc xác đnh (chúng ta s nói k hơn

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 208/212

198 Làm vic trong môi trưng KDE

Hình 8.8: Cài đt phông ch mi

Hình 8.9: Chn phông ch dùng cho text, trình đơn, . . .

v Konqueror sau). Nhng cu hình này đưc thc hin trong môđun Input Actions nm cùng nhóm vi môđun va k trên.

Bây gi chúng ta s nghiên cu c th hơn cách thay đi v ngoài ca KDE,tc là thay đi nn màn hình, trình đơn chính và các thanh panel.

8.1.5 Thay đi v ngoài

Hai thành phn chính ca màn hình là nn và các thay panel có th thay đi mtcách d dàng bng cách nhn chut phi lên chúng và chn các câu lnh tươngng trong trình đơn m ra (trong sách này chúng ta s tm gi nó là “trình đơnbi cnh”, dch t ting Anh “context menu”). Ngưi dùng các h điu hành cógiao din đ ho khác chc chn là s s dng trình đơn bi cnh mt cách ddàng.

Khi nhn chut phi lên phn trng ca thanh panel s m ra mt trình đơnca panel này (hình 8.12), bao gm các mc sau:

• Add Applet to Panel ... — Thêm các trình nh có ích, như trình theo dõi

mng, đng h, vào thanh panel.• Add Application to Panel — Thêm biu tưng (nhóm) chương trình vào

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 209/212

8.1 Bt đu làm vic vi KDE 199

Hình 8.10: Chn phông ch

Hình 8.11: Cnh báo khi có thay đi chưa áp dng

thanh panel đ có th tìm (chúng) nó nhanh hơn. Trong danh sách hin rabn cn chn chương trình hoc toàn b nhóm chương trình đó bng Addthis Menu.

• Remove From Panel — G b chương trình hoc applet (đang có) khi

thanh panel.• Add New Panel — Thêm thanh panel mi. Ví d, bn có th thêm mt

thanh panel đ “đng” biu tưng nhng ng dng thưng chy.

• Remove Panel — G b mt thanh panel nào đó cùng vi tt c nhng gìcó trên thanh panel này.

• Lock Panels — Mt trong nhng cái mi ca KDE, tính năng này cho phéptm thi “khóa” panel đ không thay đi nó mt cách vô tình.

Configure Panel ...— Cu hình thanh panel. Khi chn câu lnh này, s

m ra mt ca s cho phép thay đi các tùy chn cu hình ca panel.

• Help — Tr giúp v panel.

Ngoài ra, nu nhn chut phi vào mt biu tưng chương trình hoc applet cótrên thanh panel thì s m ra mt trình đơn bi cnh có khác mt chút, nhưchúng ta có th thy trên hình 8.13. Ý nghĩa ca các câu lnh tôi nghĩ không cngii thích. Trong đó quan trng nhn có l là lnh Configure XXX Button ...— đt tên cho nút ca chương trình XXX, câu lnh ca chương trình s chyvà mt vài cu hình khác. Như đã nói trên, khi chn câu lnh Configure

Panel ... ca trình đơn bi cnh ca panel hoc chn môđun Panels (nhómDesktop) ca Personal Settings, s hin ra ca s chnh sa các thanh panelnhư trên hình 8.14. Có 4 th tab (Arrangement, Hiding, Menus và Appearance)

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 210/212

200 Làm vic trong môi trưng KDE

Hình 8.12: Trình đơn ca thanh panel

Hình 8.13: Trình đơn bi cnh ca nút

cùng nhiu tùy chn nhưng chúng ta ch chú ý đn mt s trong đó. Đu tiên cnchn thanh panel mun cu hình bng cách nhn vào ô nm sau dòng Settingsfor (th Arrangement) ri chn panel tương ng. Sau đó dưi có th chn vtrí đt thanh panel (Position), chiu dài ca nó tính theo % so vi cnh camàn hình (Length) và đ cao tính theo pixel (Size). Trên th Appearance, cóth chn đ thanh panel tr thành trong sui (đp hơn?) bng tùy chn Enable

transparency. Nu mun bn có th b đi các nút giu thanh panel (hình mũitên tam giác) bng cách b đi các du X trong các ô ca Panel-Hiding Buttons(th Hiding). Sau mi ln thay đi đng quên áp dng nó bng nút Apply.

Tương t như các thanh panel, khi nhn chut phi lên phn trng ca nnmàn hình s m ra mt trình đơn bi cnh ca màn hình. Trong trình đơn nàycũng có nhiu câu lnh đ bn có th nghiên cu dn dn. Câu lnh ConfigureDesktop ... là lnh chúng ta quan tâm. Lnh này dùng đ cu hình khônggian làm vic cũng như nn màn hình (như thay đi nh nn). Khi chn lnhnày s hin ra ca s như trên hình 8.15. Trong ca s này ngưi dùng có th

chn không dùng nh nn (ch dùng màu), chn mt nh làm nn hoc chn mtnhóm nh thay phiên nhau sau mt khong thi gian nht đnh (slide show). Slưng và tên gi ca các không gian làm vic có th thc hin qua th MultipleDesktops. Đ thay đi trình đơn chính ca KDE (KMenu), ngưi dùng có th sdng chương trình Menu Editor. Khi nhn chut phi lên biu tưng ca trìnhđơn chính bn s thy mt câu lnh có cùng tên vi chương trình này. Nhn vàođó đ chy chương trình son tho trình đơn. Hoc t dòng lnh chy câu lnhkmenuedit. Kt qu thu đưc là như nhau (hình 8.16). Cui cùng, đ thêm biutưng lên màn hình, mc dù theo tôi là không thc s cn thit, bn cn s dngcâu lnh Create New (trong trình đơn bi cnh hin ra khi nhn chut phi lên

màn hình như đã nói trên) và chn mc tương ng ca lnh này. Sau khi ktthúc công vic bn cn bit cách thoát khi KDE cũng như giao din đ ho, hoctt máy hoàn toàn.

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 211/212

8.1 Bt đu làm vic vi KDE 201

Hình 8.14: Cu hình các thanh panel

Hình 8.15: Thay đi màn hình

8.1.6 Điu khin phiên làm vic1

Phiên làm vic (ting Anh là session) có th tm đnh nghĩa là quá trình làmvic ca ngưi dùng bt đu t lúc vào môi trưng làm vic đn lúc thoát ra. Đ

điu khin phiên làm vic, môi trưng KDE có mt chương trình riêng — Session Manager (Trình qun lý phiên làm vic). Chương trình này chy ngay sau khitên ngưi dùng và mt khu đưc h thng xác nhn là đúng. Trình qun lýphiên làm vic cho phép bn lưu li các thit lp hin thi cho mi phiên làmvic, và đng thi cho phép phc hi trng thái ca phiên làm vic cui cùngtrong ln đăng nhp sau.

Trình qun lý phiên làm vic có th phc hi các thit lp sau:

• Các thit lp trang trí và tính năng, như phông ch, nh nn, màu và thitlp chut.

ng dng đang chy, như Konsole, t đin Stardict hay OpenOffice.org.1Session

Smith Nguyen Studio.

8/3/2019 Tu Hoc Su Dung Linux - Smith.N Studio

http://slidepdf.com/reader/full/tu-hoc-su-dung-linux-smithn-studio 212/212

202 Làm vic trong môi trưng KDE

Hình 8.16: Son tho trình đơn chính

Smith Nguyen Studio.