wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

HỆ ĐIỀU HÀNH - BÀI 7

Total questions: 31

Worksheet time: 3600secs

Name
Class
Date
1.

Trên hệ điều hành Ubuntu, đâu KHÔNG phải là ưu điểm của kịch bản shell (shell script) là:

a)

Một tập các lệnh trong kịch bản có thể thực thi nhiều lần mà không cần gõ lại

b)

Tiết kiệm thời gian gõ lệnh thủ công

c)

Giúp thực thi tự động một tập các lệnh theo một trình tự nhất định

d)

Giúp thực thi các lệnh nhanh hơn

2.

Trên hệ điều hành Ubuntu, viết lệnh vào vị trí -------- theo mô tả để hoàn thành kịch bản shell?

(Bỏ qua các tùy chọn của lệnh; lệnh và các tham số chỉ cách nhau đúng một dấu cách (space))

Nhập lệnh:

(a)  

3.

Trên hệ điều hành Ubuntu, viet lệnh for với biến chạy i vào vị trí — theo mô tả để hoàn thành kịch bản shell để cho phép in ra các thư mục con trong thư mục /home/nvmanh/BT1?

Viết lệnh for với biến chạy i:

(a)  

4.

Cho mảng trong shell bash trên Ubuntu được khai báo như sau:

arr=(Exam Desktop Downloads)

Để lấy danh sách các phần tử trong mảng sử dụng cú pháp nào? (chọn 2)

a)

${arr[*]}

b)

${arr[#]}

c)

${arr[@]}

d)

len(arr)

5-6.

Hãy điền giá trị hoặc lệnh phù hợp vào các vị trí -------- để kịch bản dưới đây cho phép duyệt và kiểm tra các file trong thư mục /home/ngovinh/exam và di chuyển chúng vào thư mục BT nếu là file thông thường.

Biết rằng ký hiệu @ được sử dụng để lấy danh sách các phần tử trong mảng, giá trị các biến không đặt trong cặp dấu nháy kép - "".

(Bỏ qua các tùy chọn của lệnh; Lệnh và các tham số cách nhau ít nhất một dấu cách (space).

5.

Giá trị tại vị trí (1):

(a)  

6.

Lệnh tại vị trí (2):

(a)  

7.

Cho mảng arr được khai báo là một mảng gồm danh sách các file và thư mục trong thư mục /home/nvhung như sau:

Kéo các lệnh dưới đây vào ô tương ứng với mô tả của chúng:

In ra tên file hoặc thư mục tại vị trí 2 trong mảng arr: (a)  

In ra danh sách các file hoặc thư mục từ vị trí 1 đến vị trí 3 trong mảng arr: ​ (b)  

In ra tổng số file và thư mục có trong mảng arr: (c)  

Xóa file hoặc thư mục cuối cùng trong danh sách phần tử của mảng: (d)  

In ra danh sách các file và thư mục có trong mảng arr: (e)  

Choose from the below words
echo ${arr[2]}
echo ${arr[@]:1:3}
echo ${#arr[@]}
unset arr[-1]
echo ${arr[*]}
echo ${arr[@]:1:4}
echo ${arr[-2]}
8.

Cho kịch bản trên shell bash có tên run.sh, lệnh nào sau đây thêm quyền thực thi cho kịch bản?

a)

add u+x run.sh

b)

chown u+x run.sh

c)

chmod u-x run.sh

d)

chmod u+x run.sh

9.

Lệnh nào sau đây cho phép thực thi kịch bản run.sh trên shell bash KHÔNG đúng cách:

a)
b)
d)

sh < run.sh

10.

Trên hệ điều hành Ubuntu, một user đã tạo một file kịch bản có tên script1.sh trong thư mục hiện hành nhưng khi thực thi kịch bản bằng lệnh ./script1.sh thì hệ thống báo lỗi không tìm thấy file hoặc thông báo "Permission denied". Nguyên nhân có thể là:

a)

Người dùng chưa cấp quyền thực thi cho kịch bản

b)

Người dùng quên không tạo file

c)

Người dùng gõ sai tên file

d)

File bị lỗi

11.

Trên hệ điều hành Ubuntu, viết lệnh vào vị trí -------- theo mô tả để hoàn thành kịch bản shell?
(Bỏ qua các tùy chọn của lệnh)

  1. Nhập lệnh:



(a)  

12-13.

Trên hệ điều hành Ubuntu, điền các lệnh phù hợp vào các vị trí -------- để hoàn thành kịch bản shell cho phép tạo một user với tên user được truyền vào là tham số thứ nhất của kịch bản?
(Bỏ qua các tùy chọn của lệnh)

12.

Lệnh tại (1):

(a)  

13.

Lệnh tại (2):

(a)  

14-15.

