tranbinh_ha

New Member

Download miễn phí Bài giảng Chứng chỉ quản trị mạng Linux - Lập trình shell trên Linux





Dòng chú thích sửdụng trong các source chương trình dùng đểgiải thích ý nghĩa các lệnh hay
chức năng của một biến hay một đoạn chương trình. Những dòng này không được biên dịch đối
với các ngôn ngữlập trình, và nó không được thực thi đối với chương trình shell. Bắt đầu một
dòng chú thích là dấu # .
Ví dụ: một đoạn chương trình sửdụng dòng ghi chú.
# Kiểm tra có tồn tại tham số đầu tiên
if test $1 –z ; then
echo “Khong co tham so“
fi # kết thúc if



Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

rình shell. Linux là hệ thống đa người dùng, khi mỗi người dùng đăng
nhập hệ thống, họ sẽ nhận được một bản sao chép của shell để thao tác với hệ thống.
I.1.1 Một số đặc điểm của shell
- Xử lý tương tác ( Interative processing) : Người dùng tương tác với shell dưới dạng đối thoại
trực quan.
- Chạy nền : Các chương trình trên shell có thời gian thực thi lâu và chiếm ít tài nguyên có thể
cho phép chạy nền bên dưới trong khi đó người dùng có thể thực hiện các công việc khác.
Điều này tăng hiệu quả sử dụng hệ thống.
- Chuyển hướng (Redirection): Có thể linh hoạt chuyển đổi các dữ liệu ra vào chuẩn và lỗi.
- Ống dẫn (pipe): Cho phép thực hiện nhiều lệnh liên tiếp trong đó dữ liệu ra của lệnh này
được sử dụng như dữ liệu vào của lệnh kia.
- Tập tin lệnh (shell script): Tạo các tập tin chứa các lệnh làm việc theo trình tự. Cấp quyền và
thực thi tập tin này.
- Biến shell: shell hỗ trợ sử dụng các biến lưu trữ các thông tin để điều khiển hoạt động.
- Sử dụng lại các lệnh đã thực hiện ( history command). Đây là chức năng rất có ích cho người
dùng. Để thực hiện lại các lệnh mình đã thực hiện trước đó thay vì phải gõ lại.
- Cấu trúc lệnh như ngôn ngữ lập trình: Shell cho phép sử dụng lệnh như ngôn ngữ lập trình,
bởi nó có thể kết hợp xử lý các tác vụ phức tạp.
- Tự động hoàn tất tên tập tin, hay lệnh : Chúng ta có thể gõ phần đầu của lệnh hay tập tin
sau đó dùng để hoàn tất phần còn lại.
- Bí danh cho lệnh (command alias). Bạn có thể dùng một tên mới cho một lệnh. Sau đó sử
dụng tên này thay thế lệnh : $alias dir=’ls –l’. Lúc này ta sử dụng lệnh dir dùng như ls –l
I.1.2 Các shell trong Linux.
Tên shell Lịch sử ra đời
sh ( Bourne) Shell nguyên thủy trong Unix
Csh, tcsh và zsh Shell sử dụng cấu trúc lệnh của ngôn ngữ C
làm ngôn ngữ script. Shell này được tạo bởi
Bill Joy, đây là shell thông dụng thứ 2 sau
bash
Bash Bash(bourne Again shell)là shell sử dụng
chính trong Linux, ra đời từ dự án GNU. Bash
có ưu điểm là mã nguồn mở, có thể download
Hướng dẫn giảng dạy
Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 119/271
từ địa chỉ
Rc Là shell mở rộng của c shell với nhiều tương
thích với ngôn ngữ C, ra đời từ dự án GNU
Shell bash là shell mặc định trên Linux, ta có thể dùng lệnh #echo để xem tên shell sử dụng hiện
tại của hệ thống.
#echo $SHELL
I.2. Lập cấu hình môi trường đăng nhập
Khi người dùng đăng nhập vào hệ thống, họ sẽ làm việc trong môi trường do Linux định nghĩa
sẵn. Môi trường Linux chứa các thiết lập và dữ liệu có chức năng kiểm tra phiên làm việc của bạn
trong suốt thời gian đăng nhập. Tuy nhiên, bạn cũng có thể thay đổi những thiết lập này theo ý
riêng của mình. Môi trường phiên làm việc gồm hai thành phần:
- Thành phần thứ nhất gọi là môi trường terminal để điều khiển terminal (chính là màn hình và
bàn phím) của bạn.
- Thành phần thứ hai gọi là môi trường shell để điều khiển nhiều khía cạnh khác nhau của
shell, cùng với mọi chương trình bạn thực hiện.
I.2.1 Thiết lập môi trường terminal
Thực ra phiên đăng nhập của bạn bao gồm hai chương trình riêng biệt nhưng chạy cùng lúc với
nhau, tạo cho bạn cảm giác rằng máy đang phục vụ cho riêng mình. Mặc dù shell là chương trình
nhận lệnh và thi hành, song trước khi shell nhận được lệnh, tất cả những gì mà bạn gõ vào đều
phải đi qua một trình điều khiển thiết bị gọi là device driver. Driver kiểm soát terminal, nhận những
kí tự bạn gõ vào rồi sau đó quyết định xem xử lý như thế nào trước khi giao cho shell thông dịch.
Tương tự như thế, mỗi kí tự phát sinh từ shell phải đi ngang driver thiết bị trước khi đến terminal.
Khi làm việc trên hệ thống Linux, chương trình xem tất cả các thiết bị nối kết với hệ thống đều
như nhau, một số phím quan trọng:
Phím Mô tả
Interrupt Đình chỉ thực hiện một chương trình. Linux dùng tổ hợp phím
.
Erase Xóa kí tự cuối cùng trong vùng đệm. Đó là phím
Kill Xóa toàn bộ những gì trong vùng đệm trước khi chuyển sang shell hay
chương trình ứng dụng. Thông thường đó là phím . Không giống
như trường hợp bấm phím dừng, bạn sẽ không thấy hiện ra dấu nhắc
shell khi bấm phím kill, bởi vì driver chờ bạn gõ tiếp vào.
End-of-line Báo cho driver biết bạn đã gõ xong các kí tự, và muốn chúng được
thông dịch và chuyển sang shell hay chương trình. Linux sử dụng
phím
End-of-file Báo cho shell thoát ra và hiển thị dấu nhắc đăng nhập. Kí tự cuối tập tin
là .
Hướng dẫn giảng dạy
Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 120/271
I.2.2 Thiết lập môi trường Shell
Khi đăng nhập vào hệ thống, người dùng sẽ làm việc trong môi trường shell của mình do Linux
định nghĩa trước. Trong môi trường shell gồm nhiều biến. Khai báo mỗi biến có dạng trị>, ý nghĩa của một biến như thế nào là tùy bạn chỉ định. Tuy nhiên, có một số biến đã được
định nghĩa sẵn. Ví dụ như biến: TERM, PATH. Bảng sau đây liệt kê những biến môi trường phổ
biến trong shell Bourne:
Biến Mô tả
HOME=/home/đăng-
nhập
HOME lập home directory của bạn.
Đăng-nhập là ID đăng nhập. Ví dụ,
nếu ID đăng nhập của bạn là jack,
thì HOME sẽ là /home/jack
LOGNAME=đăng-
nhập
Máy sẽ tự động lập LOGNAME
bằng ID đăng nhập của bạn
PATH=đường-dẫn Tùy chọn đường-dẫn trỏ đến danh
sách các thư mục mà shell sẽ duyệt
qua để tìm lệnh. Ví dụ, bạn có thể
lập đường dẫn như sau:
PATH=/usr:/bin:/usr/local/bin
PS1=dấu-nhắc PS1 là dấu nhắc shell đầu tiên để
yêu cầu bạn xác định hình dáng của
dấu nhắc riêng theo ý của mình. Nếu
bạn không có thay đổi gì dấu nhắc
mặc định sẽ là dấu $( cho người
dùng không phải là root). Bạn có thể
thay đổi, chẳng hạn như:
PS1=Enter Command >
PWD=thư-mục Xác định vị trí của bạn trong hệ
thống tập tin
SHELL=shell SHELL xác định shell mà bạn đang
sử dụng.
TERM=loại-terminal Kiểu terminal bạn dùng
Lưu ý: nếu muốn xác lập những biến môi trường, bạn hãy xác định trong tập tin .bash_profile
(nếu chạy shell bash), trong tập tin .login (nếu chạy shell C) và trong tập tin .profile (nếu chạy
shell Bourne).
I.2.3 Sử dụng các biến Shell đặc biệt
Biến HOME: luôn xác định home directory của bạn. Khi vừa đăng nhập thành công, bạn ở ngay
trong home directory.
- Muốn trở về home directory của mình, bạn chỉ cần gõ lệnh cd.
- Bạn có thể dùng biến HOME khi biên soạn shell script để xác định những tập tin trong home
directory.
- $HOME luôn thay mặt cho home directory của bất kỳ ai sử dụng lệnh. Nếu bạn gõ lệnh bằng
$HOME thì những người khác cũng có thể dùng chung lệnh.
Hướng dẫn giảng dạy
Học phần 4 - Chứng chỉ quản trị mạng Linux Trang 121/271
Biến PATH: Liệt kê các thư mục mà shell sẽ đến tìm những câu lệnh. Shell tìm các thư mục theo
thứ tự đã liệt kê.
Ví dụ: Nếu PATH=/bin:/usr/bin: Mỗi khi thông dịch một câu lệnh, shell sẽ tìm trước tiên trong thư
mục /bin. Nếu chưa phát hiện ra lệnh cần tìm, shell tiếp tục duyệt sang thư mục /usr/bin. Nếu vẫn
chưa có kết quả, shell lại dò sang thư mục (thư mục hiện hành). ...
 
Top