Chương 3: Các thao tác quản trị trên Ubuntu Server
3.5 Lập tình Bash Sell và Python trên Ubuntu Server
*Lập trình Bash Shell
- Chế độ Shell tương tác (Interactive Shell)
Chúng ta có thể hiểu đơn giản Shell interactive là dạng sử dụng câu lệnh trực tiếp trên môi trường Unix như ví dụ dưới.
Ví dụ, sử dụng Bash để in ra output là Hello World như:
echo “Hello World”
#>Hello Word
- Chế độ Shell không tương tác (Non-Interactive Shell)
Thay vì thực hiện từng câu lệnh Bash một. Chúng ta có thể tổ hợp chúng vào một file script và có thể sử dụng lại nhiều lần.
Ví dụ, tạo một script Hello World
Tạo một file với tên là: hello-world.sh
touch hello-world.sh
Phân quyền thực thi được với câu lệnh
Downloaded by nhung hong (hongnhung141994@gmail.com)
chmod +x hello-world.sh
Thêm nội dung sau vào script
#!bin/bash
echo “Hello World”
o Dòng 1 : Dòng đầu tiên của script phải bắt đầu với ký tự #!, theo đúng cấu trúc shebang1. Cấu trúc shebang sẽ chỉ cho OS chạy chương trình /bin/bash để thực hiện các nội dung của script. VD
/bin/bash hello-world
o Dòng 2 : Sử dụng câu lệnh echo để ghi dòng Hello Word ra output.
Thực hiện chạy sript Hello World theo 1 trong 3 cách sau
#!bin/bash
echo “Hello World”
Bash hello-word.sh
Sử dụng các biến trong linux
Tạo một file mới tên gọi hello.sh với nội dung bên dưới và cấp quyền thực thi
Chmod +x hello.sh
Downloaded by nhung hong (hongnhung141994@gmail.com)
Thực hiện chạy sript với cú pháp ./hello.sh Output mong đợi sẽ là :
Hello World
Nội dung script như sau :
#!/usr/bin/env bash
who_variable=”World”
printf”Hello, %s\n” “$who_variable”
Phân tích từng dòng của script sẽ như sau :
Dòng 1 : Cú pháp shebang chỉ ra chương trình cần thực thi với Bash shell
Dòng 2 : Gán biến có nội dung là Word
Dòng 3 :
Printf: câu lệnh in
%s: format chỉ ra rằng biến phía sau phải ra dạng string
\n: khi có them kí tự thì sẽ xuống dòng mới
$who_variable: biến được khai báo ở dòng trên
Chú ý : Các biến cần được đặt bên trong dấu “”
Downloaded by nhung hong (hongnhung141994@gmail.com)
Ngoài cách gọi trực tiếp biến bằng tên, chúng ta có thể sử dụng biến thay thế là
$1. Biến này đại diện cho đối số ở dòng đầu tiên và biến $1 vẫn phải là dạng
string.
Truyền tham số vào biến với User Input#
#!/usr/bin/env bash
Echo “Vui long nhap ten!”
Read name
Echo “Xin chao, $name”
Khi script chạy tới dòng thứ 2, câu lệnh read sẽ đọc dữ liệu truyền vào từ người dùng, sau đó gán dữ liệu đó vào biến name
Kết quả như sau :
Vui long nhap ten!
Hieu
Xin chao, hieu
* Lập trình Python
Cài Python qua repository
Đây là cách đơn giản nhất, các bạn không cần phải lên trang chủ python để tải file, giải nén…
Downloaded by nhung hong (hongnhung141994@gmail.com)
Chỉ cần chạy lệnh là được.
B1: Update lại repository
sudo apt-get update
B2: Cài python
sudo apt-get install python
Mặc định nó sẽ cài cho bạn 2 bản python là 2.x và 3.x
Để kiểm tra version của python sau khi cài đặt các bạn dùng lệnh sau: Với python 2.x: python hoặc python -V
Hình 3.18. Kiểm tra version của python 2.x.
Với python 3.x: python3 hoặc python3 -V
Downloaded by nhung hong (hongnhung141994@gmail.com)
Hình 3.19. Kiểm tra version của python 3.x.
Downloaded by nhung hong (hongnhung141994@gmail.com)
Demo: Chạy lệnh python và nhập print('hello') sau đó ấn enter sẽ thấy nó in ra
dòng hello
Hình 3.20. Demo chạy lệnh python.
Cài đặt pip cho python
Pip (python package manager) là một trình quản lý module, thư viện của python.Ví
dụ bạn muốn thực hiện kết nối tới database bằng python thì bạn phải có module mysqlclient (trong java thì là thư viện jdbc). Nhưng khi cài python nó chưa có sẵn module đó, để cài module mysqlclient ta cài qua pip bằng lệnh pip install
mysqlclient
Thông thường các bản python mới sẽ tích hợp sẵn pip. Để kiểm tra pip đã cài chưa, các bạn dùng lệnh pip –version với python 2.x hoặc pip3 –version với python 3.x
Downloaded by nhung hong (hongnhung141994@gmail.com)
Hình 3.21. Kiểm tra pip.
Trường hợp python của bạn chưa tích hợp sẵn pip thì bạn có thể cài đặt pip bằng lệnh sau:
sudo apt-get install pip
hoặc
sudo apt-get install pip3
Downloaded by nhung hong (hongnhung141994@gmail.com)
PHẦN KẾT LUẬN
Qua bài tiểu luận được viết ở trên cũng như quá trình học tập môn học Hệ điều hành mạng của thầy Nguyễn Khánh Tùng, em đã nắm được một số kiến thức cũng như kĩ năng cơ bản về các vấn đề có trong môn học. Môn học giúp em nắm được tổng quan về hệ điều hành Unix/Linux, thao tác với hệ thống file của Linux như quản lý quyền thâm nhập hệ thống file, thao tác trên file/thư mục/ và tiện ích hệ thống. Bên cạnh đó em còn có thêm được kĩ năng lập trình trên Linux như ngôn ngữ Python hay là Bash shell, cài đặt và cấu hình các dịch vụ mạng phổ biến trên Linux(DHCP, SSH, NFS,…); nắm vững được các kĩ năng quản lý tài nguyên, quản trị hệ thống và người dùng. Ngoài ra môn học còn giúp em có thêm khả năng đọc giáo trình, tài liệu tham khảo bằng tiếng anh. Cuối cùng, em xin cảm ơn thầy Nguyễn Khánh Tùng đã giảng dạy cũng như giúp đỡ em trong quá trình học và làm bài tiểu luận cuối môn. Do thời gian gấp gáp và kiến thức chưa được nhiều nên bài
có một số hạn chế nhất định, em mong thầy cô thông cảm.
Em xin chân thành cảm ơn!
Downloaded by nhung hong (hongnhung141994@gmail.com)