## ۵۱ دستور کاربردی و کمتر شناختهشده لینوکس برای کاربران حرفهای
اگر مدتی با لینوکس کار کرده باشید، احتمالاً با دستورات پایهای مانند `ls`، `cd`، `cp`، `mv` و `rm` آشنا هستید. اما دنیای ترمینال لینوکس بسیار گستردهتر از اینهاست. در این مقاله ۵۱ دستور کاربردی و کمتر شناختهشده را معرفی میکنیم که میتوانند بهرهوری شما را چند برابر کنند. این دستورات ممکن است در ظاهر ساده به نظر برسند، اما استفاده صحیح از آنها میتواند تجربهی کار با لینوکس را متحول کند.
---
### 📁 مدیریت فایلها و پوشهها
1. **tree**
نمایش ساختار دایرکتوری به شکل درختی
```bash
tree /etc
```
2. **stat**
نمایش اطلاعات دقیق فایل مانند زمان آخرین تغییر
```bash
stat filename.txt
```
3. **ncdu**
بررسی مصرف فضای دیسک با رابط متنی
```bash
ncdu /
```
4. **file**
نمایش نوع فایل
```bash
file example
```
5. **rename**
تغییر نام دستهجمعی فایلها
```bash
rename 's/.txt/.bak/' *.txt
```
---
### 🔍 جستجو و فیلتر
6. **locate**
جستجوی سریع فایلها با استفاده از ایندکس
```bash
locate filename
```
7. **find -exec**
اجرای دستور بر روی فایلهای یافتهشده
```bash
find . -name "*.log" -exec rm {} \;
```
8. **grep -r**
جستجوی بازگشتی در فایلها
```bash
grep -r "error" /var/log
```
9. **ack**
جایگزین قدرتمند `grep` برای برنامهنویسان
```bash
ack "function"
```
10. **fzf**
جستجوی تعاملی بین فایلها و تاریخچه
```bash
fzf
```
---
### 🔧 مدیریت سیستم
11. **htop**
نمایش گرافیکی فرآیندها
```bash
htop
```
12. **iotop**
نمایش I/O دیسک
```bash
sudo iotop
```
13. **nmon**
مانیتورینگ کامل سیستم
```bash
nmon
```
14. **uptime**
نمایش مدت زمان روشن بودن سیستم
```bash
uptime
```
15. **lsof**
نمایش فایلهای باز توسط پردازشها
```bash
lsof -i :80
```
---
### 🌐 شبکه
16. **ifstat**
مانیتور ترافیک شبکه
```bash
ifstat
```
17. **nmap**
اسکن شبکه و پورت
```bash
nmap -sP 192.168.1.0/24
```
18. **curl -I**
بررسی هدرهای HTTP
```bash
curl -I example.com
```
19. **dig +short**
گرفتن آدرس IP دامنه
```bash
dig +short google.com
```
20. **ss**
جایگزین سریعتر netstat
```bash
ss -tuln
```
---
### 🗃️ مدیریت پکیجها
21. **apt-file search**
جستجوی فایل در پکیجها (Debian/Ubuntu)
```bash
apt-file search bin/htop
```
22. **dpkg -S**
پیدا کردن پکیجی که یک فایل خاص را نصب کرده
```bash
dpkg -S /usr/bin/wget
```
23. **checkinstall**
ساخت پکیج از سورس هنگام نصب
```bash
sudo checkinstall
```
---
### 📜 ابزارهای متنی
24. **tac**
نمایش خطوط فایل به صورت معکوس
```bash
tac file.txt
```
25. **column**
جدولبندی دادهها
```bash
cat data.txt | column -t
```
26. **xargs**
اجرای دستور با خروجی دستور دیگر
```bash
cat list.txt | xargs rm
```
27. **sed -i**
ویرایش مستقیم فایلها
```bash
sed -i 's/foo/bar/g' file.txt
```
28. **diff -u**
مقایسه فایلها با خروجی مناسب برای پچ
```bash
diff -u file1.txt file2.txt
```
---
### ⏱️ مدیریت زمان و وظایف
29. **at**
زمانبندی اجرای دستور
```bash
echo "reboot" | at 2am
```
30. **watch**
اجرای مکرر دستور و نمایش خروجی
```bash
watch -n 5 df -h
```
31. **cron & crontab**
زمانبندی اجرای خودکار وظایف
```bash
crontab -e
```
---
### 🧪 ابزارهای خاص و متفرقه
32. **yes**
تکرار یک ورودی
```bash
yes "Processing..."
```
33. **timeout**
اجرای محدود به زمان
```bash
timeout 10s command
```
34. **shuf**
مرتبسازی تصادفی خطوط
```bash
shuf names.txt
```
35. **pv**
نمایش پیشرفت انتقال داده
```bash
pv largefile.iso > /dev/null
```
36. **basename**
گرفتن نام فایل از مسیر
```bash
basename /home/user/file.txt
```
37. **dirname**
گرفتن مسیر فایل
```bash
dirname /home/user/file.txt
```
38. **realpath**
نمایش مسیر کامل یک فایل
```bash
realpath file.txt
```
39. **seq**
تولید لیستی از اعداد
```bash
seq 1 10
```
40. **expr**
انجام عملیات ریاضی
```bash
expr 5 + 10
```
41. **bc**
ماشین حساب دقیق
```bash
echo "scale=2; 5/3" | bc
```
42. **du -sh**
نمایش حجم پوشهها
```bash
du -sh *
```
43. **uptime -p**
نمایش زمان روشن بودن سیستم به زبان ساده
```bash
uptime -p
```
44. **hexdump**
نمایش محتوای باینری فایلها
```bash
hexdump -C file.bin
```
45. **strings**
استخراج رشتههای قابل خواندن از فایل باینری
```bash
strings binaryfile
```
46. **uuidgen**
تولید UUID تصادفی
```bash
uuidgen
```
47. **date -d**
فرمتدهی و محاسبه زمان
```bash
date -d "next friday"
```
48. **cal**
نمایش تقویم
```bash
cal
```
49. **uptime -s**
زمان روشن شدن سیستم
```bash
uptime -s
```
50. **whoami**
نمایش نام کاربر فعلی
```bash
whoami
```
51. **alias**
ساخت میانبر برای دستورات
```bash
alias ll='ls -alF'
```
---
### جمعبندی
شناخت دستورات کمتر شناختهشده لینوکس میتواند بهرهوری شما را افزایش داده و در حل مسائل پیچیده، به شما کمک زیادی کند. پیشنهاد میکنیم برخی از این دستورات را امتحان کنید و در اسکریپتهای خود استفاده نمایید.