ধরা যাক আমার *
নীচে একটি ফোল্ডার ছিল /
। আমি জানি যে rm -rf * এর মতো সাধারণ কমান্ডগুলি কাজ করবে না। কোন সাহায্য?
ধরা যাক আমার *
নীচে একটি ফোল্ডার ছিল /
। আমি জানি যে rm -rf * এর মতো সাধারণ কমান্ডগুলি কাজ করবে না। কোন সাহায্য?
উত্তর:
শেল দ্বারা প্রক্রিয়াজাতকরণ রোধ করতে আপনি একক-উদ্ধৃতি যুক্তি দিতে পারেন।
rm -r '/*'
নিরাপদে ls
(ফাইলযুক্ত ফোল্ডারে) ব্যবহার করে এটি পরীক্ষা করুন :
$ ls '*'
ls: *: No such file or directory
এই ক্ষেত্রে, ডাবল উদ্ধৃতিগুলি পাশাপাশি কাজ করবে, তবে যদি এর $
সাথে জড়িত থাকত তবে তারা শেকলটি এটি একটি পরিবর্তনশীল হিসাবে ধরে নেবে না:
$ ls "foo$bar"
ls: foo: No such file or directory
$ ls 'foo$bar'
ls: foo$bar: No such file or directory
জিএনইউ-র জন্য rm
, আপনি --
ফাইল নামের যুক্তিগুলির আগে যুক্তি হিসাবে পার্স হওয়া থেকে বিরত রাখতে যুক্ত করতে পারেন । এটি আপনাকে -rf
সমস্যা ছাড়াই নামকরণ করা ফাইলগুলি মুছতে দেয় ।
&
) ব্যবহার করার সময় কোন অক্ষরগুলি পালাতে হবে সেগুলি আপনাকে জানতে হবে এবং স্বতন্ত্রভাবে সেগুলি পালাতে হবে, যা একবারে উদ্ধৃত করার চেয়ে সহজেই আরও বেশি প্রচেষ্টা হয়ে উঠতে পারে। তাই আমি স্বতন্ত্র পলায়নের নিকৃষ্ট বলে বিবেচনা করি এবং এই বিকল্পটি পোস্ট করি।
bash
আপনি কী অনুসন্ধান করবেন তা যদি না জানেন তবে পুরো ম্যান পৃষ্ঠাটি পড়তে কিছুক্ষণ সময় লাগে।
rm *
এই ফোল্ডারটি মুছতে কাজ করবে।