Trên hệ điều hành Ubuntu, điền từ khóa còn thiếu vào các vị trí -------- để kịch bản sau đây để đúng về mặt cú pháp?

14.

Vị trí (1):

(a)  

15.

Vị trí (2):

(a)  

16.

Đâu là khai báo và khởi tạo mảng gồm 4 phần tử đúng trong kịch bản shell bash trên Ubuntu? (chọn 2)

a)

arr=(exam bt Desktop Downloads)

b)

arr=("exam" "bt" "Desktop" "Downloads")

c)

arr=[exam bt Desktop Downloads]

d)

arr=(exam, bt, Desktop,Downloads)

17.

Cho một mảng trong shell bash trên Ubuntu chứa danh sách các thư mục được khai báo như sau:

arr=("exam" "bt" "Desktop" "Downloads")

Viết lệnh for vào vị trí -------- trong kịch bản sau để cho phép duyệt từng phần tử trong mảng arr và in giá trị của phần tử ra màn hình? Biết bảng danh sách phần tử mảng được lấy qua ký hiệu @.

( Lệnh và các tham số chỉ cách nhau đúng một dấu cách(space))

Nhập lệnh:

(a)  

18.

Đâu là phép toán đúng để thêm một phần tử vào mảng arr trong shell bash trên Ubuntu?

a)

arr+=("item")

b)

arr.add("item")

c)

arr=arr + ("item")

d)

arr=+("item")

19.

Trên shell bash của hệ điều hành Ubuntu:
Hãy cho biết sau khi thực hiện kịch bản trên giá trị của mảng arr gồm các phần tử là:

a)

banana cherry mango

b)

apple banana mango

c)

apple banana cherry

d)

apple cherry mango

20.

Cho kịch bản shell bash gồm các lệnh theo thứ tự sau:

Hãy kéo các lệnh tương ứng vào vị trí phù hợp với mô tả của chúng:

Lệnh tại vị trí (1): ​ (a)  

Lệnh tại vị trí (2): ​ (b)  

Lệnh tại vị trí (3): ​ (c)  

Lệnh tại vị trí (4): (d)  

Lệnh tại vị trí (5): ​ (e)  

