> For the complete documentation index, see [llms.txt](https://sh.howtocode.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sh.howtocode.dev/1.0.0.part1intro/1.2.0.manipulation/1.2.5.remove.md).

# ফাইল ও ডিরেক্টরি রিমুভ করা:

## ফাইল ও ডিরেক্টরি রিমুভ করা

কমান্ডলাইনে ব্যবহৃত সবচয়ে ভয়ঙ্কর কমান্ডগুলোর একটি **rm** যা ফাইল ও ডিরেক্টরি রিমুভ বা ডিলিট বা মুছে ফেলতে ব্যবহৃত হয়। এর কমান্ড কাঠামো‌ খুবই সহজ:

```
rm item...
```

**item** এর জায়গায় এক বা একাধিক ফাইল ও ডিরেক্টরি থাকতে পারে যেগুলো মুছে ফেলতে চান।

এবার এর কিছু অপশন দেখে নেয়া যাক:

| অপশন | লং অপশন       | অর্থ                                                                                                                                                                                                          |
| ---- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| -i   | --interactive | এই অপশন ব্যবহার করলে প্রত্যেক ফাইল মুছে ফেলার আগে অনুমতি চাইবে।                                                                                                                                               |
| -r   | --recursive   | এই অপশন ব্যবহার করলে ডিরেক্টরিকে তার সব কন্টেন্টসুদ্ধ মুছে ফেলা হয়। আসলে ডিরেক্টরি মুছতে হলে এই অপশনটির ব্যবহার জরুরী।                                                                                        |
| -f   | --force       | কোনো কোনো ফাইল ডিলিট করার সময় আপনাকে শেল জানাতে পারে এগুলো ডিলিট করা ঠিক হবে না তাই ডিলিট করা হচ্ছে না। এই অপশন ব্যবহার করে সমস্তকিছু ডিলিট করা সম্ভব। এই অপশনটি ব্যবহার করলে --interactive অপশন কাজ করবে না। |
| -v   | --verbose     | মুছে ফেলার প্রক্রিয়া বিস্তারিত দেখাবে।                                                                                                                                                                        |

## rm নিয়ে সতর্ক থাকবেন!

**rm** কমান্ডের ব্যবহারের সময় সতর্কতা অবলম্বন করাই বুদ্ধিমানের কাজ(আমি নিজেই একবার ভুল করে আমার সমস্ত মিডিয়া স্টোরেজ মুছে ফেলেছিলাম!)।

মনে করুন একটা ফোল্ডারে আপনার বেশকিছু ফাইল আছে। তারমধ্যে হয়ত আছে কিছু html ফাইল যা আপনার দরকার নেই। আপনি ভাবলেন ওয়াইল্ডকার্ড ব্যবহার করে এক কমান্ডে সব মুছে ফেলবেন এভাবে:

```
rm *.html
```

কমান্ডটি ঠিক থাকলে পারফেক্টলি কাজ করবে। কিন্তু যদি ভুল হয়? যদি এমন হয়:

```
rm * .html
```

অর্থাৎ \* এবং .html এর মধ্যে একটি স্পেস হলেই প্রথমে ওই ডিরেক্টরির মধ্যে থাকা সবকিছু মুছে ফেলবে এবং তারপর হয়ত একটি এরর দেখাবে যে .html বলে কোনো ফাইল পাওয়া যায়নি। টাইপ করতে ভুল হওয়া খুব স্বাভাবিক ব্যাপার।

সবচেয়ে ভালো হয়, আপনি rm দিয়ে যে কমান্ডটি দিতে চান, সেটাতে আগে একবার **rm** এর জায়গায় **ls** দিয়ে ট্রাই করেন। তাহলে দেখতে পারবেন কি কি ডিলিট করতে চাচ্ছেন। সব ঠিক থাকলে আপার এ্যারো কী চেপে সেই কমান্ডটি আবার আনুন এবং **ls** এর জায়গায় **rm** বসিয়ে দিন।
