JavaScript is required

Để sao chép tất cả nội dung có trong thư mục /dir vào thư mục /tmp, thi hành lệnh

A.

cp –r /dir/* /tmp

B.

cp –a /dir/* /tmp

C.

cp --parents /dir/* /tmp

D.

Tất cả đều đúng

Trả lời:

Đáp án đúng: D


Để sao chép tất cả nội dung (bao gồm cả các thư mục con) từ thư mục /dir vào thư mục /tmp, chúng ta cần sử dụng lệnh cp (copy) kết hợp với các tùy chọn phù hợp. Phân tích từng đáp án:

  • A. cp -r /dir/* /tmp: Tùy chọn -r (recursive) cho phép sao chép đệ quy, tức là sao chép cả thư mục và các thư mục con bên trong. /dir/* đại diện cho tất cả các file và thư mục con trực tiếp nằm trong /dir. Lệnh này sẽ sao chép tất cả các file và thư mục con trong /dir vào /tmp.
  • B. cp -a /dir/* /tmp: Tùy chọn -a (archive) là một tùy chọn mạnh mẽ hơn, nó tương đương với -dR -P. Nó bảo toàn hầu hết các thuộc tính của file gốc, bao gồm cả quyền, thời gian sửa đổi, và các liên kết tượng trưng. Trong trường hợp này, nó cũng sao chép đệ quy các thư mục con và bảo toàn các thuộc tính của file.
  • C. cp --parents /dir/* /tmp: Tùy chọn --parents tạo ra các thư mục cha (parent directories) tại thư mục đích, ví dụ nếu ta có /dir/subdir/file.txt, lệnh cp --parents /dir/subdir/file.txt /tmp sẽ tạo ra /tmp/dir/subdir/file.txt. Tuy nhiên, trong trường hợp này khi ta dùng /dir/* thì nó chỉ copy các file và thư mục con trong /dir, nên sẽ không tạo lại cây thư mục đầy đủ.

Trong cả hai trường hợp A và B, lệnh đều hoạt động đúng để sao chép toàn bộ nội dung. Tuy nhiên, tùy chọn -a là một lựa chọn tốt hơn nếu bạn muốn bảo toàn đầy đủ các thuộc tính của file gốc. Tuy nhiên câu hỏi không đề cập đến việc cần bảo toàn thuộc tính file, nên đáp án A vẫn là đáp án đúng.

Do đó, đáp án đúng nhất là A. Lưu ý rằng đáp án D "Tất cả đều đúng" không chính xác vì tùy chọn C không hoàn toàn chính xác.

Câu hỏi liên quan