Giáo trình cơ bản về Linux, giáo trình hướng dẫn chi tiết về hệ điều hành Linux, như hướng dẫn cái đặt, hướng dẫn các lệnh trong Linux, một tài liệu cơ bản và khá chi tiết cho các bạn học tập, nghiên cứu cũng như tham khảo trong quá trình học của mình.
Trang 1Phần I : Cài đặt và thiết lập cấu hình
Chơng 1 : Chuẩn bị
Trong giờ này, bạn sẽ học các bớc chuẩn bị để cài đặt Linux lên máy tính Lên kếhoạch là một trong những yếu tố quan trọng trong việc cài bất kỳ hệ điều hành nào.Trong kế hoạch phải xác định đợc phơng pháp cài đặt, nơi cài đặt và kết quả do việc cài
đặt mang lại
Ba bớc phải làm trong phần này là:
• Tìm hiểu máy tính của bạn
• Tạo các đĩa mềm cài đặt
Trớc tiên hãy xem xét các thiết bị ngoại vi:
• Bàn phím Bàn phím là một thiết bị vào ra chuẩn song cần xác định ngôn ngữlàm việc của bàn phím
• Màn hình Xác định rõ loại và kích cỡ màn hình Tốt hơn là bạn nên có tàiliệu về màn hình, bởi vì nó sẽ xác định chính xác các thông số nh tần số quétngang/dọc…
• Chuột Các thông số về chuột cần thiết là nhãn hiệu, số nút, dạng cổngcắm chuột (serial, PS/2, bus mouse… )
• Máy in Bạn cần ghi lại các thông số nh tên nhà sản xuất, khả năng môphỏng máy in khác, máy in có là PostScript hay không
Bây giờ hãy tìm hiểu các phần cứng bên trong máy tính Có rất nhiều các loại phầncứng khác nhau, các ký hiệu khác nhau (nh SCSI, IDE, BIOS… ) Tuy nhiên mọi việc sẽ
đợc giải quyết từng bớc một
Hầu hết, các thông tin về máy tính đều đợc chứa trong BIOS và bạn có thể thấy
đ-ợc khi khởi động khi ấn các phím đặc biệt (F1, Del, …) Nếu bạn đang dùng Win95 hayWinNT thì các thông tin đó có thể tìm thấy trong mục system properties của ControlPanel
Linux là hệ điều hành chạy trên nhiều nền khác nhau Tuy nhiên nhà cung cấp của
đĩa CD Linux kèm theo sách này chỉ cho phép chạy trên Intel CPU (hay các chip tơngthích AMD, Cyrix) Sau đây là danh sách các thiết bị cần tìm hiểu:
• CD-ROM Do Linux hỗ trợ hầu hết các trình điều khiển CD-ROM nên cách
đơn giản nhất để cài đặt là nối ổ CD-ROM với card SCSI hayIDE bus Nếu CD-ROM nối với IDE bus thì nó phải là loại tơngthích với ATAPI
• ổ mềm Phải là loại 3,5 in 1,44MB
Trang 2• ổ cứng Giống nh CD-ROM, nó có thể đợc nối với IDE hay SCSI bus.
Bạn nên ghi lại số cylinders của ổ cứng - đợc chỉ ra trong BIOS(ý nghĩa của cylinder sẽ đợc giải thích sau)
• Bus nội bộ Linux hiện tại không hỗ trợ bus với kiến trúc Micro-Chanel Các
bus đợc hỗ trợ là PCI, ISA, EISA, VL Bus Hầu hết các máy sảnsuất sau năm 1995 đều có PCI bus
• Bộ nhớ Linux cần tối thiểu 8MB RAM để có thể chạy đợc
• Sound card Không cần thiết cho quá trình cài đặt, song nếu bạn có Creative
Labs Sound Blaster hay card sound tơng thích, bạn sẽ dễ dàng có
đợc âm thanh trong quá trình cài đặt
• Video card Thông tin cần thiết ở đây là loại chip và dung lợng bộ nhớ Nếu
là loại card PCI thì thông tin này có thể tự động nhận biết trongquá trình cài đặt (thông tin này chỉ thực sự cần thiết nếu bạn có ý
định dùng Xwindow)
Xem xét phần cứng
Bây giờ bạn đã hoàn thành việc tìm hiểu máy tính của bạn Việc tiếp theo là sosánh danh sách phần cứng bạn có với danh sách đợc Linux hỗ trợ Bạn có thể tìm thấychúng tại địa chỉ:
http://www.redhat.com/support/docs/rhl/intel/rh50-hardware-intel.html
Bảng 1.1 Vắn tắt phần cứng Linux-compabtible
Thiết bị Các thiết bị tơng thích
CD-Rom Drive IDE ATAPI-compliant, SCSI CD-Rom
Hard Drive Các loại IDE, EIDE, SCSI Một số loại Ultra DMA
không làm việc đơvj vì không tơng thích với chuẩnEIDE
SCSI Controller Hầu hết các điều khiển SCSI thông dụng nh BusLogic và
AdaptecVideo card Các loại card ATI, Cirrus và Matrox, S3…
Nếu phần cứng của bạn không đợc hỗ trợ thì chỉ còn cách:
• Thay đổi phần cứng sao cho tơng thích
• Chờ cho đến khi Linux hỗ trợ phần cứng của bạn
Tốt hơn là nên tránh các thiết bị mang nhãn Plug & Play Bởi vì Linux mới chỉ
đang bắt đầu hỗ trợ các thiết bị này, do đó sẽ rất phức tạp khi cài đặt Bạn cũng nên thậntrọng với các phần cứng đợc liệt vào loại Win-item (nh Winmodem và Winprinter) vìchúng chỉ hoạt động trong môi trờng Window
Trang 3Netmask
Default Gateway
Primary Namesever
Secondary Nameserver
NFS Server (optional)
FTP Server (optional)
Chuẩn bị các đĩa mềm cài đặt.
Bớc tiếp theo bạn sẽ tạo đĩa boot và đĩa phụ trợ Lấy 2 đĩa mềm, tạo nhãn là Boot
và Supp Các đĩa này sẽ đợc tạo abừng chơng trình rawrite, một tiện ích chạy dới DOS,
đợc để trong th mục \DOSUTILS trên đĩa CD-ROM
Để tạo đĩa Boot:
rawrite
Enter disk image source file name:D:\images\boot.img
Enter taget diskette drive: a:
<-Please insert a formatted diskette into drive A: and press Enter
Để tạo đĩa Supp:
rawrite
Enter disk image source file name: D:\images\supp.img
Enter taget diskette drive: a:
<-Please insert a formatted diskette into drive A: and press Enter
Chuẩn bị ổ cứng.
Vì bạn đang tìm cách cài Linux lên ổ cứng nên bạn phải bảo đảm rằng ổ cứng còn
đủ dung lợng trống cần thiết Nếu bạn đã có ổ cứng phụ hoặc ổ cứng của bạn đã đợc phân vùng cho Linux thì bạn có thể bắt đầu ngay phần cài đặt Trái lại bạn cần tạo khoảng không gian cần thiết cho việc cài đặt trên ổ cứng cũ bằng cách sử dụng chơng trình fibs.exe có trên đĩa CD.
Các phân vùng và hệ thống file.
Nh đã nói ở trớc, Linux phải đợc cài đặt trên phân vùng riêng của nó Các ổ cứng phải đợc phân vùng trớc khi sử dụng sử dụng Việc phân vùng ổ cứng cho phép bạn chia
ổ cứng của bạn thành nhiều phần, mỗi phần đợc sử dụng với các mục đích khác nhau.Các hệ điều hành ghi thông tin lên các phân vùng của mình theo những cách khác nhau Cách thức mà hệ điều hành ghi thông tin lên đĩa đợc hiểu là hệ thống file.
Các phân vùng (partition).
Có 2 dạng phân vùng là vùng chính (primary) và vùng mở rộng (extended) Vùng
mở rộng có thể đợc chia thành các ổ logic Một đĩa cứng có thể chứa cả 2 loại partition
Nó có thể chứa đồng thời 4 phân vùng chính
Hình 1.1 Ví dụ về các phân vùng ổ cứng.
Các hệ thống file.
Các phân vùng có ý nghĩa: “ hãy ghi file vào vùng này” Ngợc lại, các hệ thống file có ý nghĩa: “ hãy ghi file theo dạng này” Hệ điều hành DOS sử dụng hệ thống file gọi là FAT16, trong khi đó Window95 dùng FAT32, … Đối với Linux thì dùng 2 hệ thống file là EXT2 và SWAP
Tạo không gian đĩa
Đối với phiên bản Linux kèm theo CD-Rom, bạn cần ít nhất 60 MB ổ cứng (trong
lý thuyết) Bình thờng nên có 250 MB, còn muốn cài đầy đủ, bạn cần dung lợng đĩa trống là 600MB Trong phần này hớng dẫn bạn tạo phân vùng cho Linux từ ổ cứng 1GB
Trang 4Trong ví dụ này ta sẽ bắt đầu với một vùng chiếm cylinder từ 1 đến 1024 Mục tiêu
là giảm kích thớc vùng này xuống còn một nửa, sau đó tạo vùng mở rộng với không gian
đĩa còn lại Sau khi phân vùng sẽ không bị mất dữ liệu
Fibs là tiện ích phân vùng kèm theo đĩa CD Trớc tiên phải đọc các hớng dẫn đikèm trong th mục \DOSUTILS Nó cung cấp chi tiết các câu lệnh và các câu hỏi bạn th-ờng gặp Tiếp theo sao lu dữ liệu trên máy tính của bạn Sau đó copy fibs.exe vào đĩamềm khởi động và tiến hành phân vùng
Fibs làm việc theo cách phân phối lại không gian đĩa còn trống ở cuối đĩa cứng, do
đó phải tiến hành dồn dữ liệu trên ổ cứng trớc khi phân vùng (Dùng NU hoặc Win95defragment)
Sau khi phân vùng, hãy khởi động lại máy tính của bạn Nếu mọi việc tiến triểnbình thờng thì bạn đã thành công trong việc phân vùng ổ cứng mà không làm ảnh hởngtới hệ điều hành cũ của bạn
Trang 5Chơng 2 Cài đặt Linux
Trong chơng 1 ta đã học cách chuẩn bị hệ thống cho việc cài đặt Trớc khi cài đặt
ta hãy làm quen với một số khái niệm mới
Giao diện cài đặt.
Giao diện cài đặt là giao diện kiểu văn bản Chuột không đợc sử dụng trong qúatrình cài đặt Tuy nhiên có nhiều phím tắt cho phép ;lựa chọn các mục để cài đặt
Để di chuyển vệt sáng, ta dùng các phím muĩ tên, phím Tab hay Alt-tab Để lựachọn một mục ta dùng phím Space-Bar hoặc Enter…
F12 (Shift-F12) là phím đặc biệt cho phép chọn các giá trị trên màn hình vàchuyển đến màn hình tiếp theo
Quá trình cài đặt bao gồm rất nhiều các thông tin cho ngời sử dụng lựa chọn, điều
đó xảy ra liên tục trong các phần khác nhau Để tránh làm lộn xộn màn hình chính vớicác dữ liệu đặc biệt, ta sử dụng một thuận lợi của Linux là các màn hình ảo thông quaphím tắt (Bảng dới)
Bảng 2.2 Các phím tắt của màn hình ảo
Phím tắt Chức năng
Alt-F1 Hộp thoại chính của cài đặt
Alt-F2 Khi đã phát hiện ra đĩa CD-Rom, bạn sẽ có một dấu nhắc
shell cho phép thực hiện các lệnh của LinuxAlt-F3 Thoát khỏi chơng trình cài đặt
Alt-F4 Ra khỏi hạt nhân và vào hệ điều hành khác
Alt-F5 Thông báo từ đĩa đang format và các chơng trình khác
Tốt hơn hết là không nên sử dụng các phím này trừ khi bạn là ngời tò mò hoặc cónhiều kinh nghiệm dùng Linux
Bắt đầu cài đặt
Để bắt đầu cài đặt, hãy cho đĩa Boot vào ổ mềm và khởi động lại máy Máy tính
sẽ khởi động bình thờng cho đến khi gặp dấu nhắc boot:
Màn hình khởi tạo chứa toàn bộ các thông tin cần thiết cho quá trình cài đặt Nócũng cho phép truy cập tới các thông tin trợ giúp phục vụ cho cài đặt Để làm điều đó,hãy dùng các phím tắt nh bảng dới đây:
Bảng 2.2 Các phím chức năng.
F1 Main screen Màn hình bạn thấy khi bắt đầu
F2 General Cài đặt bình thờng
F3 Expert Cài đặt trong chế độ chuyên gia, bạn phải tự xác
Trang 6định lấy cấu hình phần cứngF4 Rescue Cho phép khôi phục hệ thống đang bị lỗi Khi đó
bạn cần thêm đĩa SuppF5 Kickstart Là chế độ cho phép định trớc cấu hình cho file văn
bản Mode này không thuộc phạm vi hớng dẫn củacuốn sách này
F6 Kernel Cho phép bạn vào hạt nhân khi đang cài đặt
Bây giờ hãy chọn một mục bất kỳ để tiến hành cài đặt Nếu bạn không chọn thìquá trình cài đặt sẽ tự động bắt đầu sau một phút
Hỗ trợ PCMCIA
Tiếp theo, trình cài đặt sẽ tìm các bộ điều khiển PCMCIA trên máy tính Nếu nótìm đợc một mạch PCMCIA trên máy, nó sẽ yêu cầu đa đĩa mềm có chứa trình điềukhiển vào Nếu không tìm thấy, trình cài đặt sẽ tự động lờ đi và chuyển sang bớc tiếptheo
\RedHat vào ổ cứng tại phân vùng FAT16 Phơngpháp này cần có đĩa mềm phụ trợ
NFS Cài đặt Linux từ NFS Server
FTP Cài đặt Linux từ FTP Server
Cài đặt Linux từ đĩa CD-Rom
Trang 7Khi chọn phơng pháp cài đặt từ CD, sau khi cho đĩa CD vào, trình cài đặt sẽ tự
động nhận biết ổ CD nếu nó là loại IDE Nếu không nó sẽ hỏi bạn loại ổ CD, có 2 loạisau:
• SCSI Nếu chọn ổ CD là loại SCSI, Linux sẽ tìm trình điều khiển cho
CD tơng ứng Nếu không tìm đợc, nó sẽ liệt kê một danh sách cácSCSI adapter để bạn chọn lựa Bạn có thể để cho Linux tự độnggán cấu hình cho ổ CD hoặc làm bằng tay Tuy nhiên trong đa sốtrờng hợp bạn không phải làm gì cả
• Other Đây là trờng hợp ổ CD không phải là IDE hay SCSI, khi đó trình
cài đặt sẽ liệt kê danh sách các loại ổ CD để bạn lựa chọn
Khi ổ CD đã đợc nhận biết, Linux sẽ cố gắng thiết lập (mount) đĩa CD Red Hat càchuyển áng bớc tiếp theo
Bớc thứ hai
Công việc phải làm trong bớc này là phân vùng ổ cứng và lựa chọn các phần Linux
mà bạn muốn cài đặt
Chọn Install hay Upgrade
Trong cửa sổ chọn lựa tiếp theo, bạn sẽ chọn cài đặt mới hay nâng cấp Linux
Hình 2.4 Chọn Install hay Upgrade
Hỗ trợ SCSI
Tiếp theo, chơng trình sẽ tìm cách phát hiện và cài đặt các SCSI adapter Đầu tiên
nó sẽ hỏi bạn có các thiết bị SCSI hay không, nếu chọn Yes sẽ có một hộp thoại để bạnchọn các SCSI adapter, sau đó nó sẽ hỏi nếu bạn muốn trình cài đặt tự động đặt cấu hìnhcho thiết bị Trong mọi trờng hợp nên chọn Yes
Phân vùng ổ cứng
Trớc khi tiến hành phân vùng, bạn phải hiểu cách thức Linux tham chiếu đến cácphân vùng nh thế nào Trong môi trờng DOS/WIN, các phân vùng khác nhau đợc gáncho các ký tự khác nhau (ví dụ C: D: ) Đối với Linux thì nó không sử dụng các ký tự ổ
đĩa mà các phân vùng chỉ có ý nghĩa nh là các th mục mà thôi Khi đó các phân vùng
C, D ở trên xuất hiện đối với ngời dùng nh là các th mục / hay /data
Màn hình tiếp theo cho phép lựa chọn các tiện ích phân vùng, hãy chọn DiskDruid
Disk Druid là một chơng trình quản lý đĩa kiểu GUI-based Nó cho phép tạo mới
và xoá các phân vùng, đồng thời tạo các mount points cho các vùng đó Fdisk cũng là
chơng trình gần giống Disk Druid nhng linh hoạt hơn song giao diện không thân thiệnvới ngời sử dụng
Bạn cần ít nhất 2 phân vùng cho Linux, một cho mount point gốc / và một choLinux swap Vùng hoán đổi nên có kích thớc gấp đôi kích thớc RAM của máy Nếu kíchthớc RAM lớn hơn 32M thì có thể đặt kích thớc linux swap bằng với kích thớc củaram
Giao diện của Disk Druid
Màn hình Disk Druid, chứa rất nhiều thông tin về ổ cứng của bạn
Trang 8• Mount point Tên th mục mà phân vùng đợc gán dới Linux Nếu không đặt gìvào phần này đồng nghĩa với phân vùng sẽ không đợc thiết lập (mount) dớiLinux.
• Device Tên ổ cứng của phân vùng
• Request Dung lợng tối thiểu yêu cầu khi xác lập phân vùng
• Actual Dung lợng hiện tại đợcc gán cho phân vùng
• Type Kiểu của phân vùng có thể là DOS, NTFS, Linux native, Linuxswap…
Thông tin về ổ đĩa cứng
• Drive Tên của thiết bị (ổ cứng) Các ổ IDE sử dụng tên là hdX, trong đó
X là ký tự đợc gán cho ổ cứng Các ổ SCSI đợc gán nhãn lần lợt là sda, sdb…
• Geom[C/H/S] Cấu trúc của ổ cứng bao gồm số cylinder, head và sector.Nếu thông tin này không phù hợp với thông tin của BIOS thì bạn nên dùngFdisk thay cho Disk Druid
Các lệnh của Disk Druid
Đây là các nút lệnh cho phép thực hiện các thao tác thêm, xoá, thay đổi, tạo lại
để có thể bắt đầu cài đặt
Hình 2.7 Mục F1-Add: Thêm một phân vùng
Bảng 2.4 Giải thích menu F1- Add
Mount point Nhập mount point của phân vùng Vì toàn bộ dung
l-ợng phân vùng cần đợc xem nh là các th mục concủa / nên cần tạo một mount point gốc là /
Size(Megs) Dung lợng yêu cầu tối thiểu của phân vùng Trừ phi
có thay đổi, kích thớc bé nhất phải là 1 MBGrowable? Hộp chọn cho biết dung lợng yêu cầu là tối thiểu hay
chính xác Nếu Growable đợc chọn thì kích thớc đĩa
đợc cung cấp sao cho tận dụng hết dung lợng còntrống
Type Chọn kiểu cho phân vùng
Allowable Drive Chỉ ra ổ cứng để tạo phân vùng
Mục F2-Add NFS cho phép tạo một phân vùng từ mạng Vấn đề này không thuộcphạm vi phần này
Mục F3-Edit đợc sử dụng để thay đổi thuộc tính của vùng đã tồn tại
Mục F4-Delete để xoá một phân vùng đang chọn
Trang 9Mục F5-Reset Khôi phục trạng thái của Disk Druid, tức là làm mất tác dụng cácthay đổi mà bạn vừa mới làm.
Mục OK sẽ ghi các thay đổi mà bạn vừa thực hiện lên đĩa cứng
Mục Cancel sẽ thoát khỏi Disk Druid mà không ghi lại bất kỳ sự thay đổi nào
Làm việc với Disk Druid
Hãy lấy tài liệu ghi kế hoạch của bạn để xác định đợc vùng nào cần xoá, vùng nàocần giữ lại Chọn Mục cần xoá và bấm F4 để xoá
Bấm F1 để làm việc với menu Add Hãy tạo 2 phân vùng mới và gán cho chúngkiểu linux native và linux swap Đối với linux native thì gán mount point là /
Chọn OK để ghi lại các thay đổi và chuyển đến bớc tiếp theo
Kích hoạt vùng hoán đổi
Sau khi tạo ra các phân vùng, trình cài đặt sẽ tìm kiếm các vùng swap trên ổ cứng.Nếu không có nó sẽ cảnh báo bạn và bạn phải làm lại Nếu phát hiện đợc nhiều hơn mộtvùng thì nó sẽ hiển thị hộp thoại để bạn chọn một vùng duy nhất Chọn kiểm tra badblock khi format nếu muốn.Sau khi đã sãn sàng, chọn OK
Hình 2.8 Nên chọn Check for bad block
Format các phân vùng
Sau khi đã lựa chọn các phân vùng, việc tiếp theo là format chúng.Bạn cần formatbất kỳ vùng nào mới tạo ra, hoặc vùng cũ nhng không muốn giữ lại dữ liệu Chọn kiểmtra bad block nếu muốn
Lựa chọn các thành phần để cài đặt.
Tiếp theo là màn hình để lựa chọn các gói để cài đặt Mỗi một thành phần cài đặttơng ứng với nhiều gói khác nhau Chẳng hạn X Window System bao gồm các gói đểthực hiện các chức năng X nh server, các th viện, quản lý cửa sổ,…) Hãy thêm góiXgames để cài đặt một số trò chơi dới Xwindow
Nếu muốn cài đặt dới 50MB thì phải huỷ các lựa chọn của tất cả các gói đã tự
động lựa chọn
Hình 2.9 Hộp thoại cho phép lựa chọn các gói để cài đặt.
Đối với những ngời muốn xem và chọn chi tiết tất cả các gói tin, hãy chọn mục
Select individual packages Tuy nhiên để đảm bảo các gói tin trong cùng một thành phần
đợc lựa chọn thì chơng trình sẽ hỏi lại các gói tin để đợc cài đặt hay huỷ bỏ
Hình 2.10 Chọn lựa các gói riêng biệt.
Cuối cùng trong chế độ này, bạn có thể có thêm nhiều thông tin về nội dung cácgói và mục đích của các gói bằng cách bấm phím F1 Chọn OK để sang mục tiếp theo
Trang 10Đặt cấu hình cho Xwindow
Cửa sổ tiếp theo sẽ hỏi bạn về Xwindow server mà bạn muốn sử dụng Cấu hìnhXwindow sẽ đợc mô tả kỹ trong chơng 3 nhng trong phần này sẽ xem qua cách đặtnhanh cấu hình cho Xwindow để kết thúc cài đặt
Trớc tiên hãy lựa chọn card màn hình Điều chú ý ở đây là card màn hình cũnggiông nh những chiếc xe ôtô vậy, mặc dù nhãn hiệu giống nhau nhng cấu tạo bên trongrất khác nhau Nếu không thể chọn đợc card màn hình giống nh trên máy của bạn thìhãy chọn Generic card Sau khi chọn xong thì Xwindow thích hợp sẽ đợc cài đặt trênmáy của bạn
Tiếp theo phải lựa chọn loại màn hình thích hợp Nếu không thể chọn đợc loại nàocả thì cần phải chọn mục custom và đặt các thông số thích hợp cho màn hình mà bạn đãghi lại từ trớc
Đặt cấu hình cho mạng.
Nếu muốn đặt máy tính trong mạng cục bộ và muốn cài đặt cấu hình cho mạngngay bây giờ thì hãy chọn nút Yes Ngợc lại chọn No, bạn vẫn có thể thiết lập cấu hìnhcho mạng sau khi đã cài đặt xong
Nếu chọn Yes, bạn sẽ đợc hỏi về loại card mạng Hãy chọn nó trong danh sách màmáy tính liệt kê ra cho bạn Sau khi chọn xong bạn sẽ đợc hỏi nnếu muốn hỗ trợ các tuỳchọn cho card hay không Nếu chọn có, trình cài đặt sẽ hỏi các thông số nh địa chỉ IO,
số hiệu ngắt, …
Sau khi tìm đợc card mạng, màn hình tiếp theo sẽ có các lựa chọn để bạn thiết lậpmạng Nếu trong mạng có server đang chạy bootp là chơng trình thiết lập địa chỉ IP vàcác dữ liệu liên quan cho máy tính, hãy chọn mục configure device with bootp và chọn
OK Trái lại, phải nhập các thông số mạng mà bạn nhận đợc từ ngời quản trị mạng
Bạn có thể chạy lại tiện ích này từ dấu nhắc của Linux bằng cách gõ ntsysv Do đó
nếu cha hiểu kỹ về các deamon này, bạn có thể để lại sau
Hình 2.12 Trừ phi bạn biết các chức năng của các deamon, hãy để nguyên nh mặc định.
Chọn máy in.
Nếu chọn Yes khi đợc hỏi về máy in, bạn sẽ có 3 lựa chọn sau:
• Local Máy in nối trực tiếp với máy tính
• Remote lpd Máy in nối với mạng LAN có thể kết nối đợc nhờ lpd
• LAN manager Máy in mạng đợc điều khiển qua ngời quản lý mạng LAN.Nếu chọn Local, bạn sẽ đợc hỏi về hàng đợi in và th mục spool (nên để mặc định.Tiếp theo chơng trình sẽ xác định loại máy in và loại cổng mà nó đang nối vào và đềnghị bạn xác nhận
Chọn remote lpd, chơng trình sẽ hỏi bạn về tên máy in mạng và tên hàng đợi intrên máy này
Chọn LAN manager sẽ xuất hiện hộp thoại cho phép thiết lập các mục smbfs
Trang 11Phần đầu là LAN manager hostname, sau đó là địa chỉ IP tơng ứng Tiếp đến là tênShare của máy in và cuối cùng là tên User cùng với password để truy cập vào máy in.
Để hoàn thành cài đặt máy in,trình cài đặt sẽ hỏi về loại máy in mà bạn có Hãychọn loại máy in tơng ứng với máy của bạn, nếu không tìm thấy hãy chọn text-only printer Tiếp theo chọn kích cỡ giấy thích hợp nếu máy tính có nhiều kích cỡ Cuối cùng
chọn mục stair stepping nếu máyinkhông gửi carriage return ở cuối mỗi hàng in.
Màn hình tiếp theo đa ra các thông số bạn đã chọn cho máy in của bạn Nếu đồng
ý, hãy chọn Done Trái lại chọn Edit để đặt lại các thông số này
Đặt mật khẩu
Tiếp theo chơng trình sẽ hỏi về mật khẩu của root Mật khẩu này đợc dùng nh mậtkhẩu của ngời quản trị hệ thống Nhờ đó bạn có thể thiết lập các tài khoản khác và thiếtlập các tuỳ chọn của hệ thống trớc khi đa hệ thống vào hoạt động
Nên chọn password từ 6 ký tự trở lên Password phải khó đoán và nên là tổ hợpcủa các từ đầu câu hoặc của số và ký tự Nên nhớ root là ngời có toàn bộ các quyền đốivới hệ thống nên bạn phải giữ gìn cho cẩn thận để đảm bảo an toàn
Hình 2.13 Đặt mật khẩu
Chọn Boot Option.
Phần này để thiết lập làm thế nào để bạn khởi động Linux sau khi cài đặt Hình2.14 cho phép chọn lựa cấu hình LILO boot
Hình 2.14 Chọn nơi cài LILO
• Master Boot Record Thay đổi Master Boot Record của hệ thống cũ và thayvào đó là dấu nhắc của LILO khi khởi động Đây là trờng hợp khá phổ biến
• Fisrt sector of the boot partition Đợc sử dụng trong trờng hợp đã có một bootloader trên máy tính ( OS/2, NT, Partition Magic, System Comander…) Nhữngboot loader này đã có trên Master Boot Record và bạn không muốn thay thế
nó Với LILO đợc cài đặt trên root partition, bạn có thể đặt cấu hình cho LILO
để có thể khởi động đồng thời các hệ điều hành
Bạn có thể bỏ qua việc cài đặt LILO trên ổ cứng trong trờng hợp bạn chọn khởi
động Linux từ ổ mềm hay sử dụng chơng trình LOADIN Hãy chọn phơng pháp bạnmuốn hoặc chọn OK hay Skip
Sau khi đã chọn xong và LILO đã đợc cài trên ổ cứng sẽ có màn hình xác nhận.Nếu không có màn hình này thì việc cài LILO đã bị lỗi và bạn hãy ấn Alt-F3 hay Alt-F4
để kiểm tra lỗi Trong trờng hợp này, bạn cần chọn phơng pháp khác để khởi động hệthống
dos linux
LILO:
Sau khi hệ thống khởi động, bạn sẽ thấy dấu nhắc sau để login:
Red Hat Linux release 5.0
Kernel 2.0.32 on an i586
Login:
Bây giờ bạn đã sãn sàng để làm việc với hệ điều hành Linux Muốn vậy hãy gõ tên
Trang 12login là root, sau đó gõ mật khẩu theo yêu cầu, bạn nhận đợc dấu nhắc sau chứng tỏ đã
thành công trong việc login vào Linux:
localhost@root/root _
Trang 13Chơng 3
Đặt cấu hình cho hệ thống XWindow
Trong phần này sẽ tiến hành các công việc để thiết lập cấu hình cho hệ thống X11
Đây là giao diện đồ hoạ mà Linux cũng nh các hệ Unix khác đang sử dụng Nó tơng tự
nh giao diện đồ hoạ của môi trờng Window, OS/2 hay Macintosh
Một điểm khác biệt giữa X11 window và các môi trờng khác là nó đợc thiết kếthành một chơng trình client/server mạng độc lập với hệ điều hành máy Kết quả là đợcchia làm 2 phần chính là: X11 window server chạy trên máy và tơng tác trực tiếp vớimàn hình và card màn hình, các trình clients xung quanh server Các trình client có thể
là các đầu cuối terminal emulator xterm– hay các chơng trình quản lý cửa sổ nh X11 window manager.
Phần này sẽ bắt đầu với việc thiết lập cấu hình Xwindow đã bỏ qua trong phần cài
đặt và cuối cùng là sử dụng chơng trình quản lý cửa sổ mặc định của Linux Để làm tốtphần này bạn cần các tài liệu đầy đủ về màn hình của bạn
Kiểm tra các file đã cài đặt
Chơng trình Xwindow server mà hầu hết các nhà cung cấp Linux sử dụng đều đợccung cấp bởi dự án XFree86 Các chơng trình server khác đợc cung cấp mang tính chấtthơng mại sẽ đợc bàn đến sau
Đầu tiên hãy bảo đảm rằng các file cần thiết cho X11 đă đợc cài đặt Để làm điều
đó hãy sử dụng câu lệnh sau:
Trang 14rpm –ivh XFree86-YY
Trong đó YY là tên server name của màn hình tơng ứng đợc Linux hỗ trợ:
Bảng 3.1 Danh sách X server với Red Hat 5.0
Server Loại card màn hình tơng ứng
Mono Màn hình đen trắng
VGA16 16 mầu, VGA mode Hỗ trợ 256KB memory
SVGA Trident, Cirrus Logic, Chip and Technology, ET4000,
S3V,
Mach8 ATI board với Mach8 chipset
Mach32 ATI board với Mach32 chipset
Mach64 ATI board với Mach64 chipset
8514 IBM 8514/A board và true color
S3 #9 board, Diamond,
S3V S3 Virge board, hỗ trợ trong SVGA
AGX Các loại XGA graphic board
P9000 Diamond Viper ( không phải 9100)
W32 ET 4000/W32 nhng không phải là ET 4000s
Sử dụng Xconfiguration để đặt cấu hình cho Xwindow
Hãy thực hiện lệnh Xconfiguration tại dấu nhắc của Linux ấn Enter để chơng
trình thực việc dò tìm card màn hình Nếu tìm thấy, nó sẽ chỉ ra loại card nào và loạiserver nào cần dùng tơng ứng Hãy chú ý vì nếu ạn chọn sai bạn sẽ đợc yêu cầu làm lạingay Hình 3.1 là một ví dụ về việc dò tìm thành công Nếu không htể tìm đợc,chơngtrình sẽ liệt kê một danh sách các loại card để bạn lựa chọn
Hình 3.1 Thông tin về card màn hình.
Nếu không thể tìm thấy loại card tơng ứng trong danh sách các loại server thì bạnphải chạy chơng trình SuperProbe Chơng trình này cho phép tìm ra trực tiếp loại card,dung lợng bộ nhớ và RAMDAC của card màn hình
Nếu vẫn không tìm thấy thì bạn nên chọn loại VGA 16 màu hay mono color Đây
là trờng hợp khả dĩ nhất Khi dò tìm card, bạn phải chú ý là các nhà sản xuất thờng sửdụng cùng một tên cho nhiều loại card mặc dù cấu tạo của chúng rất khác nhau Do đótrong nhiều trờng hợp bạn nghĩ rằng mình đã chọn đúng song khi chạy X server vẫn bịlỗi, khi đó cần cài lại Xserver
Chọn lựa màn hình
Sau khi đã chọn loại card màn hình, bạn sẽ đợc hỏi để setup màn hình Hãy chọn
nó trong danh sách đợc Linux liệt kê Nếu không nhớ chính xác bạn có thể chọn loại nàogần với nó cũng đợc Nếu không tìm thấy bạn cần chọn loại Generic Monitor haycustom setting
Cấu hình cho custom monitor
Nếu chọn custom monitor, bạn sẽ đợc hỏi về các chỉ số quét ngang và quét dọc củamàn hình Hãy sử dụng tài liệu đi kèm theo của màn hình bạn sẽ tìm thấy các thông số
đó Nếu không tìm thấy thì có thể sử dụng loại màn hình Standard SVGA
Cấu hình cho PCI card.
Màn hình tiếp theo tuỳ thuộc vào việc có phát hiện ra PCI video card hay không.Nếu có thì trình cài đặt sẽ dò tìm các thiết lập và các chỉ số thích hợp cho nó Nếu
Trang 15không thì nó sẽ chon phép bạn chọn việc có muốn probe hay không Lý do của sự lựachọn này là một số card ISA cũ không cho phép tự dò tìm và việc đó có thể làm treo hệthống.
Việc chọn chế độ probe có thể làm cho màn hình nháy vài lần do nó phải tìm các
độ phân giải có thể của màn hình Nếu có nhiều độ phân giải và số bits màu thì bạn cóthể để mặc định hoặc chọn theo ý bạn
Bạn nên chọn độ phân giải 640x480 Số bits mầu 2/4/6/8/16/24 cho biết số màu
mà màn hình có thể hiện cùng một lúc 4 bits là màn hình 16 màu, 24 bits cho phép hiểnthị tới vài triệu màu Nếu dung lợng bộ nhớ màn hình càng lớn thì khả năng về độphân giải và kích cỡ màn hình càng lớn Sau khi chọn xong và ấn OK thì file
/etc/X11/X86config sẽ đợc ghi lên máy của bạn
Nếu không muốn probe thì bạn phải tự cung cấp các thông số nh bộ nhớ màn hình,
độ làm tơi, Các thông số này có thể nhận đợc từ chơng trình SuperProbe Sau cùng làmàn hình hỏi bạn về độ phân giải bạn muốn sử dụng cho X11 (nên chọn 680x480 haytuỳ thích) Chọn OK và file /etc/X11/X86config sẽ đợc ghi lên đĩa
Hình 3.3 Chọn chế độ cho màn hình
Kiểm tra các thiết lập của Xwindow
Sau khi đã thiết lập xong cấu hình cho Xwindow, bạn hãy gõ startx tại dấu nhắc đểkiểm tra lại hệ thống đã cài đặt Lệnh này sẽ thực hiện Xserver, đồng thời chạy cácclient cần thiết
Bạn sẽ nhìn thấy màn hình màu xám (mặc định của Xs) sau đó đến màn hình màuxanh và thanh start bar ở đáy màn hình Nếu không nhìn thấy thì có thể thanh này bị ẩn
ở dới đáy màn hình Lý do là Linux cho phép mô phỏng màn hình ảo mà kích thớc của
nó rộng hơn màn hình vật lý Do đó hãy kéo chuột về đáy màn hình và bạn sẽ nhìn thấythanh start bar
Các vấn đề thờng gặp và các cách giải quyết
Phần này điểm qua một số lỗi thờng gặp khi chạy Xwindow và cách khắc phục
Màn hình luôn bị đen
Chờ khoảng 30 – 60 s do các máy 486/66 thờng mất một khoảng thời gian đểkhởi động Một số card màn hình không hoạt động tốt trong Linux Hãy ấn Ctrl-Alt-Backspace và khởi động lại Xconfigurator
Màn hình luôn đen và máy tính không có tín hiệu
Đây là trờng hợp tồi tệ nhất Bạn cần ấn Ctrl–Alt-Del để khởi động lại máy vàchờ cho máy chạy chơng trình fsck để dọn dẹp ổ cứng ( giống nh scandisk trongwindow) Chơng trình này đợc chạy một cách tự động
Kích cỡ màn hình ảo quá rộng.
Có thể X server tự động chuyển sang chế độ 320x200 thay vì 640x480 Hiện tợngnày xảy ra khi server không detect đúng card màn hình Hãy thoát khỏi Xwindow bằngcltr-alt-backspace hoặc bằng menu start Kiểm tra file startx.out bằng lệnh lessstartx.out để phát hiện ra lỗi Trong một số trờng hợp cần chọn lại RAMDAC hoặc cáctuỳ chọn khác của card màn hình
Chuột không chạy hoặc hoạt động bất thờng
Chuột hoạt động không đúng có thể do nhiều lý do Trớc hết file mouseconfig cóthể bị sai phần section pointer Hãy chạy lại chơng trình mouseconfig hoặc sửa đổi trựctiếp file /etc/X11/XF86config Phần cấu hình chuột thờng nh sau:
Trang 16chuột đang nối vào Các thông tin chi tiết về các loại chuột đợc hỗ trợ bởi Linux có thể
đợc tìm thấy bằng cách gõ lệnh man xf86config
Một lý do khác cũng hay gặp là chuột yêu cầu các khởi tạo đặc biệt hoặc có xung
đột với các chơng trình khác ( thờng là gpm, một chơng trình điều khiển chuột dạngtext Trong trờng hợp có xung đột, bạn nên tìm cách tắt chơng trình gpm
(/etc/rc.d/init.d/gpm stop ) và tìm cách khởi động lại Xwindow Nếu vấn đề
đ-ợc giải quyết thì bạn thấy rằng cần phải vô hiệu hoá hoàn toàn gpm Hãy chạy ntsysv
và tắt hộp chọn gpm
Đối với chuột cần có các cấu hình đặc biệt thì vấn đề có thể đợcgiải quyết bằngcách xem chuột nh là một modem và dùng một chơng trình nối tiếp để bật nó lên trongtrờng hợp này việc thay đổi chuột sẽ trở nên dễ dàng hơn
Để hệ thống luôn khởi động với Xwindow
Để hệ thống luôn khởi động với Xwindow khi khởi động mà không cần gõ startx,bạn cần sửa đổi nội dung file /etc/inittab. Đây là file đợc sử dụng bởi chơng trìnhinit để khởi tạo các ứng dụng
Aaaaaaaaaaaaaaaaaaaa##################
Mức mặc định của Linux là 3 Hãy chuyển sang 5 và bạn sẽ thấy khi khởi độngmáy tính sẽ vào Xwindow ngay bằnh chơng trình xdm.
Trang 17Phần II Cơ bản về Linux
Chơng 1: Các lệnh đọc và duyệt
Trong phần này bạn sẽ học các lệnh di chuyển, tìm kiếm, đọc file và th mục trên
hệ thống Linux của bạn Sau khi làm việc với phần cứng bạn nên biết làm thế nào để
đ-ợc giúp đỡ trong Linux, biết xem bạn đang ở đâu và làm thế nào để tìm kiếm file trên ổcứng của bạn
Dùng lệnh man để xem giúp đỡ.
Trong Linux cũng nh hầu hết các cài đặt của Unix, các lệnh, các ứng dụng và cáclệnh lập trình đều có tài liệu giúp đỡ kèm theo Để thực hiện xem giúp đỡ ta gõ lệnhman
Các tài liệu giúp đỡ thờng là tài liệu liền một trang, có thể dới dạng trực tuyến và
đợc để trong th mục /usr/mancác file của mỗi tài liệu là file có đuôi là một chữ số
Ví dụ tài liệu cho lệnh man đợc để trong file /usr/man/man1/man.1
Để xem định dạng và vị trí của các tài liệu man thì bạn hãy xem trong file
/usr/man/man7 Bảng 4.1 cho ta biết ý nghĩa của mỗi phần man
Bảng 4.1 Tài liệu giúp đỡ của Linux
/usr/man/man1 Các lệnh shell
/usr/man/man2 Lời gọi hệ thống: các hàm của hạt nhân
/usr/man/man3 Các hàm th viện
/usr/man/man4 Các file đặc biệt: thông tin về file trong /dev
/usr/man/man5 Định dạng của file: chi tiết về file /etc/passwd và
/usr/man/man9 Các tệp thi hành của hạt nhân
Mỗi một trang đợc chia làm nhiều đoạn, sau đây là một số phần thờng gặp:
Bảng 4.2 Tổ chức của tài liệu giúp đỡ
Tên đoạn Mô tả
NAME Tên lệnh và mô tả ngắn
SYNOPIS Cách sử dụng lệnh và các tham số
DESCRIPTION Giải thích lệnh và các tham số
FILES Danh sách các file và vị trí của nó đợc sử dụng bởi
Trang 18lệnh SEE ALSO Các tài liệu có liên quan
DIAGNOSTIC Mô tả các đầu ra bất bình thờng
BUGS Các vấn đề đợc biết đến
AUTHOR Tác giả chơng trình và các nhà cung cấp
Các tài liệu giúp đỡ trực tuyến có chứa các mã đặc biệt cho chơng trình định dạngvăn bản text nroff ( Phần xử lý tài liệu), xử dụng các macro đặc biệt (nh tài liệu trongman.7) Định dạng này có ý nghĩa quan trọng cho các chơng trình khác nh
makewhatis, whatis, apropos mà bạn sẽ đợc học trong chơng này
Bạn có thể tìm thấy các tài liệu khác về Linux trong th mục /usr/doc , trong đó
có chứa các câu hỏi thờng gặp (FAQ), HOWTO, các tài liệu về quỹ phần mềm miễn phí(FSF), GNU,…Các dạng tài liệu này thờng để dới dạng html
Lệnh man thờng tìm kiếm trong tài liệu tơng ứng với lệnh trong file
/etc/man.config Các dòng lệnh này xác định th mục mặc định để tìm kiếm và chúngtơng ứng với giá trị của biến môi trờng $MANPATH Các giá trị mặc định để tìm kiếmcác trang này là:
Chú ý rằng nếu bạn muốn dùng man để xem giúp đỡ về cd thì không thể đợc vì cd
là lệnh của riêng shell Để biết thêm chi tiết hãy xem phần giới thiệu về bash
Trang 19hiện tại:
#pwd –help
Lệnh find
Đây là tiện ích khá hiệu quả cho việc tìm kiếm file và th mục trên hệ thống file Ví
dụ để tìm lệnh spell trong th mục /usr
#find /usr -name spell -printf
Bạn có thể đa thêm các tham số về thời gian cho find, ví dụ tìm các file cha đợc sửdụng trong vòng 100 ngày:
Hoặc tìm các file sinh ra trớc đó một ngày
#find /usr/bin -type f –atime +100 –printf
#find /usr/bin -type f –mtime -1 –printf
Ngoài ra bạn có thể sử dụng các ký tự thay thế, chẳng hạn để tìm các filePotscripts có đuôi là ps
#find /usr/ -name ‘*.ps’ –printf
Trong trờng hợp bạn muốn tìm kiếm từ th mục gốc / mà bạn lại không muốn tìmtrong các hệ thống file khác ( chẳng hạn CDROM, DOS partition…) bạn hãy sử dụngtham số -xdev để hạn chế không gian tìm kiếm
Để biết thêm chi tiết về các tham số của lệnh find, hãy dùng lệnh
Một cách đơn giản nhằm tăng tốc độ tìm kiếm file là không tìm trên các th mục
mà tìm kiếm trực tiếp trên cơ sở dữ liệu tìm kiếm file Locate là một chơng trình kiểu
sử dụng lệnh su- sẽ đợc bàn trong phần quản trị hệ thống)
#updatedb
Kết quả đợc để trong file /var/lib/locatedb Một bất cập khi sử dụng locate làlocatedb không đợc cập nhật thờng xuyên bạn có thể làm điều đó một cách tự động.Hãy xem các lệnh tham chiếu ở cuối chơng này
Trang 20Lệnh whatis và apropos
Khi bạn mới làm việc với Linux, có rất nhiều các hàm, các chơng trình mà bạn chahiểu Có nhiều chơng trình cho phép bạn xem giúp đỡ đơn giản bằng cách thêm ? hay help
Lệnh whatis có khả năng cho bạn biết đợc chơng trình nào đó dùng để làm gì Vídụ
# apropos search
########################
Trên màn hình sẽ hiện lên các thông tin từ cơ sở dữ liệu của whatis Chơng trình
apropos sử dụng cơ sở dữ liệu này để tìm kiếm các thông tin liên quan đến các chơngtrình mà bạn cần tìm
Các lệnh đọc th mục và file
Lệnh ls
Lệnh ls (list directory) cho phép liệt kê các file trong hiển thị mục hiện thời Mặc
dù là lệnh đơn giản song nó có tới hơn 70 tham số dòng lệnh
Nếu bạn có màn hình mầu thì khi dùng tham số color , hoặc lệnh ls trong cửa
sổ rxvt trong X11, các th mục sẽ hiện mầu xanh và các các file hiện màu đen
Để thay đổi màu hiển thị, hãy sửa đổi file /etc/DIR_COLORS Để biết chi tiếthãy đọc kỹ file này Tuy nhiên bạn cần cất file ban đầu vào hiển th mục home của bạn
để đề phòng mọi bất trắc có thể
Khi bạn muốn biết nhiều thông tin hơn về file thì hãy dùng tham số -l
# ls -l
########################
Trang 21Có tất cả 8 cột Cột thứ nhất là các quyền truy cập vào file trong đó ký tự đầu tiênchỉ dạng file (d - diretory, - - file, l - link, Tiếp theo là số liên kết của file hiện có.Sau đó là tên chủ sở hữu và nhóm sở hữu, cột tiếp là kích thớc file, ngày giờ tạo file vàcuối cùng là tên file.
Ngoài ra lệnh ls còn cho phép chỉ ra các file trong một hiển th mục nào đó
Một cách tiếp cận tốt hơn là dùng tham số -d để liệt kê mình th mục trên hệ thống
Ví dụ sau liệt kê các th mục ở mức 3
Lệnh cat (concatenate) cho phép hiển thị nội dung file bất kỳ ra màn hình và gửi
nó tới các file khác Bạn sẽ hiểu kỹ hơn về lệnh này khi học các luồng vào/ra chuẩn củaLinux Lệnh này thờng đợc dùng để đọc nội dung một file, hợp file, tạo mới hoặc nốifile
# cat test.txt
#################3
Nếu muốn hiển thị với dòng đợc đánh số
# cat -n test.txt
Trang 22Hoặc hiển thị nhiều file một lúc
# cat -n test.txt test0.txt
Để tạo hợp nhiều file ta chỉ cần dùng ký tự định hớng >
# cat test* > test1.txt
Và hãy kiểm tra kết quả
# ls -l test*
###############
Trong trờng hợp này file test1.txt sẽ bị xóa nếu nó đã tồn tại Để nối nội dungtest,txt vào file này thì ta dùng ký tự >>
# cat test.txt >> test1.txt
Cuối cùng có một mẹo cho phép bạn tạo một file text ngắn bằng cách sau:
# cat > new.txt
Day la tieng noi Viet Nam
Phat thanh tu Ha Noi
Khi kết thúc ta gõ Ctrl-D để đóng file này Hãy xem lại kết quả
# ls -l new.txt
###############
# cat new.txt
Day la tieng noi Viet Nam
Phat thanh tu Ha Noi
• Có thể cuốn trang màn hình lên xuống bằng các phím con trỏ
• Có thể duyệt qua file bằng các điểm đánh dấu, số dòng hay phần trăm kích
th-ớc file
• Hỗ trợ tìm kiếm nâng cao, các chọn lựa kiểu dáng và chọn lựa qua nhiều file
• Các phím chức năng tơng thích với các trình soạn thảo văn bản thông dụng
• Lệnh less không tự động kết thúc khi hết file
• Các thông tin ở cuối màn hình thân thiện và dễ hiểu hơn
• Cho phép chọn lựa nhiều kiểu phím điều khiển bằng chơng trình lesskey.Bạn sẽ nhận thấy sau khi cài đặt Linux rằng less là chơng trình hiển thi văn bảnmặc định đợc sử dụng bởi nhiều chơng trình khác, chẳng nh chơng trình man, zless(xem nội dung file nén)
Trang 23Thông thờng bạn dùng head để xem qua một số dòng đầu của một vài file nào đó,chẳng hạn bạn muốn xem dạng file của các file 'xm' trong th mục /usr/man/man1, bạn
# tail -12 /var/log/messages
##############3
Trang 24Chơng 2: Các lệnh xử lý và tìm kiếm
Trong chơng này, các bạn sẽ học các lệnh về tạo, xoá, sao chép, di chuyển file và
th mục đồng thời sẽ học các lệnh tìm kiếm theo nội dung file và các lệnh nén, giải nénfile và th mục
Thao tác với file và th mục
Cũng nh các hệ điều hành khác, Linux cũng có các lệnh cho phép bạn thao tác vớifile và th mục nhằm tổ chức hệ thống file của bạn nh các lệnh tạo file, xoá file,tạo thmục
Mặc dù đã có giao diện đồ hoạ dới Linux, Xwindow, với các thao tác kéo thả rấttiện dụng song bạn cũng nên học qua các thao tác cơ bản này để hiểu đợc cách hoạt
động của các chơng trình, ngay cả khi bạn không sử dụng Linux trong chế độ màn hìnhvăn bản
Lệnh touch
Lệnh này cho phép tạo file một cách đơn giản, hơn nữa nó còn cho phép cập nhậtngày file bị thay đổi Lệnh touch là một phần trong những ứng dụng GNU, nó có vàitham số
-rw-rw-r 1 bball bball 0 Nov 13 08:50 newfile
-rw-rw-r 1 bball bball 0 Nov 13 09:50 newfile1
Tuy lệnh trên có chức năng giống lệnh touch nhng touch còn có khả năng nữa làcho phép cập nhật ngày cho file:
# touch newfile1
# ls -l newfile1
-rw-rw-r 1 bball bball 0 Nov 13 10:30 newfile
Bạn còn có thể dùng lệnh này để cập nhật ngày tháng cho file theo khuôn dạng, vídụ:
Lệnh này cho phép xoá các file Việc login vào linux bằng root và sử dụng lệnh rm
sẽ gây nhiều nguy hiểm cho hệ thống vì bạn không có cách nào khôi phục file đã bị xoá.Chẳng hạn lệnh sau xoá hết các file trên ổ cứng của bạn:
# rm -fr /
Trang 25Lệnh rm có thể xoá đợc nhiều file một lúc:
# mkdir temp1 temp2 temp3
Hoặc tạo th mục con của một th mục đã tồn tại
Với tham số -p thf mkdir không chỉ tạo đợc th mục temp1 mà còn tạo đợc cả các
th mục con cháu của nó
# touch file1 file2
# mv -b file1 file2
# ls file*
file1 file2 file2~
Tham số -i cho phép xác nhận việc đổi tên cũng trong trờng hợp trên
# mv -i file1 file2
Trang 26mv: replace ' file2 ' ? y
Lệnh cp
Lệnh cp (copy) đợc sử dụng để copy file hoặc th mục Cách đơn giản nhất nh sau:
# cp file1 file2
Trong trờng hợp file2 đã tồn tại nó sẽ bị ghi đè Để tránh trờng hợp đó, ta có thể
sử dụng tham số -b hay -i (ý nghĩa tơng tự nh đối với lệnh mv)
Lệnh cp có thể đợc sử dụng để copy nhiều file một lúc Ví dụ để copy các filetrong th mục temp1 vào th mục temp2
Khi đó cả th mục child cũng đợc tạo ra trong th mục temp1 Nếu không có tham
số -p thì chỉ có các file của th mục child là đợc copy mà thôi
Để tạo liên kết logic ta dùng tham số -s
Liên kết vật lý là không cho phép đối với th mục song bạn có thể dùng liên kết logic.
# ln /usr/local/games play
ln: /usr/local/games : hard link not allowed for directory
# ln -s /usr/local/games play
# ls -l play
lrwxrwxrwx 1 ball bball16 Nov 12 19:28 play -> /usr/local/games
Khi đó thay vì phải gõ một dòng lệnh dài
Trang 27làm bạn chán ngấy Hãy yên tâm vì Linux cũng có chơng trình mc gần giống với chơngtrình NC trong DOS Để chạy bạn chỉ cần gọi:
# mc
Sau đây là một số điểm mạnh của chơng trình này:
• Giao diện đồ hoạ với 2 cửa sổ và cho phép dùng chuột điều khiển
• Có các thao tác bằng menu
• Có dòng lệnh tơng ứng
• Chạy file lệnh bằng nháy chuột kép
• Có trợ giúp bằng tài liệu liên kết siêu văn bản
• Mô phỏng và hỗ trợ các lệnh thông dụng nh ls, cp, ln, mv, mkdir rmdir, rm,
cd, pwd, find, chown, chgrp, tree
• So sánh th mục
• Tuỳ biến menu
• Sử dụng các ứng dụng mạng nh FTP, Telnet
• Giải nén bằng nháy chuột đơn
• Cho phép undelete file
? hay Thay thế cho một ký tự
[xxx] hay [x-x] Thay thế một khoảng các ký tự
Trang 28Các lênh trên về cơ bản là giống nhau, mỗi lệnh có chừng 20 tham số song sự khácnhau duy nhất là egrep sử dụng các cú pháp khác nhau cho xâu tìm kiếm còn fgrep sửdụng xâu cố định.
Ví dụ để tìm các dòng trong file có chứa chữ số:
# fgrep ^friend guide.txt
Bây giờ hãy thử tìm các xâu có ký tự b trong ngoặc:
# egrep "\([b]\)" guide.txt
(sea section 1.8 for a list of compatible boards), or (b) there if
an connect to network, or (b) if you have a "dynamic" IP address,
Hãy xem điều gì xảy ra với lệnh grep
(sea section 1.8 for a list of compatible boards), or (b) there if
an connect to network, or (b) if you have a "dynamic" IP address,
Nén và giải nén file
Tạo các file lu trữ bằng lệnh tar
Tar ( tape archive) - băng từ- là kiểu lu trữ cổ xa từ khi các loại ổ cứng, ổ mềm cha xuất hiện Dùng tar có nhiều thuận lợi trong việc vận chuỷen file, chính vì thể mànhiều gói phần mềm của Linux vẫn đợc lu trữ trên băng từ
Dùng tar, ta có thể lu trữ nhiều file và th mục lên một file lu trữ hay lên băng từ.Phiên bản mới của tar có tham số -z cho phép nén dữ liệu trớc khi lu trữ
Để tạo file lu trữ ta dùng lệnh tar nh sau:
# tar -c mydir > mydir.tar
# ls -l mydir.tar
-rw-rw-r 1 bball bball 10234 Nov 14 12:43 mydir.tar
Trong đó -c nghĩa là create (tạo file) Theo mặc định thì tar không xoá file gốc Đểxoá file gốc ta thêm tham số -remove-files. Để biết các file trong th mục mydir đợc
lu trữ ta dùng tham số - v:
# tar -cv mydir > mydir.tar
mydir/
mydir/file1
Trang 29mydir/dir1/
mydir/dir1/file3
mydir/dir1/file4
Ta có thể dùng tar trong chế độ hội thoại bằng tham số -w (interactive),ví dụ:
# tar -cw mydir > mydir.tar
Khi bạn biết trong file lu trữ có gì , có thể xác định file cần giải nén :
# tar -xf mydir.tar mydir/file1
Bạn hãy cố gắng dùng thành thạo lệnh tar trớc khi tiến hành lu trữ Một số tínhnăng khác của tar là xoá file, thêm file vào file lu trữ
Lệnh gzip có thể nén các file văn bản với chỉ số nén lên tới 60 -70 % Việc sửdụng gzip rất đơn giản:
Trang 30# gzip mydir.tar
Theo mặc định thì gzip sẽ tạo file với đuôi là gz Để giải nén ta dùng tham số -d(decompress), hay dùng lệnh ungzip Khi đó phải chắc chắn đuôi file có dạng gz, z ,-gz , -z hay _z Nếu không ta có thể chỉ ra dạng đuôi file với tham số -S
# ungzip mydir.tar
Để biết kích thớc các file đợc nén, có thể dùng tham số -l (listing) Nếu muốnkiểm tra tính toàn vẹn của file bị nén, dùng tham số -t
Nén file bằng lệnh compress
Lệnh compress chỉ có mỗi chức năng nén file mà thôi, đây là một trong những
ch-ơng trình nén file đầu tiên của các hệ điều hành họ UNIX
Các file tạo ra bởi compress luôn có đuôi là Z Để nén file ta chỉ cần đa ra tênfile:
# compress file
Và giải nén:
# uncompress file.Z
Trang 31Chơng 3: Sử dụng shell
Shell là gì
Nếu bạn không dùng hệ thống Xwindow thì shell là chơng trình quan trọng nhất
mà bạn phải dùng Shell cung cấp giao diện cho linux để bạn có thể chạy các ứng dụng.Bạn có thể setup Linux để không cần dùng với shell, và bạn sẽ thấy bạn sẽ phải gõ rấtnhiều lệnh của shell
Shell là một chơng trình thông dịch dòng lệnh cho phép khởi động, treo, dừng, vàviết các chơng trình Shell là một phần đợc tích hợp vào Linux và là phần quan trọng củacác hệ thống Unix Bạn hãy hình dung hạt nhân Linux nh một quả cầu ở trung tâm cònshell là một lớp bao phủ ở bên ngoài Khi ta đa một lệnh từ shell hay từ một chơng trìnhnào đó thì hạt nhân Linux sẽ trả lời ngay lập tức
Có rất nhiều loại shell, và trong phiên bản 5.0 này có ít nhất 5 loại (không kểvisual shell Midnight commander ) Bạn có thể xem loại shell đang sử dụng bằng cáchxem file /etc/passwd Tên shell đợc để ở cuối dòng
# fgrep bball /etc/passwd
bball:0mdshdkfg:80:80:William H Ball,,,,:/home/bball: /bin/bash
Các shell của hệ thống
Trong phần này sẽ liệt kê các shell của hệ thống và các tính năng của nó Tất cảcác shell này đều có các lệnh built-in Các shell có lệnh chung là cd Song ash và tcshkhông có lệnh pwd (in th mục hiện thời) và phải thay thế bằng lệnh pwd trong th mục/bin
Mỗi shell có nhiều đặc điểm khác nhau, hãy dùng man để xem chi tiết Các đặc
điểm của shell đợc xem xét là:
• Các lệnh xây dựng sẵn
• Quản lý tác vụ nh thế nào
• Có hỗ trợ soạn thảo dòng lệnh hay không
• Có hỗ trợ việc lu các lệnh lại không
• Các file cấu hình và khởi tạo quan trọng
• Các biến môi trờng
• Các dấu nhắc lệnh có thể dùng đợc
• Cấu trúc lập trình nào đợc hỗ trợ
Các đặc điểm của shell ash
Đợc viết bởi Kenneth Almquist, là một trong những shell nhỏ nhất của Linux Nóbao gồm 24 lệnh built-in, 10 tham số dòng lệnh khác nhau ash hỗ trợ hầu hết các lệnhshell thông dụng, chẳng hạn nh lệnh cd cùng với hầu hết các toán tử dòng lệnh quantrọng ( Sẽ đợc xem xét trong phần Tìm hiểu các lệnh shell)
Các đặc điểm của shell mặc định của Linux – bash
Bourne Again Shell, đợc viết bởi Brian Fox và Chet Ramey, là shell mặc định củaLinux Nó hỗ trợ 48 lệnh built-in và khoảng một tá tham số dòng lệnh Bash shell hoạt
động giống nh sh shell và bạn thấy rằng lệnh sh trong th mục /bin chỉ là một liên kếtlogic tới bash
Bash shell là shell mặc định của Linux Nó cũng có một số tính năng nh csh vàksh shell Bash shell đợc sử dụng để làm ví dụ minh họa cho phần này và bạn sẽ đợc học
Trang 32cách để thay đổi dấu nhắc lệnh sử dụng bash
Với bash shell bạn có thể duyệt qua các lệnh đã dùng bằng các phím mũi tên, soạnthảo một dòng lệnh, và nếu có trót quên tên chơng trình thì bnạ có thể đề nghị giúp đỡ
Ví dụ bạn gõ l và bấm tab thì shell sẽ hiện các lệnh bắt đầu bằng l
Shell pdksh trong Linux có tên là ksh Giống nh bash, nó sẽ đọc file /etc/profilekhi khởi tạo nếu file profile không có trong th mục home Tuy các lệnh của nó không cógiống nh bash song nó hỗ trợ quản lý tác vụ nh treo chơng trình, cho chạy mặt sau, gọilại và huỷ bỏ chơng trình từ dòng lệnh
Shell này gần tơng thích với Korn shell trong các phiên bản của kèm theo của cácversion Unix thơng mại Các tài liệu kèm theo nó cũng đợc để trong th mục /usr/doc
Các đặc điểm của shell tơng thích với csh - tcsh
Tác giả của nó là William Joy cùng với 47 các nhà hỗ trợ khác Bao gồm 53 lệnhbuilt-in và 18 tham số dòng lệnh, shell này mô phỏng shell csh nhng có thêm một sốtính năng nh soạn thảo dòng lệnh và kiểm tra lỗi chính tả
Shell này không hoàn toàn tơng thích với các dấu nhắc của bash Nó cung cấpnhiều tuỳ chọn hơn bash shell Tcsh sử dụng file cấu hình csh.cshrc trong /etc nếu file.tcshrc hay cshrc không có trong th mục home Giống bash, bạn có thể duyệt qua cáclệnh đã dùng bằng phím mũi tên Để nhận đợc các lệnh built-in của tcsh, ta dùng lệnhbuiltins
Giống nh các shell bash và tcsh, nó cho phép bạn duyệt các lệnh đã dùng, đồngthời cho phép hoàn thành, soạn thảo,kiểm tra chính tả các dòng lệnh Nó cũng cho phépquản lý tác vụ từ dòng lệnh và hỗ trợ các tham số nâng cao để tìm kiếm file
Các file hệ thống của shell này phục vụ cho việc khởi động để trong th mục /etc
/etc/zlogin
/etc/zlogout
Trang 33/etc/zshenv
/etc/zshrc
Các file trên sẽ đợc tham chiếu đến trong trờng hợp Linux không tìm thấy file tơng
đơng trong th mục home Shell naùy có nhiều loại dấu nhắc dòng lệnh hơn bất kỳ filenào khác bạn sẽ thấy shell này có các tính năng rất giống tất cả các shell khác và có thểmô phỏng nh sh hay ksh khi đợc gọi nh một liên kết logic (mặc dù hệ thống Linux củabạn đã có shell sh là liên kết logic của shell bash)
Có rất nhiều thông tin liên quan đến shell này: 10 file tài liệu hớng dẫn, kèm theo
là các file help trong th mục /usr/doc, các ví dụ và các thông tin hữu ích khác
Tìm hiểu các dòng lệnh của shell
Khi bạn chạy một chơng trình từ dòng lệnh thì shell có nhiệm vụ thông dịch lệnhvàchơng trình sẽ đa trở lại đầu ra của nó tới màn hình Bằng cách sử dụng shell bạn cóthể thay đổi đầu ra của dữ liệu tới bất kỳ đâu, ra file chẳng hạn Shell còn cho phép lấydữ liệu đầu vào từ các chơng trình khác Ví dụ hớng đầu ra của lệnh ls ra file:
# touch /tmp/file1 /tmp/file2 /tmp/file3
# ls -w 1 /tmp/file* > ls.txt
Trong lệnh thứ 2, ký tự định hớng ra > cho phép đa kết quả ra file ls.txt Bạn cóthể dùng ký tự định hớng vào < để cung cấp thông tin vào cho chơng trình Trong ví dụsau bạn sử dụng danh sách file trong vd.txt để tạo ra file lu trữ bằng lệnh cpio.
# cpio -o < vd.txt > file.cpio 2> error.txt
cpio: /tmp/file3: no such file or directory
1 block
Thông thờng khi bạn hớng đầu ra vào một file thì file đó sẽ đợc tạo ra nếu bó chatồn tại, trái lại nó sẽ bị xoá Để tránh điều đó ta dùng ký tự nối >> cho phép giữ lại fileban đầu
# cpio -o < vd.txt > file.cpio 2>> error.txt
Lệnh này giữ lại nội dung file error.txt và ghi thêm đầu ra của chơng trình vàocuối file Phơng pháp này đợc sử dụng để ghi lại các thông báo khi bạn logon vào Linux
- hãy xem file messages
Trở lại ví dụ về lệnh soạn thảo đơn giản cat trong phần "Các lệnh đọc và duyệtfile", ta thấy rằng các ký tự định hớng đã đợc sử dụng để hớng dòng vào chuẩn từ thiết
bị đầu cuối
# cat > new.txt
Day la tieng noi Viet Nam
Phat thanh tu Ha Noi
EOF
Ký tự kết thúc đợc đa vào bằng cách gõ Ctrl-D Ta có thể sử dụng ký tự định ớng << để báo cho shell biết việc kết thúc dòng vào chuẩn ở sau ký tự <<
Trang 34h-# cat > new.txt <<.
Day la tieng noi Viet Nam
Phat thanh tu Ha Noi
.
# cat new.txt
Day la tieng noi Viet Nam
Phat thanh tu Ha Noi
Trong ví dụ trên bạn thông báo rằng file sẽ đợc đóng khi gặp ký tự (.), điều này sẽ
đơn giản hơn việc dùng tổ hợp phím Ta hãy dùng cách này để tạo một file cơ sở dữ liệu
đơn giản bằng cách kết hợp grep và ký tự định hớng Nếu có một danh sách địa chỉ, bạnbao nó bằng lệnh grep ở đầu và các ký tự kết thúc ở cuối Gọi file là db
# cat > db <<.
egrep -i $1 << zzzz
Hong Son Dai hoc Bach Khoa
Le Tuan Dai hoc Xay Dung
Tuan Ngoc Trung tam Cong nghe thong tin
Zzzz
.
Đoạn văn bản trên tạo ra một cơ sở dữ liệu ngắn về địa chỉ Lệnh cat cho phépnhập các địa chỉ vào file db cho tới khi gặp dòng có dấu (.) cơ sở dữ liệu làm việc bằnglệnh egrep để đọc file cho tới khi gặp xâu zzzz Tham số -i để lệnh egrep không phânbiệt chữ hoa và thờng $1 là biến môi trờng chứa tham số vào để truyền cho lệnh egrep
Tuỳ biến shell của bạn
Khi ta sử dụng shell thì ta đang ở trong môi trờng trong đó có các biến môi trờng.Các biến môi trờng đợc định nghĩa trớc trong các file cấu hình, đối với bash shell làfile /etc/profile Có rất nhiều các biến môi trờng khác nhau Ta dùng lệnh printenv để incác biến môi trờng:
Bằng cách trên shell đã tìm đợc đờng tới ipconfig, song để lúc nào cũng có kết quả
nh vậy ta phải sửa đổi nội dung file /etc/.bash_profile
Hãy sửa dòng:
PATH=$PATH:$HOME/bin
Thành:
PATH=$PATH:$HOME/bin:/sbin
Trang 35Nếu bạn là root thì hãy xem dòng sau:
# PS1=' Date: \d Time : \t -> ' ; export PS1
Date: Sat Dec 27 Time : 20:09:34 ->
Shell sẽ tự động cập nhật thời gian mỗi khi bạn gõ Enter Bạn có thể đa tên shellvào dấu nhắc:
# PS1 =' \s : \w>'; export PS1
bash: /usr/bin>
Bạn có thể sử dụng các ký tự esc và các chuỗi terminal để tuỳ biến dấu nhắc Bạn
có thể sử dụng chữ gạch dới, chữ đậm, chữ nghiêng và các chế độ khác cho dấu nhắccủa mình
# PS1='[\033[4m\u\033[0m@\033ơ4m\h\033[0m]:' export PS1
[bball@localhost]
Ví dụ này sử dụng chuỗi ký tự esc riêng cho cửa sổ xterm X11 (xem nhờ lệnhprintenv và dòng $ TEMCAP) để gạch chân tên user và tên máy Để có thêm các ví dụhãy xem thêm tài liệu hớng dẫn
Thay đổi dấu nhắc không phải là cách duy nhất để tuỳ biến shell của bạn bạn cóthể định nghĩa một shortcut, alias để thay đổi việc phải làm việc với các dòng câu lệnh.Bạn sẽ thấy có ít nhất vài alias đợc định nghĩa trong file /etc/bashrc Việc định nghĩa cácalias cho toàn hệ thống đợc làm bởi root Bạn có thể định nghĩa các alias của riêngmình trong các file bashrc trong th mục home của bạn, song nếu bạn là root thì bạnphải đặt ít nhất các alias sau cho toàn bộ các user của hệ:
# Liệt kê tên file với màu sắc
alias lsc="ls color"
# Danh sách ở dạng dài
alias ll="ls -l"
# Hiện tất cả các file trừ và
alias lsa="ls -AF"
Sau khi đã thay đổi file bashrc bạn có thể dùng các alias này bằng lệnh source:
# source bashrc
Bây giờ thì bạn có thể dùng các lệnh ls, lsa, lsc mà không cần đa vào các tham sốdòng lệnh Chỉ cần bảo đảm rằng bạn không định nghĩa lại một lệnh đang tồn tại nào.nếu bạn dùng các alias hữu dụng này thì bạn phải bảo đản rằng chúng đợc định nghĩatrong shell hiện hành của Linux
Bạn là ngời quản trị hệ thống thì bạn có thể cho phép các shell nào là đợc dùngtrong Linux Khi đó không phải bất kỳ ngời dùng nào cũng có thể vào đợc shell mong
Trang 36muốn Các shell của hệ thống đợc liệt kê trong file /etc/shell
Chsh: "/bin/zsh" is not listed in /etc/shells
Chsh: use -l option to see list
Nếu bạn muốn dùng lệnh chsh để thay đổi shell trong lần làm việc sau thì shell
này phải đợc liệt kê trong file /etc/shells Trong ví dụ trên lệnh chsh không tìm thấy shellzsh trong file /etc/shells nên đã báo lỗi Song cách làm trên không hạn chế đợc việc khởi
động một shell khi log on Do đó để quản lý việc sử dụng shell thì cách tốt nhất là cungcấp cho ngời dùng các quyền tơng ứng đối với shell
Để chạy chơng trình mặt sau ta thêm & vào sau dòng lệnh
# rxvt &
Dòng lệnh này khởi tạo chơng trình rxvt ở mặt sau, sai đó sẽ quay lại dấu nhắc.Chơng trình sẽ đợc gán một số hiệu tiến trình và có thể xem đợc bằng lệnh ps (processstatus):
Ví dụ khi đang dùng bash shell bạn có thể treo một chơng trình đang chạy bằngcách gõ Ctrl-z và quay trở lại bằng lệnh fg
# pine
program is running (ctrl-z)
Pine suspended Give the "fg" command to come back
[1]+ stopped (signal) pine
# fg
program return
Trang 37Với một tiến trình bị treo, ta có thể dùng lệnh fg để gọi nó trở lại màn hình hoặc
lệnh bg để cho nó tiếp tục chạy Điều này rất thuận lợi khi bạn muốn chạy một số chơng
trình nh newreader chẳng hạn, sau đó treo nó và lại tiếp tục chạy trong thời gian dài( nh cập nhật danh sách các nhóm tin) trong khi vẫn chạy các chơng trình khác ở mặt tr-ớc
Khi chạy và treo nhiều chơng trình ở mặt sau thì ta có thể sẽ không nhớ đợc hết.Khi đó dùng lệnh jobs của shell bash :
Làm thế nào để sử dụng các đờng ống (Pipes)
Bạn đã biết cách dùng các ký tự định hớng để đa đầu ra của chơng ttrình vào mộtfile, hay lấy nội dung một file vào một chơng trình Ta có thể đơn giản hoá điều nàybằng cách dùng ký tự | giữa 2 chơng trình, gọi là đờng ống Việc sử dụng đờng ống làmột phơng pháp hiệu quả để tăng hiệu qủa cho các lệnh độc lập của Linux và các phiênbản UNIX khác
Đờng ống đợc sử dụng tốt trong Linux vì các lệnh của nó đều chấp nhận các đầuvào/ra chuẩn của shell Đờng ống đợc sử dụng trong hầu hết các tác vụ tính toán và cóthể dùng trong việc tìm thông tin nhanh, tạo các báo cáo, truyền dữ liệu, xem kết qủa Sau đây là một số ví dụ:
# ls | lpr
# printenv | fgrep EDITOR
# nroff -man mymanpage.1 | less
# cat document.txt | wc | mail -s "Document.txt Report" bball
Ví dụ một in danh sách các file Ví dụ 2 cho biết trình soạn thảo văn bản mặc
định Ví dụ 3 hiển thị tài liệu lên màn hình để ta có thể duyệt đợc Ví dụ cuối cùng đếm
số ký tự trong file ( chơng trình wc) và gửi kết quả cho bball bằng th điện tử
Việc sử dụng đờng ống có thể giúp ta giải quyết công việc mà các lệnh bình thờngkhông thể làm đợc, ví dụ bạn có quá nhiều file doc và muốn tìm một số file có câu liênquan:
# find /home -name *.doc | xargs fgrep administration | less
Lệnh trên tìm các file doc có chứa từ administration và hiển thị lên màn hình tacòn có thể xử lý ngay cả kết qủa tìm kiếm, ví dụ:
# find *.doc | xargs cat | tr ' ' ' \n' | sort | uniq | tee dict | less
Lệnh trên tạo một file dict chứa danh sách các từ phân biệt trong một file văn bản.Lệnh này sẽ chuyển các ký tự trống giữa các từ thành ký tự xuống dòng, sau đó sắp xếp( sort) và bỏ các từ trùng nhau (uniq) Lệnh tee đa kết quả của đờng ống ra một file
Trang 38Lệnh tee còn có tác dụng khi ta muốn kiểm tra kết quả khi xây dựng đờng ốnghay cất kết quả của các đờng ống phức tạp Ví dụ:
# rxvt - geometry 80x11 +803+375 -bg white -fg black -e pico &
# rxvt - geometry 80x11 +803+375 -bg white -fg black -e mail &
Ta có thể đa lệnh trên vào file d2 và gán cho file này có thể thực hiện đợc(executable):
# chmod +x d2
Và khởi động các chơng trình nh sau:
# d2
Ta còn có thể đa tham số vào lệnh shell bằng các biến shell $1 và $2:
# rxvt - geometry 80x11 +803+375 -bg white -fg black -e $1 &
# rxvt - geometry 80x11 +803+375 -bg white -fg black -e $2 &
Khi chạy chơng trình ta chỉ việc thêm tham số nh là lệnh bình thờng:
# d2 pico pine
Sau đây là một ví dụ về shell script rmv, dùng để xoá các file một cách an toàn:
Listing 6.1 Bash shell script rmv
# ! /bin/bash
# rmv -a safe delete prỏgam
# use a trash directory under your home directory
mkdir $ HOME/.trash 2>/dev/null
/bin/echo "deleting :\c " $2 $3 $4 $5 ; delete=true;;
/bin/echo "emptying the trash "; empty=true;;
/bin/echo "safe file delete v1.0"
/bin/echo "rmv -d[elete] -e[mpty] -h[elp] - l[ist] file1-4 ;; /bin/echo "your trash directory contains: "; list=true;;
esac
done
Trang 39# rmv -h
safe file delete v1.0
rmv -d[elete] -e[mpty] -h[elp] -l[list] file1-4
§Ó xãa file ta dïng tham sè - d:
# rmv -d grap.gif grap.pnm
deleting grap.gif grap.pnm finished
§Ó kiÓm tra c¸c file trong thïng r¸c vµ xo¸ thïng r¸c:
emptying the trash,,,
empty the trash ?n
trashcan delete aborted
# rmv -e
emptying the trash,,,
empty the trash ?y
Trang 40script cña riªng b¹n.