You are on page 1of 14

Báo cáo thực hành môn Hệ điều hành - Giảng viên: Trần Hoàng Lộc.

Họ và tên: Nguyễn Hoàng Bách


Mã số sinh viên: 22520091
Lớp: IT007.O15

HỆ ĐIỀU HÀNH
BÁO CÁO LAB 2

CHECKLIST
2.5. BÀI TẬP THỰC HÀNH
BT 1 BT 2 BT 3 BT 4

Trình bày cách làm

Chụp hình minh chứng


Giải thích kết quả

2.6. BÀI TẬP ÔN TẬP

BT BT BT BT BT
1.a 1.b 1.c 2.a 2.b

Trình bày cách làm

Chụp hình minh chứng


Giải thích kết quả

Tự chấm điểm: 9

1
Báo cáo thực hành môn Hệ điều hành - Giảng viên: Trần Hoàng Lộc.

2.5. BÀI TẬP THỰC HÀNH


1. Chạy tất cả các đoạn lệnh ví dụ ở phần 2.4. Chụp hình kết quả chạy các file
script và lưu vào báo cáo.

--

--

2
Báo cáo thực hành môn Hệ điều hành - Giảng viên: Trần Hoàng Lộc.

--

--
2.4.
2.4.2.1

--

2.4.2.2
a)

--

3
Báo cáo thực hành môn Hệ điều hành - Giảng viên: Trần Hoàng Lộc.

--

--

--

--

--

4
Báo cáo thực hành môn Hệ điều hành - Giảng viên: Trần Hoàng Lộc.

b)
Ngoặc đơn ():

Dấu nháy ``:

Pipelines | :

c)

5
Báo cáo thực hành môn Hệ điều hành - Giảng viên: Trần Hoàng Lộc.

--
2.4.3
2.4.3.1 test or []

2.4.4.1 if

2.4.4.2 elif

6
Báo cáo thực hành môn Hệ điều hành - Giảng viên: Trần Hoàng Lộc.

2.4.4.3

2.4.4.4 for

--

2.4.4.5 while

--

7
Báo cáo thực hành môn Hệ điều hành - Giảng viên: Trần Hoàng Lộc.

2.4.4.6 until

2.4.4.7 case

--

--

8
Báo cáo thực hành môn Hệ điều hành - Giảng viên: Trần Hoàng Lộc.

2. Viết chương trình cho phép nhập vào tên và MSSV. Kiểm tra nếu MSSV đó
không trùng với mình thì bắt nhập lại. In ra màn hình kết quả.
• Dòng 3-4: Hiển thị dòng thông báo để yêu cầu người dùng nhập tên và MSSV.
Lệnh echo được sử dụng để hiển thị văn bản trên màn hình.
• Dòng 5-6: Sử dụng lệnh read để lấy giá trị tên và MSSV mà người dùng nhập và
lưu chúng vào biến ten và mssv.
• Dòng 8-12: Sử dụng vòng lặp while để kiểm tra xem giá trị của biến mssv có phải
là "22520091" hay không. Nếu mssv không phải là "22520091", script sẽ hiển thị
thông báo yêu cầu người dùng nhập lại MSSV bằng cách sử dụng echo và read.
Vòng lặp này sẽ tiếp tục cho đến khi mssv là "22520091".
• Dòng 14-15: Sau khi mssv đã trở thành "22520091", script sẽ xuất ra màn hình giá
trị của ten và mssv bằng cách sử dụng lệnh echo. Kết quả là tên và MSSV sẽ được
hiển thị trên màn hình.
• Dòng cuối cùng (exit 0) là để thoát ra khỏi script một cách chính quy khi hoàn
thành.

Kết quả:

9
Báo cáo thực hành môn Hệ điều hành - Giảng viên: Trần Hoàng Lộc.

• Nếu bạn nhập MSSV là "22520091", script sẽ xuất ra tên và MSSV bạn đã nhập
và kết thúc.
• Nếu bạn nhập MSSV khác "22520091", script sẽ yêu cầu bạn nhập lại MSSV cho
đến khi bạn nhập đúng.

3. Viết chương trình cho phép nhập vào một số n. Kiểm tra nếu n < 10 thì yêu cầu
nhập lại. Tính tổng các số từ 1 đến n. In kết quả ra màn hình.
• Dòng 3-6: Sử dụng một vòng lặp vô hạn (while true) để yêu cầu người dùng nhập
số n với lệnh read. Dòng 5 kiểm tra xem nếu n < 10 bằng cách sử dụng điều kiện [
"$n" -lt 10 ]. Nếu điều kiện này đúng, script sẽ hiển thị thông báo yêu cầu người
dùng nhập lại, ngược lại, vòng lặp sẽ thoát bằng cách sử dụng break.
• Dòng 8-10: Khai báo biến sum và khởi tạo nó bằng 0. Biến này sẽ được sử dụng
để tính tổng các số từ 1 đến n.
• Dòng 11-13: Sử dụng một vòng lặp for để tính tổng các số từ 1 đến n. Vòng lặp
này lặp qua các giá trị từ 1 đến n, và mỗi lần lặp, giá trị của i sẽ được cộng vào
biến sum.
• Dòng 15-16: Script sẽ in ra màn hình thông tin về tổng của các số từ 1 đến n.
• Dòng cuối cùng (exit 0) là để thoát ra khỏi script một cách chính quy khi hoàn
thành.

