যেহেতু আমি মনে করি যে এই প্রশ্নটি * কী করে (এবং আরএম নয়) সে সম্পর্কে আরও বেশি, তাই আসুন আমরা অন্য পদ্ধতির চেষ্টা করি।
* কী করে তা আপনি যদি নিশ্চিত না হন তবে আপনি প্রথমে প্রতিধ্বনির মতো ক্ষতিকারক কমান্ড ব্যবহার করে প্রথমে "পরীক্ষা" করতে পারেন। আপনি এটি চালানোর আগে, আপনি যদি আপনার বাড়ির dir এ চালান তবে তারা কী দেখায় তা অনুমান করার চেষ্টা করুন।
echo *
echo .*
তবে প্রথমে একটি খেলার মাঠ তৈরি করা যাক আমরা তারার সাথে খেলতে পারি এবং আমরা কী শেষ করব তা দেখতে পারি see
mkdir ~/star_test/
cd ~/star_test/
>.file1
>file2
এখন এই dir এ আমাদের আছে:
cj@zap:~/star_test$ ls -1a
.
..
.file1
file2
এখন ইকো কমান্ড ব্যবহার করে * কী প্রসারিত হবে তা লক্ষ্য করুন:
cj@zap:~/star_test$ echo *
file2
cj@zap:~/star_test$ echo .*
. .. .file1
সুতরাং আসুন দেখুন rm কমান্ড দিয়ে কি হয়
cj@zap:~/star_test$ rm -rf *
cj@zap:~/star_test$ ls -1a
.
..
.file1
আপনি দেখতে পাচ্ছেন যে তিনি কেবল ফাইল 2 সরিয়েছেন, যেহেতু * কেবল ফাইল 2 এ প্রসারিত হয়েছে। আপনি যদি rm -rf টাইপ করেন *। এটি লেখার মতোই হবে
rm -rf . .. .file1
এবং সত্যি বলতে, যে মজা লাগবে না;)
আশা করি এটি আপনার প্রশ্নের * অংশটি পরিষ্কার করে দিয়েছে।
আপডেট:
তবে অঙ্কুর গোয়েল দেখিয়েছে যে কোনও প্রকারের সুরক্ষা তৈরি করা হয়েছে (শেল কমান্ডগুলির জন্য একরকম অস্বাভাবিক :)
আসুন একটি নতুন খেলার মাঠ তৈরি করুন:
cd ~/star_test/
mkdir -p test1/test2/test3
sudo chown root.root test1
cd test1/test2/test3/
>.file1
>file2
সুতরাং এখন আমাদের আবার এটি আছে, তবে সুরক্ষার জন্য মূলের মালিকানাধীন টেস্ট 1 এর সাথে যদি আরএম বর্শা শুরু করে।
cj@zap:~/star_test/test1/test2/test3$ ls -a
. .. file2 .file1
cj@zap:~/star_test/test1/test2/test3$ echo .*
. .. .file1
সুতরাং আসুন সমস্ত অপসারণ:
cj@zap:~/star_test/test1/test2/test3$ rm -rf .*
rm: cannot remove directory `.'
rm: cannot remove directory `..'
cj@zap:~/star_test/test1/test2/test3$ ls -a
. .. file2
এবং দেখে মনে হচ্ছে rm সরিয়ে নেই। এবং .. এমনকি যদি আমরা তাকে বলেছিলাম !!!
সুতরাং এই দীর্ঘ উত্তরের পরে এটি একটি দির সাথে সমস্ত কিছু মুছে ফেলার জন্য নিরাপদ বলে প্রমাণিত হয়েছে:
rm -rf * .*
তবে আমি এটিকে যত্ন সহকারে ব্যবহার করব, যেহেতু আমি নিশ্চিত নই যে rm এর সমস্ত বাস্তবায়ন এই জাতীয় আচরণ করে!
rm -rf ./*
বর্তমান ডিরেক্টরিটি স্পষ্টভাবে উল্লেখ করেছিলাম ... তবে অঙ্কুর বলে মনে হচ্ছে এটি কোনওভাবেই আসে না।