Câu hỏi Làm thế nào để xóa một thư mục không có sản phẩm nào trong Terminal?


Làm cách nào để xóa thư mục sau?

Tôi đã gõ:

rmdir lampp

Lỗi này xuất hiện:

rmdir: failed to remove `lampp': Directory not empty

Có một lệnh để xóa tất cả các tập tin trong thư mục và xóa thư mục thư mục?


540
2017-11-16 04:37


gốc


Tôi không thể xóa thư mục như "Thư mục mới" bằng tất cả các lệnh chi tiết ở trên. Đó là đôi worded. Nhưng tôi muốn xóa thư mục đó. Mọi đề xuất sẽ được hoan nghênh. T.Divakara, Bengaluru, Ấn Độ
Không gian trống của nó trong tên tập tin, hãy thử sử dụng 'quotes'> rmdir 'New Folder' <sau đó thư mục bị bỏ đi, hoặc sử dụng các ký tự thoát cho các ký tự không thể phân biệt được. - Ken Mollerup
Chỉ cần làm rm -r lampp sẽ làm. - John Strood


Các câu trả lời:


Sử dụng lệnh dưới đây:

rm -rf lampp

Nó xóa tất cả các tệp và thư mục chứa trong lampp danh mục.

Trong trường hợp người dùng không có quyền xóa thư mục:

Thêm vào sudo ở đầu lệnh:

sudo rm -rf folderName

Nếu không, không có sudo bạn sẽ được trả lại quyền bị từ chối. Và thực hành tốt là cố gắng không sử dụng -f trong khi xóa thư mục:

sudo rm -r folderName

Lưu ý: đây là giả sử bạn đã ở cùng một mức độ của thư mục mà bạn muốn xóa trong thiết bị đầu cuối, nếu không:

sudo rm -r /path/to/folderName

FYI: bạn có thể sử dụng chữ cái -f, -r, -v:

  • -f = bỏ qua các tệp không tồn tại, không bao giờ nhắc
  • -r = để loại bỏ các thư mục và nội dung của chúng đệ quy
  • -v = để giải thích những gì đang được thực hiện

757
2017-11-16 05:19



Theo quan điểm khiêm tốn của tôi, đó là một thực hành tốt không bao giờ thêm "f" vào lần thử đầu tiên. Mục đích của nó là bỏ qua một số lời nhắc cảnh báo nhất định có thể quan trọng, đặc biệt nếu bạn vô tình thực hiện nó trên / từ thư mục sai. Theo ý kiến ​​của tôi thì tốt nhất nên thử mà không có "f" trước, sau đó chỉ khi bạn gặp phải rất nhiều lời nhắc nhở cảnh báo và bạn chắc chắn sẽ bỏ qua tất cả, Ctrl + C ra khỏi nó và lặp lại lệnh với " f ". - thomasrutter
@BKSpurgeon không trừ khi bạn vô tình gõ --no-preserve-root quá. - muru
@thomasrutter ... Đồng ý. Chủ sở hữu tệp "xxx": nguồn gốc  và nhóm: nguồn gốc có thể bị xóa bằng -f công tắc điện; và không có sudo. Đây là tin nhắn mà không có -f: "rm: xóa tệp thông thường được bảo vệ chống ghi '/home/william/.cache/netbeans/v08.01/tmp/xxx'? _ ". _Tread nhẹ nhàng. - will


rm -R lampp

Tuy nhiên, bạn cần phải cẩn thận với một lệnh đệ quy như thế này, vì nó dễ dàng vô tình xóa nhiều hơn bạn dự định.

Bạn nên luôn kiểm tra kỹ thư mục nào bạn đang ở, và bạn có gõ đúng hay không, trước khi nhấn Enter.

Phiên bản an toàn hơn

rm -R -i lampp

Đang thêm -i làm cho nó an toàn hơn một chút, bởi vì nó sẽ nhắc bạn về mọi xóa. Tuy nhiên, nếu bạn đang xóa nhiều tập tin thì điều này sẽ không thực tế lắm. Tuy nhiên, bạn có thể thử điều này trước.

Lưu ý về  -f  Tùy chọn:

Nhiều người đề xuất sử dụng -f (kết hợp nó vào -Rf hoặc là -rf), tuyên bố rằng nó sẽ loại bỏ các lời nhắc gây phiền nhiễu. Tuy nhiên, trong trường hợp bình thường bạn không cần nó, và sử dụng nó sẽ ngăn chặn một số vấn đề mà bạn có thể làm muốn biết về. Khi bạn sử dụng nó, bạn sẽ không được cảnh báo nếu đối số của bạn cung cấp một thư mục không tồn tại hoặc tập tin (s): rm sẽ chỉ âm thầm không xóa bất cứ điều gì. Theo nguyên tắc chung, hãy thử trước tiên mà không cần -f: nếu có vấn đề với lập luận của bạn, thì bạn sẽ nhận thấy. Nếu bạn bắt đầu nhận được quá nhiều lời nhắc về các tệp không có quyền ghi, thì bạn có thể thử với -f. Ngoài ra, hãy chạy lệnh từ người dùng (hoặc superuser bằng sudo) có quyền đầy đủ đối với các tệp và thư mục bạn đang xóa để ngăn các lời nhắc này ở địa điểm đầu tiên.


89
2017-11-16 04:56



Lưu ý: chữ thường -r có thể được sử dụng quá và có tác dụng tương tự ở đây. Tôi chỉ có xu hướng sử dụng chữ hoa -R bởi vì nó phù hợp với các lệnh khác mà tôi sử dụng như grep và chmod, một số chỉ hỗ trợ dạng chữ hoa. - thomasrutter
Điều này làm việc cho tôi bằng cách sử dụng adb (android debug bridge) trên Android. Đã thử rm-rf nhưng nó không hoạt động. Đã phải sử dụng rm -R. Cảm ơn. - raddevus


Có rất nhiều cách để xóa thư mục thông qua chế độ CLI. Nó phụ thuộc vào cách bạn cảm thấy thoải mái.

rm -rvf /path/to/directory  
  • -r  = xóa thư mục và nội dung của chúng đệ quy
  • -v  = giải thích những gì đang được thực hiện
  • -f  = bỏ qua các tệp không tồn tại, không bao giờ nhắc

Nếu bạn mới sử dụng Linux, hãy sử dụng các trang lệnh của người đàn ông (man rm) để có thêm tùy chọn và độ chính xác cao hơn.


21
2017-11-16 05:38





Tôi đã có một số rắc rối với điều đó ngày hôm nay, nhưng tôi đã vượt qua nó với sudo.

Caveat: Hãy chắc chắn rằng bạn muốn xóa toàn bộ điều trước khi sử dụng lệnh dưới đây.

$ sudo rm -R [Directory name]

Tôi đã thực hiện thành công việc này ngay hôm nay và xóa nhiều thư mục không trống mà tôi đã xác nhận là tôi không muốn / cần.

Tôi đang sử dụng 14.04 LTS


-2
2017-09-28 23:00



"SUDO" không phải là lệnh - "sudo" là. Tuy nhiên, bạn không sử dụng sudo để xóa một thư mục không trống, bạn sử dụng nó để xóa một tập tin không thuộc sở hữu của bạn. Làm điều này như là một vấn đề tất nhiên là nguy hiểm và không phải là rất thông minh, vì bạn không nên mù quáng xóa các tập tin bạn không sở hữu. - Marty Fried


Bằng cách này, cá nhân tôi muốn xóa một thư mục có chứa một tập tin được bảo vệ bằng văn bản (.git và thư mục con) và cuối cùng nhận ra tôi cũng cần thiết để trở thành một người dùng siêu để xóa thành công các tệp này. Đây là những gì tôi đã làm:

#became super user
sudo su -

#deleted contents of, and then the directory, harvey_snake/
rm -R harvey_snake/

-3
2017-09-17 17:35



Tôi không nghĩ bạn cần sudo su đây. Chỉ cần tiền tố rm lệnh với sudo. Để bảo mật, đó là một thực hành tốt (theo những người đề xướng của sudo) không ở trong dấu nhắc gốc khi không cần thiết. - thomasrutter
Ngoài ra, hãy rất rất chắc chắn bạn đang ở trong thư mục nào nếu bạn sudo rm -r. - Tony Martin
Bạn có thể thực hiện lệnh root-relative (/directory_name) để có thể không nghi ngờ gì về thư mục bạn đang xóa. - Yaakov Ainspan