BÀI TẬP NGUYÊN LÝ HỆ ĐIỀU HÀNH
CHỦ ĐỀ: CẤU TRÚC, SỬ DỤNG, NGUYÊN
LÝ, PHÂN TÍCH MÃ NGUỒN CentOS
NHÓM 6:
1. PHA LI NHA
2. NGUYỄN CÔNG ĐỨC
3. NGUYỄN THỊ HỒNG NGOAN
4. NGUYỄN THU THÙY
5. NGUYỄN TUẤN ANH
1. TỔNG QUAN VỀ CENTOS
1.1 Giới thiệu về HDH Linux/CentOS
CẤU TRÚC, SỬ DỤNG, NGUYÊN LÝ, PHÂN TÍCH MÃ NGUỒN CENTOS
NHÓM 6 – AT7A
Năm 1991, Linus Torvalds, sinh viên của Đại Học Tổng hợp Helsinki
Phần Lan bắt đầu xem xét Minix, một phiên bản của Unix với mục đích tạo
ra một hệ điều hành Unix chạy trên PC với bộ xử lý Intel 80386.
Năm 1994, phiên bản Linux 1.0 chính thức được phát hành. Linux là một
hệ điều hành dạng Unix, được viết lại từ đầu và không sử dụng một lệnh nào
của Unix để tránh vấn đề bản quyền. Nhưng hoạt động của Linux lại hoàn
toàn dựa trên nguyên tắc hoạt động của Unix. Linux là một hệ điều hành
miễn phí, được cộng đồng IT phát triển trên mạng internet. Linux là hệ điều
hành đa nhiệm và đa người dùng, tận dụng được sức mạnh xử lý của máy 386
và các đời cao hơn, chạy được trên nhiều loại máy. Linux hỗ trợ sẵn bộ giao
thức TCP/IP giúp người dùng dễ dàng kết nối internet, có khả năng tương
thích với các hệ thống mở, hỗ trợ người dùng với nhiều tiện ích. Bên cạnh đó
thì Linux vẫn tồn tại một số hạn chế. Linux không có một công ty nào đứng
ra chịu trách nhiệm phát triển nó nên nếu gặp trục trặc sẽ không có ai có thể
giải quyết miễn phí cho bạn. Linux không dễ dàng cài đặt và hỗ trợ nhiều
thiết bị phần cứng. Các phiên bản phần cứng của Linux đều hỗ trợ theo
nguyên tắc phần cứng của nhà phát triển Linux. Quá trình sử dụng với người
dùng tương đối khó khăn bởi Linux hỗ trợ giao tiếp bằng đồ họa ít, chủ yếu
phải dùng bằng lệnh.
Sau khi Linux ra đời và phát triển thì nó có nhiều phiên bản phát triển
khác nhau nhưng đều dựa trên nhân của Linux. Hiện nay trên thị trường hay
trên internet có rất nhiều phiên bản cho người dùng lựa chọn, bản thương mại
cũng có, bản miễn phí cũng có. Có một số bản như: Ubuntu, Fedora, Red
Hat Enterprise, CentOS… Trong quá trình phát triển của mình nó cũng tách
ra làm 2 dòng chính, 1 để phục vụ cho người dùng cá nhân với các ứng dụng
hỗ trợ. Hai là phục vụ cho máy chủ với nhiều tính năng ứng dụng mang tầm
rộng hơn.
CentOS (viết tắt của Community ENTerprise Operating System) là một
bản phân phối của Linux, được xây dựng từ nhiều nguồn miễn phí của
RedHat. Hiện tại CentOS có phiên bản mới nhất là 6.4, được xây dựng dựa
trên nền Red Hat Enterprise Linux 6, hỗ trợ dòng x86_64 (i386), có kernel
2.6 của Linux, sử dụng giao diện người dùng GNOME. Và là bản miễn phí
được phát triển mạnh mẽ bởi cộng đồng IT trên Internet.
CentOS thường được sử dụng trên các hệ điều hành máy chủ web, Server.
1.2 Hướng dẫn cài đặt CentOS 6.4
1.2.1 Yêu cầu phần cứng
- CPU: 1 GHz
- RAM: 512MB
CẤU TRÚC, SỬ DỤNG, NGUYÊN LÝ, PHẦN TÍCH MÃ NGUỒN CENTOS 2
NHÓM 6 – AT7A
- HDD: 5GB trống
1.2.2 Quá trình cài đặt
Đầu tiên cần tải file iso về tại địa
chỉ: dung lượng
khoảng hơn 5GB. Sau đó tiến hành ghi ra đĩa DVD hoặc cài bằng VMWare. Ở
đây tôi sẽ cài bằng máy ảo VMWare
Các bước cài đặt được tiến hành như trong hình.
Chọn vào Install or upgrade an exiting system để cài đặt mới.
CẤU TRÚC, SỬ DỤNG, NGUYÊN LÝ, PHẦN TÍCH MÃ NGUỒN CENTOS 3
NHÓM 6 – AT7A
Hệ thống sẽ load các file cần thiết cũng như xác định các thành phần phần cứng của
máy.
Ở cửa sổ Disc Found hệ thống thông báo đã tìm thấy đĩa cài đặt, nhần OK để kiểm tra
xem đĩa có bị lỗi hay không hoặc nhấn vào Skip để bỏ qua bước kiểm tra đĩa này nếu
chắc chắn đĩa không có lỗi gì.
CẤU TRÚC, SỬ DỤNG, NGUYÊN LÝ, PHẦN TÍCH MÃ NGUỒN CENTOS 4
NHÓM 6 – AT7A
Tiến trình cài đặt bắt đầu. Ta nhấn Next để tiếp tục
Lựa chọn ngôn ngữ trong quá trình cài đặt. Có nhiều ngôn ngữ để lựa chon. Ở đây chon
tiếng Anh
CẤU TRÚC, SỬ DỤNG, NGUYÊN LÝ, PHẦN TÍCH MÃ NGUỒN CENTOS 5
NHÓM 6 – AT7A
Lựa chọn kiểu bàn phím. Thường là US.English. Nhấn next để tiếp tục.
Lựa chọn kiểu thiết bị lưu trữ được sử dung để cài đặt. Chọn Basic Storagr Device để
lựa chọn ổ cứng gắn trong máy để cài đặt. Nhấn Next để tiếp tục.
CẤU TRÚC, SỬ DỤNG, NGUYÊN LÝ, PHẦN TÍCH MÃ NGUỒN CENTOS 6
NHÓM 6 – AT7A
Do ổ đĩa trong trường hợp này chưa được phân vùng (đĩa trắng hoàn toàn)
nên hệ thống đưa ra cảnh báo. Ta chọn vào Yes, discard any data để bỏ qua tất cả
dữ liệu (nếu có) trên ổ đĩa.
CẤU TRÚC, SỬ DỤNG, NGUYÊN LÝ, PHẦN TÍCH MÃ NGUỒN CENTOS 7
NHÓM 6 – AT7A
Ở phần Hostname (tên máy) ta nhập vào địa chỉ FQDN cho server chẳng hạn như
demo.com,…
Một cửa sổ hiện ra giúp lựa chọn card mạng. Sau đó vào Configure Network Settings
trong lựa chọn Configure Network.
CẤU TRÚC, SỬ DỤNG, NGUYÊN LÝ, PHẦN TÍCH MÃ NGUỒN CENTOS 8
NHÓM 6 – AT7A
Chọn time zone là Asia/Ho Chi Minh rồi ấn Next
Cài đặt mật khẩu cho người dung root.
CẤU TRÚC, SỬ DỤNG, NGUYÊN LÝ, PHẦN TÍCH MÃ NGUỒN CENTOS 9
NHÓM 6 – AT7A
Lựa chọn kiểu cài đặt CentOS vào ổ cứng, ở đây chọn Replace Existing Linux System
và chọn Review and modify partitioning layout. Ấn Next để chuyển đến bước tiếp theo.
CẤU TRÚC, SỬ DỤNG, NGUYÊN LÝ, PHẦN TÍCH MÃ NGUỒN CENTOS 10
NHÓM 6 – AT7A
Kiểm tra xem các phân vùng đã chính xác chưa, nếu chưa chỉnh lại cho đúng. Chú ý đến
lv_root và Lv_swap. Thông thường để phân vùng swap sẽ gấp đôi dung lượng RAM,
dung lượng còn lại để cho phân vùng root (/). Ấn Next sẽ hiện ra bảng Format Warning.
Chọn Format rồi sau đó chọn Write change to disk.
Quá trình định dạng ổ cứng để cài đặt.
CẤU TRÚC, SỬ DỤNG, NGUYÊN LÝ, PHẦN TÍCH MÃ NGUỒN CENTOS 11
NHÓM 6 – AT7A
Cài đặt Boot Loader. Chọn Change Device để lựa chọn phân vùng để ghi BootLoader.
Click chọn Use a boot loader password nếu hệ thống được truy cập bởi nhiều người
dùng (ở trường hợp này không chọn). Ấn Next.
CẤU TRÚC, SỬ DỤNG, NGUYÊN LÝ, PHẦN TÍCH MÃ NGUỒN CENTOS 12
NHÓM 6 – AT7A
Để lựa chọn những ứng dụng muốn cài đặt có thể chọn Customize now để thêm hoặc
xóa và ấnNext
Lựa chọn những gói, ứng dụng muốn cài đặt. Click Next
CẤU TRÚC, SỬ DỤNG, NGUYÊN LÝ, PHẦN TÍCH MÃ NGUỒN CENTOS 13
NHÓM 6 – AT7A
Quá trình cài đặt bắt đầu. Có thể mất một vài phút.
Cài đặt thành công. Click Reboot để hoàn tất.
CẤU TRÚC, SỬ DỤNG, NGUYÊN LÝ, PHẦN TÍCH MÃ NGUỒN CENTOS 14
NHÓM 6 – AT7A
Màn hình đăng nhập của CentOS sau khi khởi động lại.
2. CẤU TRÚC VÀ SỬ DỤNG
2.1 Kiến trúc của HDH
CẤU TRÚC, SỬ DỤNG, NGUYÊN LÝ, PHẦN TÍCH MÃ NGUỒN CENTOS 15
NHÓM 6 – AT7A
Hình 1: Kiến trúc HDH
- Shell cung cấp các tập lệnh cho người dùng thao tác với kernel để thực
hiện công việc. Shell đọc các lệnh từ người dùng và xử lý. Ngoài ra shell
còn cung cấp một số đặc tính khác như chuyển hướng xuất nhập, ngôn ngữ
lệnh để tạo ra các tập tin tương tự như .bat trong MSDos. Có nhiều shell
được sử dụng trong Linux và mỗi shell có các bộ lệnh khác nhau.
- Các tiện ích được sử dụng cho việc thao tác với tập tin, sao, lưu dữ liệu…
Hầu hết các tiện ích sử dụng trong Linux đều là sản phẩm của GNU.
- Ứng dụng là các tiện ích được các nhà sản xuất viết ra và cung cấp cho
người dùng như là: word, hệ quản trị cơ sở dữ liệu…
- Kernel là trung tâm của hệ điều hành Linux cũng như CentOS, chứa các
mã nguồn điều khiển hoạt động của toàn bộ hệ thống
- Phần cứng bao gồm các tổ chức phần cứng của máy như bộ xử lý trung
tâm(CPU)…
Kiến trúc của CentOS có thể xem như là một loại kim tự tháp với các chức năng
xếp chồng lên nhau. Hệ điều hành tương tác trực tiếp với phần cứng, cung cấp các
dịch vụ cơ bản cho các chương trình và ngăn cách các chương trình với phần cứng cụ
thể. Nếu nhìn hệ thống từ các lớp, thì hệ điều hành thông thường được gọi là “nhân
hệ thống” (System Kernel), nó được cách ly với chương trình của người dùng. Bởi vì
các chương trình ứng dụng nói chung, kể cả các hệ điều hành, độc lập phần cứng,
nên dễ dàng chạy trên các phần cứng khác nhau vì không phụ thuộc vào phần cứng
cụ thể. Chẳng hạn Shell và các editors (vi, ed) ở lớp ngoài tương tác với kernel bằng
cách phát sinh ra gọi hệ thống (system call).Gọi hệ thống sẽ chỉ thị cho kernel làm
những việc khác nhau mà chương trình gọi yêu cầu, thực hiện trao đổi dữ liệu giữa
CẤU TRÚC, SỬ DỤNG, NGUYÊN LÝ, PHẦN TÍCH MÃ NGUỒN CENTOS 16
NHÓM 6 – AT7A
kernel và chương trình đó. Một vài chương trình có tên trong hình là chương trình
chuẩn trong cấu hình của hẹ thống và được biết tên dưới dạng các lệnh (commands).
Lớp này cũng có thể bao hàm các chương trình người dùng với tên là a.out, một loại
tên chuẩn do các tệp chạy được do bộ dịch C tạo ra. Còn có loại ứng dụng khác được
xây dựng trên lớp trên cùng của các chương trình có mức thấp hơn hiện diện ở lớp
ngoài cùng của mô hình. Mặc dù mô hình mô tả hai cấp khác nhau nhưng người
dùng có thể mở rộng ra các cấp thích hợp. Rất nhiều các hệ thống ứng dụng, các
chương trình, cho cách nhìn ở mức cao, song tất cả đều dùng các dịch vụ cấp thấp
được cung cấp bởi kernel.
2.2 Cấu trúc cây thư mục
Các hệ điều hành Linux đêu giữ lại cấu trúc cây thư lục lịch sử của Unix nhưng
chúng không phải là Unix nên tùy từng bản phân phối mà cấu trúc này cũng được
thay đổi theo. Dưới đây là cấu trúc cây thư mục của CentOS.
CẤU TRÚC, SỬ DỤNG, NGUYÊN LÝ, PHẦN TÍCH MÃ NGUỒN CENTOS 17
NHÓM 6 – AT7A
- /: Thư mục gốc là nơi bắt đầu của tất cả thư mục và tệp tin. Chỉ có người
dùng root mới có quyền thao tác trên thư mục này. Chú ý / khác với /root
là thư mục home của user root.
- /boot: Thư mục này chứa các tập tin liên quan tới chương trình quản lý
khởi động máy. Nó lưu trữ dữ liệu cần sử dụng trước khi kernel bắt đầu
thực thi chương trình người dùng. Chúng có thể bao gồm master boot
sector và sector map file. Ví dụ như initrd, vmlinux.grub,
- /bin: Thư mục chứa các tệp tin thực thi của người dùng, các lệnh được sử
dụng bởi tất cả người dùng trong hệ thống (khác với thư mục /sbin chỉ
được chạy bởi /sbin). Ví dụ: các lệnh man, cat, vi, grep,…
- /sbin – System binary: Thư mục này chứa các tệp tin thực thi của hệ thống,
các lệnh quản trị hệ thống. Chỉ người dùng root mới có quyền thực thi. Nó
gồm các lệnh: fastboot, fasthalt, halt, update,….
CẤU TRÚC, SỬ DỤNG, NGUYÊN LÝ, PHẦN TÍCH MÃ NGUỒN CENTOS 18
NHÓM 6 – AT7A
- /dev: chứa các tập tin thiết bị đầu cuối như USB hay bất kì thiết bị nào
được gắn vào hệ thống.
- /etc: Trong thư mục này chứa các tập tin tuỳ biến của cả hệ thống. Những
tập tin trong này điều khiển cả quá trình khởi động máy, quản lí users,
quản lí mạng Bên cạnh đó nó cũng chứa các đoạn mã dùng để khởi
động hay tắt các chương trình đơn lẻ.
- /home: thư mục chứa các tập tin của người dùng trong hệ thống ngoại trừ
root có home directory là /root
- /lib: Nơi chứa đựng một vài thư viện dùng chung hoặc là đường dẫn tượng
trưng đến các thư mục dùng chung đó. Những thư viện này sẽ được sử
dụng đến cho việc chạy một số các chương trình nhất định. Trong thư mục
/lib /modules chứa đựng những kernel modules, chúng được bật và tắt nếu
cần thiết.
- /lost+found: Trong thư mục này, những tệp tin bị mất sẽ được lưu trữ.
Những tệp tin được xếp vào dạng này là những tệp tin không đầy đủ hoặc
bị lỗi được tạo ra khi linux không được tắt một cách hoàn thiện.
- /mnt: sử dụng để mount (gắn) các hệ thống tệp tin phụ như CD-Rom, phân
vùng của windows dưới /mnt/cdrom hay /mnt/c, ngoài /mnt thì hiện nay
thư mục thường được dùng là /media.
- /opt: Thư mục này được tạo ra cho một số chương trình riêng của người sử
dụng
- /proc:Thông tin về các tiến trình đang chạy sẽ được lưu trong /proc dưới
dạng một hệ thống file thư mục mô phỏng. Ví dụ thư mục con /proc/{pid}
chứa các thông tin về tiến trình có ID là pid (pid ~ process ID). Ngoài ra
đây cũng là nơi lưu thông tin về về các tài nguyên đang sử dụng của
hệ thống như: /proc/version, /proc/uptime
- /root: chứa dữ liệu của người dùng root.
- /srv: Chứa dữ liệu liên quan đến các dịch vụ máy chủ như /srv/svs, các dữ
liệu liên quan đến CVS.
- /tmp: chứa các tập tin tạm thời được tạo ra bởi người dùng và hệ thống.
Các tập tin trong thư mục này sẽ bị xóa khi khởi động lại.
- /usr (unix system resources): chứa các tập tin thực thi, thư viện, tài liệu,
mã nguồn cho các chương trình.
/usr/bin chứa các file thực thi của người dùng như: at, awk, cc, less
/usr/sbin chứa các file thực thi của hệ thống dưới quyền của root
như: atd, cron, sshd…
/usr/lib chứa các thư viện cho các chương trình trong /usr/bin và
/usr/sbin.
CẤU TRÚC, SỬ DỤNG, NGUYÊN LÝ, PHẦN TÍCH MÃ NGUỒN CENTOS 19
NHÓM 6 – AT7A
/usr/local chứa các chương tình của người dùng được cài từ mã
nguồn. Ví dụ như cài apache từ mã nguồn, nó sẽ được lưu dưới
/usr/local/apache2
- Thư mục /var: chứa các tệp tin mà có dung lượng biến đổi theo thời gian
như: tập tin ghi nhật ký hệ thống (/var/log), các gói và các tập tin cơ sở dữ
liệu (/var/lib), thư điện tử (/var/mail)…
2.3 Cách sử dụng (Các lệnh cơ bản)
Linux - CentOS là một hệ điều hành đa người dùng, đa nhiệm, được phát
triển bởi hàng nghìn người trên toàn thế giới nên hệ thống lệnh cũng ngày càng
phong phú.
Tuy nhiên chỉcó khoảng vài chục lệnh là thông dụng nhất đối với người
dùng. Ở đây sẽ giới thiệu vài chục lệnh đó. Chúng ta đừng e ngại về sốlượng lệnh
được giới thiệu chỉ chiếm một phần nhỏtrong tập hợp lệnh bởi vì đây là những
lệnh thông dụng nhất và chúng cung cấp một phạm vi ứng dụng rộng lớn, đủ thỏa
mãn yêu cầu của chúng ta.
Cũng như đã nói ở trên, người dùng làm việc với máy tính thông qua việc
sửdụng trạm cuối: người dùng đưa yêu cầu của mình bằng cách gõ "lệnh" từbàn
phím và giao cho hệ điều hành xửlý.
Khi cài đặt Linux lên máy tính cá nhân thì máy tính cá nhân vừa đóng vai
trò trạm cuối, vừa đóng vai trò máy tính xử lý.
Dạng tổng quát của lệnh Linux có thể được viết nhưsau:
# <Tên lệnh> [<các tham số>]
Trong đó:
Tên lệnh là một dãy ký tự, không có dấu cách, biểu thịcho một lệnh
của Linux hay một chương trình. Người dùng cần hệ điều hành đáp
ứng yêu cầu gì của mình thì phải chọn đúng tên lệnh. Tên lệnh là bắt
buộc phải có khi gõ lệnh.
Các tham sốcó thểcó hoặc không có, được viết theo quy định của
lệnh mà chúng ta sửdụng, nhằm cung cấp thông tin vềcác đối tượng
mà lệnh tác động tới. Ý nghĩa của các dấu [, <, >, ] được giải thích
ởphần quy tắc viết lệnh.
CẤU TRÚC, SỬ DỤNG, NGUYÊN LÝ, PHẦN TÍCH MÃ NGUỒN CENTOS 20
NHÓM 6 – AT7A
Các tham số được phân ra thành hai loại: tham sốkhóa (tùy chọn) và tham
sốvịtrí (tên file, thư mục). Khi gõ lệnh, tham sốvịtrí được thay bằng những đối
tượng mà người dùng cần hướng tác động tới. Tham sốkhóa chính là những tham
số điều khiển hoạt động của lệnh theo các trường hợp riêng. Trong Linux, tham
sốkhóa thường bắt đầu bởi dấu trừ"-" hoặc hai dấu trừliên tiếp " ". Khi gõ lệnh,
cũng giống nhưtên lệnh, tham sốkhóa phải được viết chính xác nhưtrình bày trong
mô tảlệnh. Một lệnh có thểcó một sốhoặc rất nhiều tham sốkhóa. Phụthuộc vào
yêu cầu cụthểcủa mình, người dùng có thểchọn một hoặc một sốcác tham sốkhóa
khi gõ lệnh. Trong mô tảlệnh, thường xuất hiện thuật ngữtùy-chọn. Tùy chọn lệnh
(thực chất là tham sốkhóa) cho phép điều chỉnh hoạt động của lệnh trong Linux,
làm cho lệnh có tính phổdụng cao. Tuỳchọn lệnh cho phép lệnh có thểđáp ứng ý
muốn của người dùng đối với hầu hết (tuy không phải lúc nào cũng vậy) các tình
huống đặt ra cho thao tác ứng với lệnh.
Ví dụ sử dụng lệnh sau để xem thông tin về các file
# ls -l
Trong đó:
lslà tên lệnh thực hiện việc đưa danh sách các tên file/
thưmục con trong một thưmục
-llà tham sốkhóa, cho biết yêu cầu xem đầy đủthông tin
vềcác đối tượng hiện ra.
Lưu ý:
Linux (và UNIX nói chung) được xây dựng trên ngôn ngữ lập trình C, vì
vậy khi gõ lệnh phải phân biệt chữ thường với chữ hoa. Ngoại trừ một số ngoại
lệ, trong Linux chúng ta thấy phổ biến là:
Các tên lệnh là chữ thường,
Một số tham số có thể là chữ thường hoặc chữ hoa (ví dụ, trong lệnh
date vềthời gian hệ thống thì hai tham số -r và –R có ý nghĩa hoàn
toàn khác nhau). Tên các biến môi trường cũng thường dùng chữ
hoa.
Hệ điều hành phân biệt người dùng root (siêu người dùng) và người dùng
thông thường nên một số lệnh chỉ được thực hiện dưới quyền root như lệnh
passwd (dùng để thay đổi mật khẩu người dùng).
CẤU TRÚC, SỬ DỤNG, NGUYÊN LÝ, PHẦN TÍCH MÃ NGUỒN CENTOS 21
NHÓM 6 – AT7A
Một dòng lệnh có thể có nhiều hơn một lệnh, trong đó lệnh sau được ngăn
cách bởi với lệnh đi ngay trước bằng dấu ";" hoặc dấu "|".
2.3.1 Các quy ước khi viết lệnh
Tên lệnh là bắt buộc, phải là từ đầu tiên trong bất kỳ lệnh nào, phải được
gõ đúng như khi mô tả lệnh.
Tên khái niệm được nằm trong cặp dấu ngoặc quan hệ (< và >) biểu thịcho
một lớp đối tượng và là tham sốbắt buộc phải có. Khi gõ lệnh thì tên khái niệm
(có thể được coi là "tham sốhình thức") phải được thay thếbằng một từ (thường là
tên file, tên thưmục và có thể được coi là "tham sốthực sự") để chỉ đối tượng
liên quan đến thao tác của lệnh.
Ví dụ: cú pháp của lệnh morexem nội dung file là
# more <file>
Từ morelà tên lệnh, còn <file> là tham sốtrong đó filelà tên khái niệm và
là tham sốbắt buộc phải có. Lệnh này có tác động là hiện lên màn hình theo cách
thức cuộn nội dung của file với tên đã chỉtrong lệnh. Chẳng hạn để xem thông tin
của file taileu.txt thì ta gõ # more tailieu.txt
Các bộphận nằm giữa cặp dấu ngoặc vuông [] là có thể gõ hoặc không gõ
cũng được. Mỗi tùy chọn cho một cách thức hoạt động khác nhau của hệ thống.
Ví dụ các lệnh halt sau đây đều hợp lệ:
# halt
# halt –w
# halt –n
Dấu ba chấm thể hiện việc lặp lại thành phần cú pháp đi ngay trước dấu
này, việc lặp lại đó có thể từ không đến nhiều lần (không kể chính thành phần cú
pháp đó). Cách thức này thường được dùng với các tham số như tên file.
Ví dụ, mô tả lệnh chown như sau:
chown [tùy-chọn]<chủ>[,[nhóm]]<file>
CẤU TRÚC, SỬ DỤNG, NGUYÊN LÝ, PHẦN TÍCH MÃ NGUỒN CENTOS 22
NHÓM 6 – AT7A
Nhưvậy trong lệnh chown có thểkhông có hoặc có một số tùy chọn lệnh và
có từ một đến nhiều tên file.
Các bộ phận trong mô tảlệnh, nếu không nằm trong các cặp dấu () [] {}
thì khi gõ lệnh thực sự phải gõ y đúng như khi mô tả (chú ý, quy tắc viết tên lệnh
là một trường hợp riêng của quy tắc này).
Việc kết hợp các dấu ngoặc với nhau cho phép tạo ra cách thức sử dụng
quy tắc tổ hợp các tham số trong lệnh. Ví dụ, lệnh more bình thường có cú pháp
là
# more <file>
có nghĩa là thay <file> bằng tên file cần xem nội dung, nếu kết hợp thêm dấu
ngoặc vuông, tức là có dạng sau (chính là dạng tổng quát của lệnh more):
# more [<file>]
thì <file> nói chung phải có trong lệnh more, tuy nhiên trong một sốtrường hợp
có thểbỏqua tham sốfile.
2.3.2 Làm đơn giản thao tác gõ lệnh
Việc sử dụng bàn phím để nhập lệnh tuy không phải là một công việc nặng
nề, song Linux – CentOS còn cho phép người dùng sử dụng một số cách thức để
thuận tiện hơn khi gõ lệnh đó là:
Sử dụng việc khôi phục dòng lệnh,
Sử dụng các phím đặc biệt,
Sử dụng các kí hiệu thay thếvà phím Tab,
Sử dụng thay thế alias,
Sử dụng chương trình lệnh
2.3.2.1 Sử dụng việc khôi phục dòng lệnh
Linux cung cấp một cách thức đặc biệt là khảnăng khôi phục lệnh. Tại dấu
nhắc shell: Người dùng sửdụng các phím mũi tên lên/xuống (↑/↓) trên bàn phím
đểnhận lại các dòng lệnh đã được đưa vào trước đây tại dấu nhắc shell, chọn một
trong các dòng lệnh đó và biên tập lại nội dung dòng lệnh theo đúng yêu cầu mới
của mình.
2.3.2.2 Sử dụng các phím đặc biệt
CẤU TRÚC, SỬ DỤNG, NGUYÊN LÝ, PHẦN TÍCH MÃ NGUỒN CENTOS 23
NHÓM 6 – AT7A
Khi người dùng gõ lệnh có thể xảy ra một số tình huống như sau:
Dòng lệnh đang gõ có chỗ sai sót, không đúng theo yêu cầu của
người dùng vì vậy cần phải sửa lại đôi chút nội dung trên dòng lệnh
đó. Trong trường hợp đó cần sử dụng các phím đặc biệt (còn gọi là
phím viết tắt hay phím tắt) để di chuyển, xoá bỏ, bổ sung vào nội
dung dòng lệnh.
Sau khi sử dụng cách thức khôi phục dòng lệnh, chúng ta nhận được
dòng lệnh tương tự với lệnh cần gõ và sau đó sử dụng các phím tắt
để hoàn thiện lệnh.
Dưới đây giới thiệu các phím tắt và ý nghĩa của việc sửdụng chúng:
Nhấn phím → để di chuyển con trỏ sang bên phải một vị trí
Nhấn phím ← để di chuyển con trỏ sang bên trái một vị trí
Nhấn phím <ESC-BACKSPACE> để xoá một từ bên trái con trỏ
Nhấn phím <ESC-D> để xoá một từ bên phải con trỏ
Nhấn phím <ESC-F> để di chuyển con trỏ sang bên phải một từ
Nhấn phím <ESC-B> để di chuyển con trỏ sang bên trái một từ
Nhấn phím <CTRL-A> để di chuyển con trỏ về đầu dòng lệnh
Nhấn phím <CTRL-E> để di chuyển con trỏ vềcuối dòng
Nhấn phím <CTRL-U> để xóa dòng lệnh
Có thểdùng phím <ALT> thay cho phím <ESC>.
2.3.2.3 Sử dụng các kí hiệu thay thế và phím Tab
Khi gõ lệnh thực sự nhiều trường hợp người dùng mong muốn một tham
số trong lệnh không chỉ xác định một file mà lại liên quan đến một nhóm các file
mà tên gọi của các file trong nhóm có chung một tính chất nào đó. Trong những
trường hợp như vậy, người dùng cần sử dụng các kí hiệu mô tả nhóm file
(wildcards), chúng ta gọi là kí hiệu mô tả nhóm (còn được gọi là kí hiệu thay thế).
Người ta sửdụng các kí tự*, ? và cặp hai dấu [] để mô tả nhóm file. Các kí tự này
mang ý nghĩa nhưsau khi viết vào tham số tên file thực sự:
"*": là ký tựmô tảnhóm gồm mọi xâu kí tự(thay thếmọi xâu). Mô
tảnày cho một nhóm lớn nhất trong ba mô tả.
Ví dụ: viết s* để chỉ các tên có ký tự đầu là s
"?": mô tảnhóm gồm mọi xâu với độdài không quá 1 (thay thếmột kí
tự). Nhóm này là tập con của nhóm đầu tiên (theo kí tự"*").
[xâu-kí-tự]: mô tảnhóm gồm mọi xâu có độdài 1 là mỗi kí tựthuộc
xâu nói trên. Mô tảnày cho một nhóm có lực lượng bé nhất trong ba
CẤU TRÚC, SỬ DỤNG, NGUYÊN LÝ, PHẦN TÍCH MÃ NGUỒN CENTOS 24
NHÓM 6 – AT7A
mô tả. Nhóm này là tập con của nhóm thứhai (theo kí tự"?"). Khi gõ
lệnh phải gõ cảhai dấu [và ]. Một dạng khác của mô tảnhóm này là
[<kí_tự_1>-<kí_tự_2>]nghĩa là giữa cặp dấu ngoặc có ba kí tựtrong
đó kí tự ởgiữa là dấu nối (dấu -) thì cách viết này tương đương với
việc liệt kê mọi kí tựtừ<kí_tự_1> đến <kí_tự_2>. Chẳng hạn, cách
viết [a-d]tương đương với cách viết [abcd].
Ví dụ: gõ [si]* để liệt kê tất cả các tên bắt đầu bằng ký tự “s”
hoặc ký tự “i”
Khi sử dụng phím Tab có thể hoàn thành nốt tên file, tên thư mục
trong lệnh. Khi sử dụng một hoặc một vài ký tự mà chưa đủ thì ta có
thể nhập thêm ký tự tiếp theo và ấn Tab. Nếu ấn Tab hai lần thì có
thể show ra các tập tin, câu lệnh bắt đầu bằng các ký tự trước khi ấn
Tab.
2.3.2.4 Sử dụng thay thế Alias
Alias được sử dụng để thay thế một lệnh bằng một cái tên khác nhằm tạo
một thói quen cho người dùng. Ví dụ như với hệ thống máy chủ việc xóa file phải
vô cùng thận trọng. Chẳng hạn khi người dùng vô tình gõ lệnh # rm -R -f * sẽ
khiến dữ liệu trong toàn bộ thư mục bị xóa. Thay vì đó ta có thể sử dụng # alias
rm='rm -i'khi đó mỗi lần sử dụng lệnh rmhệ thống sẽ hỏi là có chắc chắn muốn
xóa hay không.
Khi không muốn sử dụng Alias nữa thì ta có thể Unalias.
Cú pháp:
Alias: # alias [-p] [name[=value] ]
Unalias: # unalias [-a] [name ]
2.3.3 Trang man
Chúng ta có thể nói rằng Linux là một hệ điều hành rất phức tạp với hàng
nghìn lệnh và mỗi lệnh lại có thể có tới vài hoặc vài chục tình huống sử dụng do
chúng cho phép có nhiều tùy chọn lệnh. Để thuộc hết được nội dung tất cả các
lệnh của Linux là một điều hết sức khó khăn, có thể nói là không thể. Linux cho
phép người dùng sử dụng cách thức gọi trang
Man để có được các thông tin đầy đủ giới thiệu nội dung các lệnh. Dưới
đây là một số nội dung vềcách thức sử dụng trang Man.
CẤU TRÚC, SỬ DỤNG, NGUYÊN LÝ, PHẦN TÍCH MÃ NGUỒN CENTOS 25