2012-07-11 54 views

Trả lời

9
rm -i <directory>/* 

này nên làm các trick

EDIT: thêm -i chỉ trong trường hợp (an toàn đầu tiên). thư mục phải là một đường dẫn đầy đủ hoặc tương đối (ví dụ /tmp/foo hoặc ../trash/stuffs)

+0

Có cách nào để xóa mà không cung cấp đường dẫn không? I.e từ thư mục bạn cd-d đến? – BIOS

+0

tất nhiên, bạn luôn có thể cd vào thư mục của bạn và sau đó thực hiện một "rm -i *" xin lưu ý rằng cờ -i sẽ buộc xác nhận của từng xóa, là có chỉ cho an toàn (những điều khó chịu sẽ xảy ra nếu bạn đặt sai một/trong dòng lệnh của bạn và bạn cung cấp cờ -r ...) – BigMike

+0

Tôi đang sử dụng rm -r * nhưng yêu cầu xác nhận mỗi lần xóa tệp. Để dừng lại nó là rm -rf * yes? Đang cố xóa tất cả khỏi thư mục hiện tại. – BIOS

5

thử

rm -r yourDirectory/* 

nó xóa tất cả các tập tin bên trong thư mục "yourdirectory"

+0

Có cách nào để xóa mà không cung cấp đường dẫn không? I.e từ thư mục bạn cd-d đến? – BIOS

+0

nếu bạn đã ở trong thư mục chỉ cần gõ "rm -r *" – Amxx

+0

Tôi sẽ không đề xuất một người mới sử dụng chuyển đổi -r, điều gì sẽ xảy ra nếu OP đặt sai một/trên dòng lệnh? – BigMike

2

bạn có thể xóa tất cả các file tạo thư mục hiện hành sử dụng rm * nếu bạn muốn xóa khỏi một thư mục cụ thể, nhập rm /path/*

0

bạn có thể sử dụng rm -r /UrDir/*.* này sẽ bỏ qua các tập tin trong thư mục con

0

này sẽ giúp bạn,

rm path/* 

ví dụ:

rm ../mydir/* 

Trong lệnh này, nếu có bất kỳ mydir sub_directory! nó sẽ làm tăng thông báo lỗi và bỏ qua thư mục con đó và xóa phần còn lại của các tệp trong thư mục chính.

3

Bạn có thể sử dụng find /path/to/your/folder/ -delete để xóa mọi thứ trong thư mục đó.

Trong khi ký tự đại diện rm sẽ rồ rồ với quá nhiều tệp ("Danh sách đối số quá dài"), tác vụ này cho dù có bao nhiêu tệp.

Bạn cũng có thể làm cho nó xóa những file nhưng giữ gìn bất kỳ thư mục con:

find /path/to/your/folder/ -type f -delete 

Bạn cũng có thể chỉ định bất kỳ tiêu chí khác find hỗ trợ để hạn chế việc "kết quả".

+0

Đây là câu trả lời hay nhất vì nó bảo toàn cấu trúc thư mục. –

+0

Điều này gần nhất với câu trả lời đúng vì mọi giải pháp được đề xuất khác đều bỏ qua các tệp ẩn (bắt đầu bằng '.'). Tuy nhiên, lệnh 'find' cũng hoạt động trên các đối số dòng lệnh trừ khi bạn chỉ định' -mindepth 1'. Với sự bổ sung đó, giải pháp là chính xác. – Parakleta

1

Nếu bạn đang ở trong thư mục mà bạn muốn loại bỏ tất cả các file sau đó lệnh sau hoạt động tốt:

rm * 
0

Nếu bạn muốn xóa tất cả các file cũng như tất cả các thư mục đó có nghĩa là tất cả mọi thứ sau đó thử này:

rm -rf * 
Các vấn đề liên quan