Tác giả của phiên bản hệ điều hành Linux đầu tiên là ?
A.
Bill Gates
B.
Linus Tolvards
C.
Alan Turing
D.
Pascal
Đáp án
Đáp án đúng: B
Câu hỏi yêu cầu xác định tác giả của phiên bản hệ điều hành Linux đầu tiên. Trong các lựa chọn được đưa ra:
* A. Bill Gates: Bill Gates là nhà sáng lập của Microsoft, nổi tiếng với hệ điều hành Windows, không phải Linux. * B. Linus Torvalds: Linus Torvalds là người tạo ra kernel Linux, nền tảng cốt lõi của hệ điều hành Linux. Vì vậy, đây là đáp án đúng. * C. Alan Turing: Alan Turing là một nhà khoa học máy tính và toán học nổi tiếng, có đóng góp lớn trong việc phá mã Enigma trong Thế chiến II và phát triển lý thuyết về máy tính, nhưng không liên quan đến hệ điều hành Linux. * D. Pascal: Pascal là tên của một ngôn ngữ lập trình, không phải là tên của một người phát triển hệ điều hành Linux.
Câu hỏi yêu cầu xác định tác giả của phiên bản hệ điều hành Linux đầu tiên. Trong các lựa chọn được đưa ra:
* A. Bill Gates: Bill Gates là nhà sáng lập của Microsoft, nổi tiếng với hệ điều hành Windows, không phải Linux. * B. Linus Torvalds: Linus Torvalds là người tạo ra kernel Linux, nền tảng cốt lõi của hệ điều hành Linux. Vì vậy, đây là đáp án đúng. * C. Alan Turing: Alan Turing là một nhà khoa học máy tính và toán học nổi tiếng, có đóng góp lớn trong việc phá mã Enigma trong Thế chiến II và phát triển lý thuyết về máy tính, nhưng không liên quan đến hệ điều hành Linux. * D. Pascal: Pascal là tên của một ngôn ngữ lập trình, không phải là tên của một người phát triển hệ điều hành Linux.
Trong hệ thống Linux và Unix, các tập tin bắt đầu bằng dấu chấm '.' được coi là tập tin ẩn. Theo mặc định, lệnh `ls` sẽ không hiển thị các tập tin này trừ khi được sử dụng với tùy chọn `-a` (hiển thị tất cả, bao gồm cả các tập tin ẩn) hoặc `-A` (hiển thị tất cả trừ '.' và '..').
* A. Tập tin ẩn: Đúng. Đây là đặc tính cơ bản của các tập tin có tên bắt đầu bằng dấu chấm. * B. Thực thi: Sai. Việc tập tin có thực thi được hay không phụ thuộc vào quyền của tập tin, không liên quan đến dấu chấm ở đầu tên. * C. Không thấy được với lệnh ls: Gần đúng, nhưng chưa chính xác hoàn toàn. Chúng không thấy được với lệnh `ls` thông thường, nhưng có thể thấy với `ls -a` hoặc `ls -A`. * D. Tập tin hệ thống: Sai. Tập tin hệ thống là các tập tin quan trọng cho hoạt động của hệ điều hành và thường được lưu trữ ở các thư mục đặc biệt (ví dụ: /etc, /boot), chứ không nhất thiết phải có dấu chấm ở đầu tên. Nhiều tập tin cấu hình của người dùng cũng có dấu chấm ở đầu.
Câu hỏi này kiểm tra kiến thức về các lệnh tạo tài khoản người dùng (user account) trên hệ thống Linux/Unix.
* Lệnh `adduser`: Đây là một lệnh cấp cao (high-level) được sử dụng để tạo tài khoản người dùng mới. Nó thường tương tác một cách thân thiện hơn với người dùng bằng cách đặt ra các câu hỏi về thông tin người dùng, tạo thư mục home, và thực hiện các cấu hình ban đầu. Nó thường được tìm thấy trên các hệ thống Debian và các hệ thống dựa trên Debian (như Ubuntu). * Lệnh `useradd`: Đây là một lệnh cấp thấp (low-level) hơn để tạo tài khoản người dùng. Nó cung cấp nhiều tùy chọn cấu hình hơn, nhưng đòi hỏi người dùng phải tự thiết lập các thông tin chi tiết như thư mục home, nhóm (group), và các thiết lập khác. * Lệnh `passwd`: Lệnh này được sử dụng để thay đổi mật khẩu của một tài khoản người dùng hiện có, chứ không phải để tạo tài khoản mới.
Vì cả `adduser` và `useradd` đều được sử dụng để tạo tài khoản người dùng mới, đáp án chính xác là 'D. Câu a và b đúng'.
Run level 6 được sử dụng để khởi động lại (reboot) hệ thống. Khi hệ thống chuyển sang run level 6, nó sẽ thực hiện các bước cần thiết để tắt hệ thống một cách an toàn và sau đó khởi động lại. Các run level khác có các mục đích sử dụng khác nhau: run level 0 dùng để tắt hệ thống, run level 3 là chế độ đa người dùng với mạng, và run level 5 là chế độ đồ họa (GUI).
Lệnh `killall` được sử dụng để gửi tín hiệu đến tất cả các tiến trình có cùng tên. Option `-9` tương ứng với tín hiệu SIGKILL, là tín hiệu mạnh nhất để buộc một tiến trình kết thúc. Do đó, để kill hết các tiến trình có tên là `vi`, ta dùng lệnh `killall -9 vi`.
* `kill -9 vi`: Lệnh này sẽ chỉ cố gắng kill một tiến trình có PID là `vi`, và sẽ không hoạt động như mong muốn vì `vi` không phải là PID. * `kill -HUP vi`: Lệnh này gửi tín hiệu HUP (hangup) đến tiến trình có PID là `vi`, thường dùng để yêu cầu tiến trình reload cấu hình, không phải để kill tiến trình. * `killall -HUP vi`: Lệnh này gửi tín hiệu HUP đến tất cả các tiến trình có tên là `vi`, cũng không phải là tín hiệu kill mạnh nhất, nên có thể tiến trình không bị kill.