Choose from the below words
ls $dir1/*.txt
cp $dir1/*.txt $dir2
touch $dir1/vd1.txt $dir1/vd2.txt
mv $dir1/vd1.txt $dir2
rm $dir2/*.txt
rm $dir1/*.txt
ls $dir2/*.txt
21.

Kéo các điều kiện kiểm tra một file trên shell bash dưới đây vào ô tương ứng với mô tả của chúng:

a)

Nếu file có quyền đọc:

1.

[-r file]

b)

Nếu file là thư mục:

2.

[-d file]

c)

Nếu file có quyền thực thi:

3.

[-x file]

d)

Nếu file là một file thông thường:

4.

[-f file]

e)

Nếu một file hoặc thư mục tồn tại:

5.

[-e file]

22.

Kéo các điều kiện kiểm tra một file trên shell bash dưới đây vào ô tương ứng với mô tả của chúng:

a)

Nếu file có quyền ghi:

1.

[-w file]

b)

Nếu file là thư mục:

2.

[-d file]

c)

Nếu file là một file thông thường:

3.

[-f file]

d)

Nếu file có quyền đọc:

4.

[-r file]

e)

Nếu file có quyền thực thi:

5.

[-x file]

23-24.

Trên hệ điều hành Ubuntu:
Viết toán tử phù hợp vào vị trí -------- theo mô tả để hoàn thành kịch bản shell cho lấy ra danh sách các thư mục đưa vào mảng arr. Biết rằng ký hiệu @ được sử dụng để lấy danh sách phần tử trong mảng.
(Không đặt các biến trong cặp nháy kép - "")

23.

Giá trị cần điền tại (1):

(a)  

24.

Câu lệnh cần điền tại (2):

(a)  

25.

Kéo các khai báo mảng hoặc lệnh phù hợp vào cột tương ứng dưới đây:

Categorize the following

arr=("vd1" ,"vd2","vd3")

remove arr[3]

arr= arr + ("vd4")

arr = (/home/manhhung/*)

unset arr[3]

arr=(/home/nvmanh/*)

arr=("vd1" "vd2" "vd3")

arr+=("vd4")

Các k.báo mảng hoặc lệnh t,tác mảng SAI
Các k.báo mảng hoặc lệnh t.tácmảng ĐÚNG
26-27.

Trên hệ điều hành Ubuntu, viết điều kiện phù hợp vào các vị trí -------- theo mô tả để hoàn thành kịch bản shell để cho phép kiểm tra một file là file thông thường hay file thư mục trong thư mục /home/manhhung?
(Giá trị các biến không đặt trong cặp dấu nháy kép- "")

26.

Điều kiện tại vị trí (1):

(a)  

27.

Điều kiện tại vị trí (2):

(a)  

28-29.

Trên hệ điều hành Ubuntu, viết điều kiện phù hợp vào các vị trí (1) và (2) tại dòng -------- theo mô tả để hoàn thành kịch bản shell để cho phép kiểm tra quyền đọc và quyền thực thi của các file trong thư mục /home/nvmanh?
(Giá trị các biến không đặt trong cặp dấu nháy kép- "")

28.

Điều kiện tại (1):

(a)  

29.

Điều kiện tại (2):

(a)  

30.

Cho kịch bản shell bash như sau:

Kéo các lệnh trong kịch bản vào ô tương ứng với mô tả của chúng:

In ra các tham số thứ ba của kịch bản: (a)  

In ra các tham số thứ nhất của kịch bản: ​ (b)  

In ra tổng số các tham số của kịch bản: ​ (c)  

In ra tất cả các tham số của kịch bản: ​ (d)  

Choose from the below words
echo $3
echo $1
echo $#
echo $*
echo $0
31.

Cho một mảng files trong shell bash được khai báo như sau:

Hãy kéo các câu lệnh dưới đây vào vị trí tương ứng với mô tả đúng của chúng khi thao tác trên mảng files:

Gán giá trị của phần tử trong mảng:  ​ (a)  

In ra tổng số các phần tử của mảng: ​ (b)  

Xóa một phần tử khỏi mảng: ​ (c)  

In ra danh sách các phần tử trong mảng: ​ (d)  

Thêm một phần tử vào cuối mảng: ​ (e)  

Choose from the below words
files[2]="vd1.txt"
echo ${#files[@]}
unset files[-1]
echo ${files[@]}
files+=("vd4.txt")
delete files[1]
files+=["vd4.txt"]
32.

Đâu là khai báo và khởi tạo mảng chứa danh sách các file và thư mục con trong thư mục /home/nmhung/exam đúng trong kịch bản shell bash trên Ubuntu?

a)

files=/home/nmhung/exam/

b)

files=(/home/nmhung/exam/*)

c)

files=/home/nmhung

d)

files=(/nmhung/exam/*)

33-34.

Trên hệ điều hành Ubuntu, viết lệnh phù hợp vào vị trí (1) và (2) tại -------- theo mô tả để hoàn thành kịch bản shell cho phép kiểm tra điều kiện là thư mục và xóa các thư mục con bên trong thư mục

/home/ngovinh/TH, biết rằng các thư mục này không rồng?

(Giá trị các biến không đặt trong cặp dấu nháy kép-"";

Chỉ dùng một tùy chọn của lệnh xóa thư mục; lệnh và các tham số cách nhau ít nhất một dấu cách (space):

33.

Điều kiện tại vị trí (1):

(a)  

34.

Lệnh tại vị trí (2):

(a)  

35.

Cho kịch bản shell bash với các mô tả như dưới đây. Hãy kéo các lệnh vào các vị trí phù hợp theo mô tả của chúng:

Lệnh tại vị trí (1): ​ (a)  

Lệnh tại vị trí (2): ​ (b)  

Lệnh tại vị trí (3): ​ (c)  

Lệnh tại vị trí (4): ​ (d)  

Choose from the below words
mkdir BT
mv vd1.txt vd2.txt BT
ls BT
ls BT/*.txt
cat BT
mv BT vd1.txt
rm -r BT
36.

Cho kịch bản shell bash sc1.sh như sau:

Kéo các mô tả đúng với kịch bản vào ô tương ứng khi người dùng chạy kịch bản với lệnh:

Giá trị của biến $2 là: - (a)  

Giá trị của biến $1 là: - (b)  

Giá trị của biến $0 là: - (c)  

Danh sách các tham số của kịch bản nằm trong biến: - (d)  

Điều kiện kiểm tra biến $1 là file thông thường là: - (e)  

Số lượng tham số của kịch bản là - 3

Choose from the below words
BT
vd1.txt
./sc1.sh
$@
-f $1
vd2.txt
-d $2
4
2
37-38.

Trên hệ điều hành Ubuntu, điền từ khóa còn thiếu vào các vị trí -------- để kịch bản sau đây để đúng về mặt cú pháp?

37.

Từ khóa ở vị trí (1):

(a)  

38.

Từ khóa ở vị trí (2):

(a)  

39-40.

Cho khai báo mảng arr gồm các file và thư mục trong thư mục gốc của hệ thống /.

Viết lệnh để lấy ra màn hình danh sách các file và thư mục con từ mảng arr:

39.

Lệnh tại vị trí (1):

(a)  

40.

Lệnh tại vị trí (2):

(a)