Để 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, -rvà *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 -execlựa chọn hoặc ống để xargs(dưới đây):
find dontDeleteMe/* -print0 | xargs -0 rm -rv