QUAN TRỌNG: Các hệ thống UEFI hiện đại gắn phần sụn trong /sys
thư mục và cung cấp cho HĐH. KHÔNG chạy lệnh này trên một hệ thống hiện đại vì nó sẽ loại bỏ phần sụn này, về cơ bản là làm hỏng máy của bạn.
Kịch bản đơn giản nhất tôi có thể nghĩ đến là ai đó muốn xóa tất cả dữ liệu khỏi ổ đĩa của họ. Có thể có những lý do hoàn toàn chính đáng để làm điều này và cách đơn giản nhất tôi có thể nghĩ đến là
rm -rf --no-preserve-root /
Hóa ra cái này thực sự được đưa ra làm ví dụ trong info rm
:
`--no-preserve-root'
Do not treat `/' specially when removing recursively. This option
is not recommended unless you really want to remove all the files
on your computer.
Một lý do hoàn toàn chính đáng khác là bạn muốn xóa một hệ thống tệp được gắn kết mà bạn đã chroot
tham gia. Trong trường hợp đó, rm -rf --no-preserve-root /
sẽ xóa hệ thống trong chroot
môi trường nhưng sẽ giữ nguyên hệ thống của bạn.
Tôi chắc chắn có nhiều lý do có thể hơn, nhưng nói chung có vẻ như một cách tiếp cận rất hợp lý rằng hệ thống của tôi cho phép tôi làm bất cứ điều gì tôi muốn với nó. Đó là công việc của tôi phải cẩn thận, hệ thống chỉ nên cho phép tôi làm những gì tôi muốn làm. Nếu điều tôi muốn là ngu ngốc, thì đó là vấn đề của tôi chứ không phải của HĐH.
Dù sao, đây là một hạn chế tương đối mới, nó đã được thêm vào trong phiên bản thứ 7 của đặc tả POSIX ( phiên bản trước ở đây), trước đó rm -rf /
là một lệnh hoàn toàn hợp lệ. Trên một ghi chú lịch sử, các thư mục .
và ..
luôn được bảo vệ rm
, kể từ năm 1979, khi rm
lần đầu tiên có được khả năng xóa các thư mục. Thêm về điều đó ở đây .
/
, nhưng »trường hợp chung« vẫn được trình bày. Nói cách khác: »Đây không phải là công việc máy tính của tôi để cho tôi biết phải làm gì.« Và nó không nên.