JavaScript is required

Lệnh nào dùng để tìm tất cả các tập tin không truy cập trong 10 ngày qua và xóa chúng?

A.

find . -atime +10 -delete

B.

find . -type f -mtime +10 -exec rm {} ;

C.

ls -lt --time=atime | grep '10 days' | xargs rm

D.

find . -type f -atime +10 | xargs rm -f

Trả lời:

Đáp án đúng: A


Câu hỏi yêu cầu tìm lệnh để tìm và xóa các tập tin không được truy cập trong 10 ngày qua.

Phương án A: find . -atime +10 -delete: Lệnh này tìm các tập tin có thời gian truy cập (access time) lớn hơn 10 ngày (+10) và xóa chúng (-delete). Đây là một cách tiếp cận đúng và hiệu quả.

Phương án B: find . -type f -mtime +10 -exec rm {} ;: Lệnh này tìm các tập tin có thời gian chỉnh sửa (modification time) lớn hơn 10 ngày và xóa chúng. Yêu cầu là tìm theo thời gian truy cập, không phải thời gian chỉnh sửa.

Phương án C: ls -lt --time=atime | grep '10 days' | xargs rm: Lệnh này sử dụng ls để liệt kê các tập tin theo thời gian truy cập, sau đó sử dụng grep để tìm các dòng chứa '10 days' và cuối cùng sử dụng xargs rm để xóa chúng. Phương pháp này không đáng tin cậy vì định dạng thời gian của ls có thể thay đổi tùy thuộc vào hệ thống và ngôn ngữ, và việc so sánh chuỗi '10 days' không chính xác.

Phương án D: find . -type f -atime +10 | xargs rm -f: Lệnh này tìm các tập tin có thời gian truy cập lớn hơn 10 ngày và sau đó chuyển danh sách các tập tin này cho xargs rm -f để xóa. Lệnh này hoạt động, tuy nhiên sử dụng -delete trong find hiệu quả hơn vì nó xử lý các trường hợp tên file có khoảng trắng tốt hơn.

Do đó, phương án A là đáp án chính xác nhất.

Câu hỏi liên quan