হ্যাঁ, rm *.xvg
কেবলমাত্র .xvg
আপনার বর্তমান ডিরেক্টরিতে শেষ হওয়া ফাইলগুলি মুছবে । কারণটা এখানে.
আপনি যখন এটির মতো কোনও কমান্ড টাইপ করেন, আপনি যে শেলটি ব্যবহার করছেন তা (কাজটি ধরা যাক বাশ ধরে নেওয়া যাক) এবং বাইনারি কমান্ডের মধ্যে কাজ বিভক্ত হয়ে যায়।
আপনি টাইপ করে বাইনারি সনাক্ত করতে পারেন which rm
। এই ছোট প্রোগ্রামটি আনলিংক করা ফাইলগুলির যত্ন নেয়। এর মতো প্রোগ্রামগুলি কমান্ড লাইন থেকে শুরু করা যেতে পারে এবং prog arg1 arg2 arg3
যখন তারা শুরু হয় তখন আর্গুমেন্টের একটি তালিকা পড়তে পারে। এর ক্ষেত্রে rm
, এগুলি মুছে ফেলার জন্য সম্পূর্ণরূপে যোগ্য ফাইলের একটি তালিকা হিসাবে ব্যাখ্যা করা হয়। সুতরাং আপনি যদি ফাইলটি ধারণকারী কোনও ডিরেক্টরিতে থাকেন তবে foo.bar
টাইপিংয়ের delete 'foo.*'
ফলাফল হবে rm: foo.*: No such file or directory
। ফাইলের প্যাটার্নের চারপাশে একক উদ্ধৃতি নোট করুন, তারা শেলটিকে শেলটির মতো আর্গুমেন্টটি পাস করার জন্য বলে।
তবে আপনি যদি rm *.bar
একই ডিরেক্টরিতে টাইপ করেন তবে এটি ফাইলটি মুছে ফেলবে। এখানে যা ঘটছে তা হ'ল আপনার শেলটি, যা আপনি প্রোগ্রামটি কমান্ড টাইপ করতে ব্যবহার করছেন তা কমান্ডটিতে আর্গুমেন্টগুলি প্রেরণের আগে কিছু রূপান্তর করছে। এর মধ্যে একটিতে 'ফাইলের নাম সম্প্রসারণ' বলা হয়, অন্যথায় 'গ্লোব্বিং' নামে পরিচিত। আপনি এখানে বাশ ফাইল নামের বিস্তারের একটি তালিকা দেখতে পাচ্ছেন । সর্বাধিক প্রচলিত একটি হল *
, যা বর্তমান ডিরেক্টরিতে ফাইলের নামগুলিতে প্রসারিত।
কর্মক্ষেত্রে গ্লোবগুলিকে দেখার একটি সহজ উপায় হ'ল ব্যবহার করা echo
যা শেলটির মধ্য দিয়ে দেওয়া সমস্ত আর্গুমেন্টকে প্রিন্ট করে। সুতরাং echo *
একই ডিরেক্টরি টাইপিং আউটপুট হবে foo.bar
। সুতরাং আপনি যখন টাইপ করবেন rm *.bar
, আসলে যা ঘটছে তা হ'ল শেলটি আর্গুমেন্টের তালিকায় প্রসারিত করে foo.bar
, তারপরে এটি rm
কমান্ডে প্রেরণ করে।
গ্লোববিং নিয়ন্ত্রণের কিছু উপায় রয়েছে। উদাহরণস্বরূপ, বাশের সাম্প্রতিক সংস্করণগুলিতে আপনি গ্লোবস্টার নামে একটি বিকল্প চালু করতে পারেন যা পুনরাবৃত্তির সম্প্রসারণ করবে। টাইপিং সমস্ত সাবফোল্ডারগুলিতে echo **/*.bar
শেষ হওয়া সমস্ত ফাইলের একটি তালিকা প্রদর্শন করবে .bar
। সুতরাং rm **/*.bar
গ্লোব স্টার সক্ষম বাশে টাইপ করা প্রকৃতপক্ষে পুনরাবৃত্তভাবে সাবফোল্ডারগুলিতে সমস্ত মিলে যাওয়া ফাইল মুছে ফেলবে।
rm -f {*.xvg,.*.xvg}
লুকানো ফাইলগুলি সরাতে। এবংrm -R -f {*.xvg,.*.xvg}
এছাড়াও ডিরেক্টরি মুছে ফেলার জন্য।