Để xóa mọi thứ trong một thư mục mà không xóa thư mục, hãy nhập:
rm -rfv dontDeleteMe/*
Xin lưu ý, /*
phần rất quan trọng. Nếu bạn đặt một khoảng trắng trước *
, nó sẽ xóa tất cả các tệp của bạn trong thư mục hiện tại của bạn.
Ngoài ra, hãy rất cẩn thận khi chơi với rm
, -r
và *
tất cả trong cùng một lệnh. Họ có thể là một sự kết hợp tai hại.
Cập nhật: Được rồi, tôi nhận ra nếu bạn có tệp ẩn / dấu chấm [tên tệp có dấu chấm ở đầu, ví dụ .hidden
] thì điều này sẽ giữ nguyên các tệp đó.
Vì vậy, thực sự, giải pháp đơn giản nhất cho câu hỏi ban đầu là:
rm -rfv dontDeleteMe && mkdir dontDeleteMe
Một số khác sẽ được sử dụng find
's -exec
lựa chọn hoặc ống để xargs
(dưới đây):
find dontDeleteMe/* -print0 | xargs -0 rm -rv