99fb7f0e82
- Created a new sitemap.xml file for better SEO. - Added a compressed version of the sitemap as sitemap.xml.gz. - Introduced extra.css for custom styles, including Persian font support (IRANSansX). - Defined font-face rules for regular and bold styles of IRANSansX. - Implemented various text styles and layout adjustments for better readability. - Enhanced Mermaid diagram styles to support Persian text rendering.
64 lines
2.1 KiB
Markdown
64 lines
2.1 KiB
Markdown
# درسنامه ۲-۱: آشنایی با file و du
|
|
|
|
در این درس با دو ابزار کاربردی برای شناخت نوع فایل و بررسی فضای اشغالشده آشنا میشویم.
|
|
|
|
## file — تشخیص نوع فایل
|
|
- کار: تشخیص نوع واقعی فایل (متنی، باینری، اسکریپت، عکس و ...).
|
|
- موارد استفادهٔ رایج:
|
|
|
|
```
|
|
file README.md
|
|
file /bin/ls
|
|
file -b image.png # فقط نوع، بدون نام فایل
|
|
file -i report.pdf # نمایش MIME type
|
|
```
|
|
|
|
نکته: پسوند همیشه قابل اعتماد نیست؛ `file` محتوای واقعی را بررسی میکند.
|
|
|
|
## du — میزان فضای اشغالشده
|
|
- کار: نمایش اندازهٔ فایل/دایرکتوری بر روی دیسک.
|
|
- گزینههای مفید:
|
|
|
|
```
|
|
du -h . # اندازهٔ اقلام در مسیر جاری (خوانا)
|
|
du -sh . # فقط جمع کل پوشهٔ جاری
|
|
du -h --max-depth=1 ~ # اندازهٔ زیردایرکتوریها تا یک عمق
|
|
```
|
|
|
|
تفاوت با `df`: دستور `df` فضای آزاد/مصرفی پارتیشن را نشان میدهد، نه یک پوشهٔ خاص.
|
|
|
|
## تمرین کوتاه
|
|
- نوع چند فایل مختلف در سیستم را با `file` بررسی کنید.
|
|
- اندازهٔ پوشهٔ Downloads خود را با `du -sh ~/Downloads` ببینید.
|
|
|
|
## نکات و مثالهای بیشتر
|
|
- برای چند فایل باهم:
|
|
|
|
```
|
|
file *.png
|
|
du -sh ~/Projects/*
|
|
```
|
|
|
|
- تفکیک بزرگترین پوشهها در یک مسیر (نمای کلی سریع):
|
|
|
|
```
|
|
du -h --max-depth=1 ~/Downloads | sort -h
|
|
```
|
|
|
|
- بررسی نوع فایل ناشناس که پسوند ندارد:
|
|
|
|
```
|
|
file unknown_file
|
|
```
|
|
|
|
- مقایسهٔ `size` ظاهری vs. فضای دیسک (Sparse Files):
|
|
|
|
```
|
|
ls -lh bigfile
|
|
du -h bigfile
|
|
```
|
|
|
|
## خطاهای رایج
|
|
- اشتباه گرفتن `du` با `df`: اولی اندازهٔ مسیر را میدهد، دومی وضعیت پارتیشن را.
|
|
- فراموش کردن `-h` و خوانایی خروجی.
|