Hãy nói rằng tôi đã có một thư mục có tên *dưới /. Tôi biết rằng các lệnh phổ biến như rm -rf * sẽ không hoạt động. Có ai giúp đỡ không?
Hãy nói rằng tôi đã có một thư mục có tên *dưới /. Tôi biết rằng các lệnh phổ biến như rm -rf * sẽ không hoạt động. Có ai giúp đỡ không?
Câu trả lời:
Bạn có thể trích dẫn các đối số duy nhất để ngăn chặn xử lý bằng shell.
rm -r '/*'
Kiểm tra nó một cách an toàn bằng cách sử dụng ls(trong các thư mục chứa tệp):
$ ls '*'
ls: *: No such file or directory
Trong trường hợp này, dấu ngoặc kép cũng hoạt động tốt, nhưng nếu có $liên quan, chúng sẽ không, vì shell sẽ cho rằng đó là một biến:
$ ls "foo$bar"
ls: foo: No such file or directory
$ ls 'foo$bar'
ls: foo$bar: No such file or directory
Đối với GNU rm, bạn cũng có thể thêm --trước các đối số tên tệp để ngăn chúng khỏi bị phân tách thành đối số. Điều này sẽ cho phép bạn xóa các tệp có tên -rfmà không có vấn đề.
&) và thoát khỏi chúng một cách riêng lẻ, điều này có thể dễ dàng trở thành nỗ lực hơn so với trích dẫn một lần. Do đó, tôi xem xét cá nhân thoát khỏi kém hơn và đăng thay thế này.
bashtrang man sẽ mất một lúc nếu bạn không biết tìm kiếm gì.
rm *sẽ làm việc để xóa thư mục đó.