Lập tình Bash Sell và Python trên Ubuntu Server

Một phần của tài liệu Quản trị hệ điều hành mạng linux ubuntu server (Trang 50 - 59)

*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

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

Thực hiện chạy sript với cú pháp ./hello.shOutput 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

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 $1vẫ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…

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

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

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

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.

Tài liệu tham khảo

[1] Chris Sanders & Jason Smith, “Applied Network Security Monitoring”

[2] https://techinsight.com.vn/he-thong-giam-sat-an-toan-thong-tin-phan-1/ https://techinsight.com.vn/he-thong-giam-sat-an-toan-thong-tin-phan-2-ky-thuat- xac-dinh-quy-luat-quan-tri-siem/ [3] https://whitehat.vn/threads/siem-ossim.7151/ [4] https://whitehat.vn/threads/cach-doc-va-nhan-biet-goi-tin-pcap-tu-cac-cuoc-tan- cong-mang.13767/ [5]https://whitehat.vn/threads/forensic-1-tong-quan-ve-computer-forensics.1082/ [6] https://whitehat.vn/threads/forensic-2-network-forensics.1127/ [7] https://whitehat.vn/threads/forensic-3-network-forensics-tiep.1144/ [8] https://whitehat.vn/threads/forensic-4-log-mining.2109/ [9] https://whitehat.vn/threads/forensic-5-memory-forensics.2135/ [10]https://whitehat.vn/threads/thuc-hanh-dieu-tra-server-bi-tan-cong.13159/? fbclid=IwAR2qKha3lAgc5TF3KIeqqI- FCKqxV1KJlczJ2bvthvC0FvxZPAAGJgShYr4 [11] https://whitehat.vn/threads/nghien-cuu-phan-tich-danh-gia-cac-nguy-co-ve-an- ninh-thong-tin-he-dieu-hanh.327/

Một phần của tài liệu Quản trị hệ điều hành mạng linux ubuntu server (Trang 50 - 59)

Tải bản đầy đủ (PDF)

(59 trang)