wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Hệ điều hành bài 7

Total questions: 30

Worksheet time: 2hrs 38mins

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)

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

b)

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

c)

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ạ

d)

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

2.

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)

sh < run.sh

b)
d)
3.

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

4.

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)  

5-6.

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?

5.

2) Vị trí (2):

(a)  

6.

1) Vị trí (1):

(a)  

7-8.

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?

7.

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

(a)  

8.

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

(a)  

9.

Đâ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=(/nmhung/exam/*)

b)

files=/home/nmhung

c)

files=/home/nmhung/exam/

d)

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

10.

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 rằng danh sách phần tử 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))

1) Nhập lệnh:

(a)  

11.

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)

apple banana mango

b)

banana cherry mango

c)

apple banana cherry

d)

apple cherry mango

12-13.

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 ")

12.

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

(a)  

13.

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

(a)  

14-15.

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 i 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)

14.

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

(a)  

15.

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

(a)  

16-17.

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 "")

16.

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

(a)  

17.

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

(a)  

18-19.

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))

18.

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

(a)  

19.

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

(a)  

20-24.

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:

1.     unset files[1]

2.     files+=["vd4.txt"]

3.     files+=("vd4.txt")

4.     echo ${#files[@]}

5.     files[2]="vd1.txt"

6.     delete files[1]

7.     echo ${files[@]}

20.

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

(a)  

21.

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

(a)  

22.

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

(a)  

23.

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

(a)  

24.

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

(a)  

25-26.

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: (Điền số vào câu trả lời VD:1342.....)

  1. unset arr[3]

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

  3. arr=(/home/nvmanh/*)

  4. arr+=("vd4")

  5. remove arr[3]

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

  7. arr= arr + ("vd4")

  8. arr = (/home/manhhung/*)

25.

Các khai báo mảng hoặc lệnh thao tác với mảng ĐÚNG:

(a)  

26.

Các khai báo mảng hoặc lệnh thao tác với mảng SAI:

(a)  

27.

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)

chmod u+x run.sh

b)

chmod u-x run.sh

c)

chown u+x run.sh

d)

add u+x run.sh

28.

Trên hệ điều hành Ubuntu, viết 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?

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

(a)  

29.

 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)

len(arr)

d)

${arr[*]}

30.

Đâ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+=("item")

c)

arr=arr + ("item")

d)

arr.add("item")

31-32.

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:

31.

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

(a)  

32.

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

(a)  

33.

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))

1) Nhập lệnh:

(a)  

34.

Đâ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)

35-38.

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


Hãy kéo các lệnh trong kịch bản vào ô tương ứng với mô tả của chúng: (Chỉ điền một số vào câu trả lời VD:1 )

1.      echo $3

2.      echo $1

3.      echo $#

4.      echo $*

35.

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

(a)  

36.

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

(a)  

37.

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

(a)  

38.

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

(a)  

39-44.

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


Hãy 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: (Chỉ điền một số vào câu trả lời VD:1 )

./sc1.sh vd1.txt BT vd2.txt

Các đối tượng được kéo thả:

  1. -d $2

  2. 4

  3. 2

  4. vd2.txt

  5. $@

  6. -f $1

  7. BT

  8. ./sc1.sh

  9. vd1.txt 

  10. 3

 

39.

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

(a)  

40.

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

(a)  

41.

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

(a)  

42.

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

(a)  

43.

Giá trị của biến $1 là:

(a)  

44.

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

(a)  

45-49.

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: (Chỉ điền một số vào câu trả lời VD:1 )

  1. ls $dir2/*.txt

  2. rm $dir1/*.txt

  3. rm $dir2/*.txt

  4. ls $dir1/*.txt

  5. touch $dir1/vd1.txt $dir1/vd2.txt

  6. cp $dir1/*.txt $dir2

  7. mv $dir1/vd1.txt $dir2

45.

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

(a)  

46.

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

(a)  

47.

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

(a)  

48.

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

(a)  

49.

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

(a)  

50-55.

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: (Chỉ điền một số vào câu trả lời VD:1 )

1.      [ -e file ]

2.      [ -w file ]

3.      [ -f file ]

4.      [ -d file ]

5.      [ -r file ]

6.      [ -x file ]

50.

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

(a)  

51.

Nếu file có quyền ghi:

(a)  

52.

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

(a)  

53.

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

(a)  

54.

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

(a)  

55.

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

(a)  

56-59.

Cho kịch bản bash shell 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:

1.      mkdir BT

2.      mv vd1.txt vd2.txt BT

3.      ls BT

4.      ls BT/*.txt

56.

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

(a)  

57.

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

(a)  

58.

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

(a)  

59.

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

(a)  

60-61.

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 "")

60.

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

(a)  

61.

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

(a)  

62-63.

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 mới với tên user được truyền vào là tham số thứ nhất của kịch bản?

62.

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

(a)  

63.

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

(a)  

64-68.

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:

1.     echo ${arr[2]}

2.     echo ${arr[@]:1:3}

3.     echo ${#arr[@]}

4.     unset arr[-1]

5.     echo ${arr[*]}

64.

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

(a)  

65.

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:

(a)  

66.

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

(a)  

67.

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

(a)  

68.

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

(a)