Để chỉ liệt kê danh sách các tập tin có ký tự cuối cùng trong tên là “?” ở thư mục hiện hành, ta dùng lệnh?
Trả lời:
Đáp án đúng: D
Câu hỏi này kiểm tra kiến thức về sử dụng ký tự đại diện (wildcard) trong Linux để lọc tên tập tin.
\nPhân tích các phương án:
\n- \n
- A. ls *?: Dấu
?
trong shell có nghĩa là khớp với một ký tự bất kỳ. Vì vậy, lệnh này sẽ liệt kê các tập tin có ít nhất một ký tự trước dấu?
và một ký tự bất kỳ sau nó. \n - B. ls*\\?: Dấu
\\
được dùng để thoát (escape) ký tự?
. Trong trường hợp này,\\?
được hiểu là ký tự?
thật sự. Lệnh này sẽ liệt kê tất cả các tập tin có tên kết thúc bằng ký tự "?" . \n - C. ls *[?]: Dấu
[]
được dùng để chỉ một tập hợp các ký tự có thể xuất hiện. Trong trường hợp này,[?]
có nghĩa là khớp với ký tự?
. Lệnh này tương đương với phương án B, sẽ liệt kê các tập tin có tên kết thúc bằng ký tự "?". \n
Vì cả B và C đều đúng, đáp án D (Tất cả đều đúng) không chính xác. Phương án B và C tương đương nhau và đều đúng.