Ai đó có thể giải thích những gì lệnh này làm?


7

Ai đó có thể giải thích cho tôi những gì lệnh này không?

EDIT: Đỗ không chạy lệnh này! Nó sẽ phá vỡ cài đặt của bạn.

sudo find / -exec rm {} \;

Khi bạn (ban đầu) trình bày nó, -exec rm {}\;sẽ đưa ra một lỗi cú pháp. Cú pháp đúng yêu cầu khoảng {}\;
trắng

Lệnh cần một \! -type dđể không phun ra tất cả những lỗi ngớ ngẩn.
oals

2
@oals Hoặc chuyển hướng lỗi sang /dev/null. Ngoài ra kiểm tra các -deletetùy chọn tìm.
ott--

4
Tôi không thể biết đây là một trò đùa hay nếu ai đó bảo bạn làm nó như một "trò đùa".
Cừu

Trên một hệ thống được bảo trì chuyên nghiệp và an toàn, có lẽ (có thể) không làm gì hữu ích.
roaima

Câu trả lời:


26

Những điều tồi tệ ® ™. Nó (gần như) tương đương với sudo rm -rf /- nó sẽ, như root, tìm tất cả các tệp hoặc thư mục bắt đầu từ /và giảm dần theo cách đệ quy từ đó, và sau đó thực thi rmlệnh đối với từng tệp / thư mục mà nó tìm thấy. Nó sẽ không thực sự xóa các mục trong thư mục vì không có -fhoặc -rtùy chọn nào được chuyển đến rm, nhưng nó sẽ xóa tất cả các mục nhập tệp.

Gợi ý: không chạy cái này trừ khi bạn cảm thấy muốn cài đặt lại hệ điều hành của mình.


11
Nói đúng ra, đến một lúc nào đó nó sẽ xóa /bin/rm, và sau đó nó sẽ không xóa được bất kỳ tập tin nào nữa. Đề xuất của @ott sử dụng -deletesẽ khắc phục "lỗi" này :-)
Nate Eldredge

4
Điều này tránh sự bảo vệ tích hợp trong GNU rm, từ chối từ chối loại bỏ mọi thứ từ gốc trở xuống.
Simon Richter

2
Lưu ý rằng lệnh này sẽ không tương đương với sudo rm -rf /. Cố gắng loại bỏ /bị cấm bởi POSIX rm (busybox rm không xóa /).
cuonglm

Như Cườnglm đã nói, sudo rm -rf / vô hại trên các hệ thống POSIX (và hầu hết các hệ thống khác), vì vậy không, điều này hoàn toàn không giống như vậy!
terdon

8

Đừng chạy nó.

Điều này sẽ tìm thấy mọi thứ (tất cả các tệp, thư mục, liên kết, ổ cắm, v.v.), /tức là mọi thứ trong hệ thống và sau đó nó sẽ cố gắng loại bỏ những thứ đó cùng một lúc rm.

Lưu ý rằng vì không có -rtùy chọn nào rm, chỉ có các mục trong thư mục sẽ không bị xóa, mọi thứ khác sẽ biến mất.


@cuonglm find /sẽ liệt kê tất cả các tệp và -execthực thi lệnh trên mỗi kết quả của find. Vì vậy, đó là findlệnh thực hiện đệ quy và rmchỉ được gọi cho mỗi tệp riêng lẻ.
John Lyon

@jozzas: Không, tìm / liệt kê tất cả các tệp và thư mục trong /, tất cả các thư mục còn lại không thay đổi, chỉ xóa các tệp.
cuonglm

@cuonglm Tôi đã đề cập đến điều đó .. xin vui lòng kiểm tra đoạn thứ hai ..
heemayl

@heemayl: Ah, tôi hiểu rồi, xin lỗi vì đã đọc sai.
cuonglm

3

Đơn giản! Lệnh này sẽ xóa tất cả các tệp trong máy chủ của bạn.

Đừng chạy nó!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.