फ़ाइलों को हटाना मेरे लिए नहीं है जिसका आपको उपयोग करना चाहिए rm
। यहाँ एक विकल्प है:
sudo apt-get install gvfs # install a tool that allows you to put stuff in the trash
alias "trash"="gvfs-trash" # you can also put this in .bash_aliases or simply use the command without alias
trash *.bak # trash the files (thus moving them to the trash bin)
जैसा कि फ्लिम टिप्पणी में बताता है:
पैकेज gvfs पर निर्भरता के बिना trash-cli
एक ही काम करता है gvfs-trash
।
इसलिए:
sudo apt-get install trash-cli
आपको इसके लिए एक उपनाम बनाने की आवश्यकता नहीं है, क्योंकि trash-cli
पैकेज एक कमांड प्रदान करता है trash
, जो हमें चाहिए।
जैसा कि एलिया कगन व्यापक टिप्पणियों में स्पष्ट करता है, आप भी इस पुनरावर्ती का उपयोग कर सकते हैं find
। उस स्थिति में आप एक उपनाम का उपयोग नहीं कर सकते हैं, इसलिए नीचे दिए गए आदेश मान लें कि आपने स्थापित किया है trash-cli
। मैं एलियाह की टिप्पणियों को संक्षेप में प्रस्तुत करता हूं:
यह कमांड .bak
वर्तमान निर्देशिका या इसके उपनिर्देशिकाओं या नीचे कहीं भी सभी फाइलों को खोजती है और सहानुभूति देती है।
find . -name '*.bak' -xtype f
उन्हें हटाने के लिए, कमांड के -exec
साथ जोड़ें trash
:
find . -name '*.bak' -xtype f -exec trash {} +
-xtype f
फ़ाइलों का चयन करता है और फ़ाइलों के लिए सहानुभूति रखता है, लेकिन फ़ोल्डर नहीं। .Bak फ़ोल्डर को हटाने के लिए, उस भाग को हटा दें, और उपयोग करें -execdir
, जो निर्देशिकाओं के अंदर फ़ाइलों के cannot trash non-existent
लिए त्रुटियों से बचा जाता है :.bak
.bak
find . -name '*.bak' -execdir trash {} +
rm *.bak
?