## 📂 آشنایی با انواع فایلسیستم در لینوکس
سیستمعامل لینوکس از انواع مختلف فایلسیستم (File System) برای مدیریت ذخیرهسازی اطلاعات پشتیبانی میکند. هر فایلسیستم ساختار و کاربرد خاص خود را دارد و شناخت آنها برای مدیران سیستم، کاربران حرفهای و توسعهدهندگان ضروری است.
---
## 📌 فایلسیستم چیست؟
فایلسیستم روشی است برای سازماندهی و مدیریت فایلها و دایرکتوریها روی یک دستگاه ذخیرهسازی (مانند هارد، SSD، USB و ...). در لینوکس، هسته (Kernel) با استفاده از فایلسیستم، دادهها را روی دیسک مینویسد، میخواند و سازماندهی میکند.
---
## 📁 پرکاربردترین فایلسیستمهای لینوکسی
### 1️⃣ **Ext2 (Second Extended Filesystem)**
* ساده و بدون **journaling**
* مناسب برای USBها یا دستگاههای کممصرف
* سرعت بالا اما **امنیت کمتر در برابر قطع برق**
### 2️⃣ **Ext3 (Third Extended Filesystem)**
* نسخه پیشرفتهتر Ext2 با ویژگی **journaling**
* پشتیبانی از تبدیل آسان از Ext2
* امنتر، اما نسبت به Ext4 کندتر
### 3️⃣ **Ext4 (Fourth Extended Filesystem)**
* پیشرفتهترین نسخه Ext
* پشتیبانی از فایلهای بسیار بزرگ (تا 16 ترابایت)
* سریعتر، مقاومتر و انتخاب پیشفرض در بسیاری از توزیعها
### 4️⃣ **XFS**
* فایلسیستم 64 بیتی، سریع و مقاوم در برابر خطا
* مناسب برای سرورها، پایگاههای داده و سیستمهای بزرگ
* پشتیبانی عالی از فایلهای بزرگ و عملیات همزمان
### 5️⃣ **Btrfs (B-tree File System)**
* مدرن و پیشرفته با ویژگیهایی مانند:
* snapshot داخلی
* RAID داخلی
* فشردهسازی خودکار
* هنوز به طور کامل به عنوان پیشفرض استفاده نمیشود اما در حال رشد است
### 6️⃣ **FAT32 / exFAT**
* سازگار با ویندوز و دستگاههای غیر لینوکسی
* فاقد ویژگیهای امنیتی و محدودیت اندازه فایل
* exFAT مناسب برای فلشمموریهای حجیم
### 7️⃣ **NTFS**
* فایلسیستم پیشفرض ویندوز
* پشتیبانی کامل در لینوکس از طریق ماژول **ntfs-3g**
* مناسب برای انتقال اطلاعات بین ویندوز و لینوکس
### 8️⃣ **ISO 9660**
* فایلسیستم مخصوص دیسکهای نوری (CD/DVD)
* فقط خواندنی (read-only)
### 9️⃣ **tmpfs**
* فایلسیستم موقتی که اطلاعات را در RAM نگه میدارد
* سریع ولی فقط تا زمان ریاستارت سیستم باقی میماند
* کاربرد در `/tmp` یا `/run`
### 🔟 **Swap**
* نوع خاصی از پارتیشن برای مدیریت حافظه
* برای زمانی که RAM پر میشود، مورد استفاده قرار میگیرد
---
## 🛠️ بررسی فایلسیستم در لینوکس
برای دیدن نوع فایلسیستم پارتیشنها:
```bash
lsblk -f
```
یا:
```bash
df -T
```
---
## 🔄 انتخاب بهترین فایلسیستم برای هر کاربرد
| کاربرد | فایلسیستم پیشنهادی |
| ------------------------ | ------------------- |
| نصب لینوکس | Ext4 |
| سرور با فایلهای بزرگ | XFS |
| سیستمهای پشتیبانگیری | Btrfs |
| فلش یا USB | FAT32 یا exFAT |
| انتقال بین ویندوز/لینوکس | NTFS یا exFAT |
| فایلسیستم موقتی | tmpfs |
---
## 🔐 نکات امنیتی
* همیشه فایلسیستم را با گزینههای **mount** امن تنظیم کنید (مانند `noexec`, `nosuid`)
* قبل از فرمت کردن دیسک یا تغییر فایلسیستم، **بکاپ بگیرید**
---
## 🎯 جمعبندی
هر فایلسیستم نقاط قوت و ضعف خودش را دارد. برای استفاده معمول در لینوکس، **Ext4** بهترین انتخاب است، اما برای نیازهای خاص میتوانید از فایلسیستمهایی مانند **XFS**، **Btrfs** یا **exFAT** استفاده کنید.