10
Báo cáo thực hành môn Hệ điều hành - Giảng viên: Trần Hoàng Lộc.

Kết quả:

• Nếu bạn nhập một số n < 10, script sẽ yêu cầu bạn nhập lại cho đến khi n >= 10.
• Sau khi bạn nhập n đúng, script sẽ tính tổng của các số từ 1 đến n và in kết quả lên
màn hình.

4. Viết trình cho phép nhập vào một chuỗi. Kiểm tra chuỗi đó có tồn tại trong một
file text (ví dụ test.txt) cùng thư mục hay không?
• Đầu tiên, script sẽ yêu cầu bạn nhập chuỗi cần tìm vào bàn phím bằng lệnh read -
p. Chuỗi này sẽ được lưu vào biến search_string.
• Script sử dụng một biến found để theo dõi xem có tìm thấy chuỗi trong bất kỳ file
nào không. Ban đầu, giá trị của found được đặt thành false.

11
Báo cáo thực hành môn Hệ điều hành - Giảng viên: Trần Hoàng Lộc.

• Tiếp theo, script sử dụng vòng lặp for để duyệt qua từng file văn bản trong thư
mục hiện tại (*.txt sẽ tương ứng với tất cả các file có phần mở rộng .txt trong thư
mục hiện tại).
• Trong vòng lặp, script kiểm tra xem một file có tồn tại và có chứa chuỗi tìm kiếm
không bằng cách sử dụng if [ -f "$file" ] và grep -q "$search_string" "$file".
• Nếu script tìm thấy chuỗi trong một file, nó sẽ in ra thông báo cho bạn, và biến
found sẽ được đặt thành true để cho biết rằng ít nhất một file chứa chuỗi.
• Cuối cùng, sau khi kết thúc vòng lặp, script kiểm tra giá trị của biến found. Nếu
found vẫn là false (tức là không tìm thấy chuỗi trong bất kỳ file nào), nó sẽ in ra
thông báo "Không tìm thấy chuỗi" để thông báo rằng không có file nào chứa chuỗi
cần tìm.

Kết quả:

12
Báo cáo thực hành môn Hệ điều hành - Giảng viên: Trần Hoàng Lộc.

Kết quả là script sẽ duyệt qua từng file văn bản trong thư mục hiện tại và tìm kiếm
chuỗi bạn đã nhập từ bàn phím. Nếu tìm thấy chuỗi trong một hoặc nhiều file, script
sẽ hiển thị thông báo cho mỗi file chứa chuỗi. Nếu không tìm thấy chuỗi trong bất kỳ
file nào, script sẽ thông báo "Không tìm thấy chuỗi" ở cuối.

13
Báo cáo thực hành môn Hệ điều hành - Giảng viên: Trần Hoàng Lộc.

2.6. BÀI TẬP ÔN TẬP


1. Tìm hiểu trên Google về việc cài đặt lệnh git, sử dụng git để tải thư mục ảnh
tại đây: https://github.com/locth/OS_LAB2_IMG.git
Viết một file kịch bản để làm những công việc sau:
a. Kiểm tra trong thư mục người dùng, nếu thấy thư mục PNG và JPG chưa tồn
tại thì tạo 02 thư mục này.
b. Di chuyển tất cả file PNG trong thư mục ảnh ở trên vào thư mục PNG. Xuất
ra màn hình số lượng ảnh PNG.
c. Di chuyển tất cả file JPG trong thư mục ảnh ở trên vào thư mục JPG. Xuất ra
màn hình số lượng ảnh JPG.
Trả lời...

2. Tạo ra một file text tên monhoc.txt chứa danh sách mã môn học của sinh viên
trong học kỳ này, mỗi mã nằm trên một dòng. Viết một file kịch bản thực hiện
các việc sau:
a. Yêu cầu người dùng nhập vào họ và tên (không dấu), tạo ra thư mục có tên
tương ứng với thông tin người dùng vừa nhập
b. Đọc file text monhoc.txt ở trên, ở trong thư mục vừa tạo ở câu a, với mỗi
môn học, tạo ra một thư mục có tên tương ứng với mã môn đó.
Trả lời

14

You might also like