🎯 سریعترین راه پیدا کردن پوشههای سنگین با du + sort
وقتی دیسک نزدیک پر شدن است، گشتن دستی دنبال پوشههای چاق و چله واقعاً وقتگیر میشود. یک ترکیب سادهی
✅ این یک الگوی ساده و قابلحفظ است که روی اکثر توزیعها کار میکند:
🔍 توضیح کوتاه:
-
-
-
مثلاً برای بررسی
📌 نکات:
- روی مسیرهای سیستمی حساس بهتر است با
- اگر خروجی خیلی زیاد بود، میتوان فقط ۲۰ مورد آخر را دید:
👣 دفعه بعد که دیسک پر شد، قبل از panic همین الگو را اجرا کن و دقیقاً همان پوشهی مشکلساز را هدف بگیر.
📖 مرجع: man7.org/linux/man-pages/man1/du.1.html
🔖 #Linux #لینوکس #Linux #terminal #du #disk_usage #shell
👤 Developix
💎 Channel: @DevelopixLinux
وقتی دیسک نزدیک پر شدن است، گشتن دستی دنبال پوشههای چاق و چله واقعاً وقتگیر میشود. یک ترکیب سادهی
du و sort خیلی سریع نشان میدهد فضا دقیقاً کجا خورده شده است. 💽✅ این یک الگوی ساده و قابلحفظ است که روی اکثر توزیعها کار میکند:
du -h --max-depth=1 /path | sort -h
🔍 توضیح کوتاه:
-
du -h حجمها را human-readable مثل 10M، 2G نشان میدهد.-
--max-depth=1 فقط زیرپوشههای سطح اول را لیست میکند (خروجی شلوغ نمیشود).-
sort -h بر اساس حجم (با K/M/G) مرتب میکند.مثلاً برای بررسی
/home:du -h --max-depth=1 /home | sort -h
📌 نکات:
- روی مسیرهای سیستمی حساس بهتر است با
sudo اجرا شود تا همه چیز را ببیند.- اگر خروجی خیلی زیاد بود، میتوان فقط ۲۰ مورد آخر را دید:
du -h --max-depth=1 / | sort -h | tail -n 20
👣 دفعه بعد که دیسک پر شد، قبل از panic همین الگو را اجرا کن و دقیقاً همان پوشهی مشکلساز را هدف بگیر.
📖 مرجع: man7.org/linux/man-pages/man1/du.1.html
🔖 #Linux #لینوکس #Linux #terminal #du #disk_usage #shell
👤 Developix
💎 Channel: @DevelopixLinux
👍2👎1
خیلی وقتها یه سرویس روی سیستم بالا نمیاد یا کند میشه، و اولین جایی که باید سر بزنی لاگهاست. روی سیستمهای مدرن که از systemd استفاده میکنن، ابزار اصلی دیدن لاگها همون journalctl هست.
اینجا یه مرور سریع و کاربردی روی
منبع اصلی داک:
freedesktop.org/software/systemd/man/journalctl.html
🧩 ایده کلی
🔍 دیدن لاگ یک سرویس مشخص
فرض کن سرویس
سوییچ
📡 مانیتور لحظهای لاگ (مثل tail -f)
وقتی میخوای یه کانفیگ جدید رو تست کنی، این خیلی میچسبه:
⏱️ فیلتر زمانی لاگها
برای وقتی که میدونی مشکل از چه ساعتی شروع شده. مثلاً لاگهای امروز از ساعت 10 صبح:
یا مثلاً لاگهای ۲۴ ساعت اخیر کل سیستم:
⚙️ یک نمونه ورکفلو واقعی دیباگ
سناریو:
1️⃣ وضعیت سرویس:
2️⃣ دیدن لاگهای آخر برای خطا:
3️⃣ اگر Error مربوط به syntax بود، چک کانفیگ:
معمولاً ترکیب
🧹 مراقبت از حجم لاگها
روی بعضی سیستمها، journal میتونه فضا ببلعه اگر تنظیمش نکرده باشی. یه نگاه سریع به وضعیت:
و اگر لازم شد تمیزکاری کنترلشده:
این دستور لاگهای قدیمیتر از ۷ روز رو پاک میکنه. حتماً قبلش
🌱 اگر تا حالا بیشتر با
🔖 #Linux #لینوکس #Linux #GNU/Linux #systemd #journalctl #logging #bash #sysadmin
👤 Developix
💎 Channel: @DevelopixLinux
اینجا یه مرور سریع و کاربردی روی
journalctl داریم؛ هم برای دیباگ، هم برای مانیتور سبکوزن لاگها.منبع اصلی داک:
freedesktop.org/software/systemd/man/journalctl.html
🧩 ایده کلی
systemd-journald لاگهای کرنل، serviceها و حتی بعضی برنامهها رو جمع میکنه و journalctl راه خواندن و فیلتر کردن این لاگهاست. مزیتش اینه که همهچی یهجا جمعه و میتونی بر اساس unit، زمان، سطح لاگ و ... فیلتر بزنی.🔍 دیدن لاگ یک سرویس مشخص
فرض کن سرویس
nginx.service قاطی کرده. بهجای گشتن تو چند تا فایل لاگ، مستقیم این رو بزن:sudo journalctl -u nginx.service -e
سوییچ
-u یعنی فیلتر روی همون systemd unit و -e میبردت آخر لاگ، شبیه tail.📡 مانیتور لحظهای لاگ (مثل tail -f)
وقتی میخوای یه کانفیگ جدید رو تست کنی، این خیلی میچسبه:
sudo journalctl -u nginx.service -f
-f یعنی هر چیزی جدیدی که لاگ شد رو زنده نشون بده. عالی برای وقتی که nginx -t میزنی یا داری reload میکنی.⏱️ فیلتر زمانی لاگها
برای وقتی که میدونی مشکل از چه ساعتی شروع شده. مثلاً لاگهای امروز از ساعت 10 صبح:
sudo journalctl -u nginx.service --since "today 10:00"
یا مثلاً لاگهای ۲۴ ساعت اخیر کل سیستم:
sudo journalctl --since "-24 hours"
⚙️ یک نمونه ورکفلو واقعی دیباگ
سناریو:
nginx بعد از تغییر کانفیگ بالا نمیاد.1️⃣ وضعیت سرویس:
systemctl status nginx.service
2️⃣ دیدن لاگهای آخر برای خطا:
sudo journalctl -u nginx.service -e -n 50
-n 50 فقط ۵۰ خط آخر رو میاره که هم سریعتره هم خواناتر.3️⃣ اگر Error مربوط به syntax بود، چک کانفیگ:
sudo nginx -t
معمولاً ترکیب
systemctl status + journalctl همون چیزیه که واقعاً تو کار روزمره استفاده میشه.🧹 مراقبت از حجم لاگها
روی بعضی سیستمها، journal میتونه فضا ببلعه اگر تنظیمش نکرده باشی. یه نگاه سریع به وضعیت:
sudo journalctl --disk-usage
و اگر لازم شد تمیزکاری کنترلشده:
sudo journalctl --vacuum-time=7d
این دستور لاگهای قدیمیتر از ۷ روز رو پاک میکنه. حتماً قبلش
--disk-usage رو ببین.🌱 اگر تا حالا بیشتر با
/var/log سر و کار داشتی، یه کم با journalctl بازی کن؛ چند تا سرویس روی سیستم خودت رو باهاش دیباگ کن. بعد از یکیدو بار استفاده، عملاً میشه ابزار روزمرهات برای فهمیدن "دقیقاً چی شد که خراب شد؟" 😉🔖 #Linux #لینوکس #Linux #GNU/Linux #systemd #journalctl #logging #bash #sysadmin
👤 Developix
💎 Channel: @DevelopixLinux
❤3👍3
اسکریپتنویسی Bash یکی از مفیدترین مهارتها برای هر کاربر گنو/لینوکس است. با چند خط کد میشود کارهایی مثل بکاپ، تمیز کردن لاگها، یا همگامسازی پوشهها را کاملاً خودکار کرد. این پست یک مثال واقعی و قابلاستفاده از یک اسکریپت بکاپ خانگی میدهد که میشود روی هر distro اجراش کرد. 🙂
ایده ساده است: چند پوشه مهم (مثلاً ~/Documents و ~/Projects) را با `tar` فشرده کنیم، اسم فایل را بر اساس تاریخ بگذاریم، و در یک مسیر امن ذخیره کنیم. بعداً میتوان این اسکریپت را در `cron` یا `systemd timer` گذاشت تا خودکار اجرا شود.
این مثال با الهام از مستندات رسمی Bash و man pageهای `tar(1)` و `date(1)` نوشته شده (روی هر سیستم میشود با `man tar` و `help test` جزئیات بیشتر را دید).
✨ اسکریپت نمونه:
چند نکته مهم از دل این اسکریپت:
• `set -euo pipefail` کمک میکند اسکریپت در صورت خطا فوراً متوقف شود و از باگهای عجیب جلوگیری میکند.
• از آرایه Bash برای لیست پوشهها استفاده شده؛ اضافه کردن مسیر جدید فقط با ویرایش `SOURCE_DIRS` انجام میشود.
• با `--exclude` جلوی بکاپ شدن چیزهای بیمصرف (مثل ~/.cache) گرفته میشود؛ این کار فضا و زمان را بهطرز محسوسی کم میکند.
برای استفاده عملی، فایل را مثلاً با نام `backup-home.sh` در `~/bin` ذخیره و executable کنید:
بعد میشود با اضافه کردن یک entry ساده در `crontab`، این بکاپ را مثلاً هر شب اجرا کرد (`crontab -e` را ببینید، طبق مستندات `man 5 crontab`).
این اسکریپت پایه خوبی است برای ساختن یک سیستم بکاپ جدیتر: میشود log اضافه کرد، روی remote server با `ssh` کپی کرد، یا rotation برای پاک کردن بکاپهای خیلی قدیمی گذاشت.
یک بار روی یک پوشه کوچک تست، بعد کمکم روی دادههای مهم پیادهسازی شود و نسخههای مختلف امتحان شود. اگر بهدردتان خورد، اسکریپت خودتان را با بقیه لینوکسیها به اشتراک بگذارید. 🚀
🔖 #Linux #لینوکس #Linux #Bash #Shell #Backup #GNU/Linux #tar #cron
👤 Developix
💎 Channel: @DevelopixLinux
ایده ساده است: چند پوشه مهم (مثلاً ~/Documents و ~/Projects) را با `tar` فشرده کنیم، اسم فایل را بر اساس تاریخ بگذاریم، و در یک مسیر امن ذخیره کنیم. بعداً میتوان این اسکریپت را در `cron` یا `systemd timer` گذاشت تا خودکار اجرا شود.
این مثال با الهام از مستندات رسمی Bash و man pageهای `tar(1)` و `date(1)` نوشته شده (روی هر سیستم میشود با `man tar` و `help test` جزئیات بیشتر را دید).
✨ اسکریپت نمونه:
#!/usr/bin/env bash
set -euo pipefail
SOURCE_DIRS=("$HOME/Documents" "$HOME/Projects")
BACKUP_DIR="$HOME/backups"
DATE=$(date +"%Y-%m-%d_%H-%M-%S")
BACKUP_FILE="$BACKUP_DIR/home-backup-$DATE.tar.gz"
mkdir -p "$BACKUP_DIR"
for dir in "${SOURCE_DIRS[@]}"; do
if [[ ! -d "$dir" ]]; then
echo "هشدار: پوشه $dir پیدا نشد، رد میشود." >&2
fi
done
# ایجاد آرشیو فشرده
tar -czpf "$BACKUP_FILE" \
--exclude="$HOME/.cache" \
"${SOURCE_DIRS[@]}"
echo "بکاپ ساخته شد: $BACKUP_FILE"
چند نکته مهم از دل این اسکریپت:
• `set -euo pipefail` کمک میکند اسکریپت در صورت خطا فوراً متوقف شود و از باگهای عجیب جلوگیری میکند.
• از آرایه Bash برای لیست پوشهها استفاده شده؛ اضافه کردن مسیر جدید فقط با ویرایش `SOURCE_DIRS` انجام میشود.
• با `--exclude` جلوی بکاپ شدن چیزهای بیمصرف (مثل ~/.cache) گرفته میشود؛ این کار فضا و زمان را بهطرز محسوسی کم میکند.
برای استفاده عملی، فایل را مثلاً با نام `backup-home.sh` در `~/bin` ذخیره و executable کنید:
chmod +x ~/bin/backup-home.sh
بعد میشود با اضافه کردن یک entry ساده در `crontab`، این بکاپ را مثلاً هر شب اجرا کرد (`crontab -e` را ببینید، طبق مستندات `man 5 crontab`).
این اسکریپت پایه خوبی است برای ساختن یک سیستم بکاپ جدیتر: میشود log اضافه کرد، روی remote server با `ssh` کپی کرد، یا rotation برای پاک کردن بکاپهای خیلی قدیمی گذاشت.
یک بار روی یک پوشه کوچک تست، بعد کمکم روی دادههای مهم پیادهسازی شود و نسخههای مختلف امتحان شود. اگر بهدردتان خورد، اسکریپت خودتان را با بقیه لینوکسیها به اشتراک بگذارید. 🚀
🔖 #Linux #لینوکس #Linux #Bash #Shell #Backup #GNU/Linux #tar #cron
👤 Developix
💎 Channel: @DevelopixLinux
👍5
اگه همیشه چند تا ترمینال باز داری، بین ssh سرورها جابهجا میشی و هی پنجرهها گم میشن، tmux دقیقا همون چیزیه که زندگیت رو روی ترمینال راحتتر میکنه 😄
اینجا یه معرفی عملی و سریع از tmux بر اساس راهنمای رسمی:
https://github.com/tmux/tmux/wiki
🧱 tmux دقیقا چیه؟
tmux یه terminal multiplexerـه؛ یعنی توی یه ترمینال میتونی چند تا "پنجره" و "پن" (split) داشته باشی، سشنهات رو نگه داری، از ssh قطع بشی ولی پروسههات زنده بمونن.
مثلا یه سشن برای لاگها، یکی برای ویرایش config و یکی برای اجرای scriptها؛ همه زیر یه اتصال ssh که اگه قطع هم بشه، چیزی نمیپره 👌
🛠 نصب سریع روی توزیعهای مختلف
روی Debian/Ubuntu:
روی Fedora:
روی Arch:
بعد از نصب، فقط بزن:
و وارد اولین سشن خودت میشی.
📌 شروع کار: پنجره و پن (split)
کلید اصلی tmux اینه:
یعنی هر کاری میخوای بکنی، اول
چندتا چیز کاربردی روزمره:
• ساخت پن جدید افقی:
• ساخت پن عمودی:
• جابهجایی بین پنها با جهتها:
• ساخت پنجره (window) جدید:
• جابهجایی بین پنجرهها:
✨ یه مثال واقعی: مانیتور لاگ + ویرایش کانفیگ
سناریو کلاسیک sysadmin:
۱) با ssh وصل شو به سرور.
۲) tmux رو اجرا کن:
۳) پن رو عمودی split کن (بالا لاگ، پایین ویرایش):
بالا:
پایین: فایل کانفیگ nginx رو ویرایش کن:
همزمان لاگها رو live میبینی و config رو تغییر میدی، بدون نیاز به چند تا ترمینال جدا.
🔁 جدا شدن و دوباره وصل شدن به سشن
قلب ماجرا اینجاست. وسط کار اگه نت قطع بشه یا ssh ببنده، tmux سشنت زنده میمونه.
• جدا شدن (detach):
حالا میتونی ssh رو ببندی، بعدا که برگشتی:
همون جایی میای که کار رو رها کرده بودی، لاگ، vim، هرچی.
🧩 یه config ساده و مفید
اگه دوست داری کلید prefix رو مثل screen یا راحتتر کنی، مثلا
بعد tmux رو از داخلش با این دستور reload کن:
از اینجا به بعد، prefix میشه
⚠ چند نکته ریز ولی مهم
• اگه چند تا سشن داری، لیستشون:
• attach به یه سشن مشخص:
• ساخت سشن با اسم مشخص، مخصوصا برای هر پروژه:
🌱 جمعبندی
اگه زیاد با ssh، لاگها، build طولانی یا کارهای شبانهروزی روی سرور سروکله میزنی، tmux یکی از اون ابزارهاییه که بعد از یه مدت بدونش واقعا سخته کار کردن.
یه سشن ساده بساز، دو سه تا split试 کن و کمکم بذار عضوی از workflow روزمرهات بشه. بعدا هر ترفند جدیدی یاد گرفتی، به بقیه هم منتقل کن 🙌
🔖 #Linux #لینوکس #Linux #tmux #Terminal #Shell #Sysadmin #GNU/Linux
👤 Developix
💎 Channel: @DevelopixLinux
اینجا یه معرفی عملی و سریع از tmux بر اساس راهنمای رسمی:
https://github.com/tmux/tmux/wiki
🧱 tmux دقیقا چیه؟
tmux یه terminal multiplexerـه؛ یعنی توی یه ترمینال میتونی چند تا "پنجره" و "پن" (split) داشته باشی، سشنهات رو نگه داری، از ssh قطع بشی ولی پروسههات زنده بمونن.
مثلا یه سشن برای لاگها، یکی برای ویرایش config و یکی برای اجرای scriptها؛ همه زیر یه اتصال ssh که اگه قطع هم بشه، چیزی نمیپره 👌
🛠 نصب سریع روی توزیعهای مختلف
روی Debian/Ubuntu:
sudo apt update && sudo apt install tmux
روی Fedora:
sudo dnf install tmux
روی Arch:
sudo pacman -S tmux
بعد از نصب، فقط بزن:
tmux
و وارد اولین سشن خودت میشی.
📌 شروع کار: پنجره و پن (split)
کلید اصلی tmux اینه:
Ctrl+b = prefixیعنی هر کاری میخوای بکنی، اول
Ctrl+b، بعد دکمهی مورد نظر.چندتا چیز کاربردی روزمره:
• ساخت پن جدید افقی:
Ctrl+b بعد "• ساخت پن عمودی:
Ctrl+b بعد %• جابهجایی بین پنها با جهتها:
Ctrl+b + کلیدهای جهت (← ↑ → ↓)• ساخت پنجره (window) جدید:
Ctrl+b بعد c• جابهجایی بین پنجرهها:
Ctrl+b بعد n (بعدی) یا p (قبلی)✨ یه مثال واقعی: مانیتور لاگ + ویرایش کانفیگ
سناریو کلاسیک sysadmin:
۱) با ssh وصل شو به سرور.
۲) tmux رو اجرا کن:
tmux
۳) پن رو عمودی split کن (بالا لاگ، پایین ویرایش):
بالا:
journalctl -u nginx -f
پایین: فایل کانفیگ nginx رو ویرایش کن:
sudo vim /etc/nginx/nginx.conf
همزمان لاگها رو live میبینی و config رو تغییر میدی، بدون نیاز به چند تا ترمینال جدا.
🔁 جدا شدن و دوباره وصل شدن به سشن
قلب ماجرا اینجاست. وسط کار اگه نت قطع بشه یا ssh ببنده، tmux سشنت زنده میمونه.
• جدا شدن (detach):
Ctrl+b بعد dحالا میتونی ssh رو ببندی، بعدا که برگشتی:
tmux attach
همون جایی میای که کار رو رها کرده بودی، لاگ، vim، هرچی.
🧩 یه config ساده و مفید
اگه دوست داری کلید prefix رو مثل screen یا راحتتر کنی، مثلا
Ctrl+a، یه فایل ~/.tmux.conf بساز:set -g prefix C-a
unbind C-b
bind C-a send-prefix
بعد tmux رو از داخلش با این دستور reload کن:
tmux source-file ~/.tmux.conf
از اینجا به بعد، prefix میشه
Ctrl+a.⚠ چند نکته ریز ولی مهم
• اگه چند تا سشن داری، لیستشون:
tmux ls
• attach به یه سشن مشخص:
tmux attach -t mysession
• ساخت سشن با اسم مشخص، مخصوصا برای هر پروژه:
tmux new -s myproject
🌱 جمعبندی
اگه زیاد با ssh، لاگها، build طولانی یا کارهای شبانهروزی روی سرور سروکله میزنی، tmux یکی از اون ابزارهاییه که بعد از یه مدت بدونش واقعا سخته کار کردن.
یه سشن ساده بساز، دو سه تا split试 کن و کمکم بذار عضوی از workflow روزمرهات بشه. بعدا هر ترفند جدیدی یاد گرفتی، به بقیه هم منتقل کن 🙌
🔖 #Linux #لینوکس #Linux #tmux #Terminal #Shell #Sysadmin #GNU/Linux
👤 Developix
💎 Channel: @DevelopixLinux
🔥5
💠 نسخه جدید کرنل لینوکس (Linux) منتشر شده است
🔸 ارتقا از نسخه 7.0.12 به 7.1.0
🔹 لیست تغییرات این نسخه:
- اصلاح باگهای مهم KVM روی معماری arm64
- بهبود سازگاری و انطباق کنترلرهای USB SuperSpeed
- رفع مشکل دستگاههای شبح USB روی پورتهای دوحالته Tegra
- پایداری بهتر لینک QSGMII در PHYهای LAN8814
- افزایش ایمنی دسترسیهای PMBus/GPIO در درایور ADM1266
- بهبودهای ریز متعدد درایورها و زیرسیستمها و غیره
🔖 #linux, #linux, #release
💎 @DevelopixLinux
🔸 ارتقا از نسخه 7.0.12 به 7.1.0
🔹 لیست تغییرات این نسخه:
- اصلاح باگهای مهم KVM روی معماری arm64
- بهبود سازگاری و انطباق کنترلرهای USB SuperSpeed
- رفع مشکل دستگاههای شبح USB روی پورتهای دوحالته Tegra
- پایداری بهتر لینک QSGMII در PHYهای LAN8814
- افزایش ایمنی دسترسیهای PMBus/GPIO در درایور ADM1266
- بهبودهای ریز متعدد درایورها و زیرسیستمها و غیره
🔖 #linux, #linux, #release
💎 @DevelopixLinux
❤6🔥2👍1
Forwarded from Developix Support
This media is not supported in your browser
VIEW IN TELEGRAM
🏆آفرهای جام جهانی ۲۰۲۶ هاستایران فعال شد!
با کمپین «ترکیب برنده سایتت»، زیرساخت سایتت رو برای روزهای پرترافیک آماده کن:
🔥 ۲۵٪ تخفیف روی پلنهای ۳ ماهه هاست اشتراکی ایران
⚡ ۵۰٪ تخفیف روی پلنهای یکماهه سرویس ابری در دیتاسنترهای تهران، مشهد و اهواز
🧠 مشاوره رایگان زیرساخت توسط کارشناسان هاستایران
فرصت استفاده از تخفیفها و ثبت فرم مشاوره محدود است.
📌 برای کپی کدهای تخفیف و ثبتنام در فرم مشاوره، روی لینک زیر کلیک کنید:
📌صفحه فرم مشاوره
📌تلگرام هاستایران
📌بله هاستایران
#هاست_ایران #سرور_ابری_هاست_ایران #هاست_اشتراکی #دیتاسنتر #مشاوره_زیرساخت #جام_جهانی2026
با کمپین «ترکیب برنده سایتت»، زیرساخت سایتت رو برای روزهای پرترافیک آماده کن:
🔥 ۲۵٪ تخفیف روی پلنهای ۳ ماهه هاست اشتراکی ایران
⚡ ۵۰٪ تخفیف روی پلنهای یکماهه سرویس ابری در دیتاسنترهای تهران، مشهد و اهواز
🧠 مشاوره رایگان زیرساخت توسط کارشناسان هاستایران
فرصت استفاده از تخفیفها و ثبت فرم مشاوره محدود است.
📌 برای کپی کدهای تخفیف و ثبتنام در فرم مشاوره، روی لینک زیر کلیک کنید:
📌صفحه فرم مشاوره
📌تلگرام هاستایران
📌بله هاستایران
#هاست_ایران #سرور_ابری_هاست_ایران #هاست_اشتراکی #دیتاسنتر #مشاوره_زیرساخت #جام_جهانی2026
❤1
خیلی وقتها توی گنو/لینوکس لازم میشه یک کار تکراری رو روی چند تا فایل یا چند تا مقدار انجام بدیم؛ مثلا چند بار یک دستور رو با ورودیهای مختلف اجرا کنیم. اینجا یک ترفند خیلی ساده با حلقهٔ for و here-string توی Bash کمک بزرگی میکنه. 😎
فرض کن لازم باشه روی سه تا سرور یا سه تا فایل، یک دستور مشابه اجرا بشه؛ بهجای کپیپیست پشتسرهم:
یک الگوی خیلی کاربردی دیگه برای دستورهایی مثل
✨ این مدل حلقهها:
• خطاهای تایپی تکراری رو کم میکنن.
• اسکریپتهات رو قابلتغییر و قابلتوسعهتر میکنن.
امتحان روی یک کار کوچیک روزمره، خیلی زود عادت میشه و سرعت کار با ترمینال رو بالا میبره. 🚀
منبع: Bash Manual – Loops
🔖 #Linux #لینوکس #Linux #Bash #Shell #Loop #CLI #Scripting
👤 Developix
💎 Channel: @DevelopixLinux
فرض کن لازم باشه روی سه تا سرور یا سه تا فایل، یک دستور مشابه اجرا بشه؛ بهجای کپیپیست پشتسرهم:
for name in app1 app2 app3; do
echo "Building $name ..."
make "$name"
done
یک الگوی خیلی کاربردی دیگه برای دستورهایی مثل
ping یا ssh:while read host; do
echo "Checking $host ..."
ping -c 1 "$host" && echo OK
done <<EOF
server1
server2
server3
EOF
✨ این مدل حلقهها:
• خطاهای تایپی تکراری رو کم میکنن.
• اسکریپتهات رو قابلتغییر و قابلتوسعهتر میکنن.
امتحان روی یک کار کوچیک روزمره، خیلی زود عادت میشه و سرعت کار با ترمینال رو بالا میبره. 🚀
منبع: Bash Manual – Loops
🔖 #Linux #لینوکس #Linux #Bash #Shell #Loop #CLI #Scripting
👤 Developix
💎 Channel: @DevelopixLinux
🔥4❤3
🧲 فیلتر کردن خروجیهای شلوغ با grep و less
خیلی وقتها خروجی یه دستور توی ترمینال انقدر زیاده که پیدا کردن چیز موردنظر عذاب میشه. یه ترکیب ساده با
✨ ایده: خروجی رو همزمان هم فیلتر کن، هم قابل اسکرول نگه دار.
مثال کاربردی برای دیدن فقط خطهای مربوط به error توی dmesg:
یا دیباگ سریع لاگ nginx:
🔍 نکات مهم:
-
-
-
این ترکیب توی لاگخوانی، دیباگ سریع و مانیتورینگ لحظهای خیلی کمک میکنه. دفعهٔ بعد که با یه خروجی چندصدخطی روبهرو شدی، فقط آروم پایپها رو بچین و تمرکز رو بذار روی همون چیزی که مهمه 🧪
🔗 مرجع: man grep
🔖 #Linux #لینوکس #linux #terminal #grep #less #logs #debugging #shell
👤 Developix
💎 Channel: @DevelopixLinux
خیلی وقتها خروجی یه دستور توی ترمینال انقدر زیاده که پیدا کردن چیز موردنظر عذاب میشه. یه ترکیب ساده با
grep و less هم سرعت میده هم چشم رو خسته نمیکنه 😄✨ ایده: خروجی رو همزمان هم فیلتر کن، هم قابل اسکرول نگه دار.
مثال کاربردی برای دیدن فقط خطهای مربوط به error توی dmesg:
dmesg | grep -i "error" | less -R
یا دیباگ سریع لاگ nginx:
sudo tail -f /var/log/nginx/error.log | grep --line-buffered 500
🔍 نکات مهم:
-
-i توی grep یعنی case-insensitive بودن.-
--line-buffered باعث میشه خروجی استریم مثل tail -f با تاخیر نیاد.-
less -R رنگها (ANSI colors) رو حفظ میکنه.این ترکیب توی لاگخوانی، دیباگ سریع و مانیتورینگ لحظهای خیلی کمک میکنه. دفعهٔ بعد که با یه خروجی چندصدخطی روبهرو شدی، فقط آروم پایپها رو بچین و تمرکز رو بذار روی همون چیزی که مهمه 🧪
🔗 مرجع: man grep
🔖 #Linux #لینوکس #linux #terminal #grep #less #logs #debugging #shell
👤 Developix
💎 Channel: @DevelopixLinux
👍8
💠 نسخه جدید توزیع دبیان (Debian) منتشر شده است
🔸 ارتقا از نسخه 13.5.0 به 13.6.0
🔖 #debian, #linux, #release
💎 @DevelopixLinux
🔸 ارتقا از نسخه 13.5.0 به 13.6.0
🔖 #debian, #linux, #release
💎 @DevelopixLinux
❤7🔥2👍1
Forwarded from Developix Support
با Migration Boost هاستایران، برای مهاجرت به سرور ابری دوباره هزینه ترافیک نده! 🚀
با خرید اولین سرور ابری غیرساعتی از **هاستایران**، بسته ترافیک هدیه مهاجرت بهصورت خودکار برای سرویس شما فعال میشود:
✅ حداقل ۱۰۰ گیگابایت ترافیک هدیه مهاجرت
✅ افزایش حجم هدیه متناسب با ظرفیت دیسک اولیه
✅ ترافیک آپلود رایگان
✅ بدون محدودیت زمانی
سرور ابری هاستایران را راهاندازی کنید و بکاپها، فایلها و پایگاه داده خود را بدون دغدغه هزینههای پنهان ترافیک منتقل کنید.
👇 مشاهده پلنهای سرور ابری هاستایران
hostiran.club/Migration
hostiran.club/Migration
با خرید اولین سرور ابری غیرساعتی از **هاستایران**، بسته ترافیک هدیه مهاجرت بهصورت خودکار برای سرویس شما فعال میشود:
✅ حداقل ۱۰۰ گیگابایت ترافیک هدیه مهاجرت
✅ افزایش حجم هدیه متناسب با ظرفیت دیسک اولیه
✅ ترافیک آپلود رایگان
✅ بدون محدودیت زمانی
سرور ابری هاستایران را راهاندازی کنید و بکاپها، فایلها و پایگاه داده خود را بدون دغدغه هزینههای پنهان ترافیک منتقل کنید.
👇 مشاهده پلنهای سرور ابری هاستایران
hostiran.club/Migration
hostiran.club/Migration
Forwarded from Developix Support
🗺 نقشه گنج | بهترین مسیرهای یادگیری بعد از +Network
دوره +Network فقط شروع مسیره؛ اما سوال خیلیها بعد از گذروندن این دوره اینه که:
حالا کدوم مسیر رو ادامه بدم؟ 🤔
شبکه؟ امنیت؟ سرور؟ لینوکس؟ Cloud؟ DevOps؟
در ایونت آنلاین روز یکشنبه بررسی میکنیم:
🔹 بعد از +Network چه مسیرهایی پیش روی توئه
🔹 هر مسیر برای چه افرادی مناسبتره
🔹 برای ورود به هر حوزه چه مهارتهایی لازمه
پس اگر بعد از +Network نمیدونی قدم بعدی چیه، این ایونت میتونه مسیرت رو روشنتر کنه!📍
📅11 مرداد | ساعت 19:30
💻 آنلاین و رایگان
👤با استاد حسامالدین موسویزاده
برای شرکت در ایونت جزو اولین نفرات رزرو کن:
(بدون VPN وارد شو)
🔗https://l.cando.ac/ev-net101
🌻 آموزشگاه مهندسی کندو | We CanDo IT
@cando_ac
دوره +Network فقط شروع مسیره؛ اما سوال خیلیها بعد از گذروندن این دوره اینه که:
حالا کدوم مسیر رو ادامه بدم؟ 🤔
شبکه؟ امنیت؟ سرور؟ لینوکس؟ Cloud؟ DevOps؟
در ایونت آنلاین روز یکشنبه بررسی میکنیم:
🔹 بعد از +Network چه مسیرهایی پیش روی توئه
🔹 هر مسیر برای چه افرادی مناسبتره
🔹 برای ورود به هر حوزه چه مهارتهایی لازمه
پس اگر بعد از +Network نمیدونی قدم بعدی چیه، این ایونت میتونه مسیرت رو روشنتر کنه!📍
📅11 مرداد | ساعت 19:30
💻 آنلاین و رایگان
👤با استاد حسامالدین موسویزاده
برای شرکت در ایونت جزو اولین نفرات رزرو کن:
(بدون VPN وارد شو)
🔗https://l.cando.ac/ev-net101
🌻 آموزشگاه مهندسی کندو | We CanDo IT
@cando_ac
❤3
روی سرور یا سیستم شخصی ناگهان همهچیز کند میشود، فنها جیغ میزنند و فقط یک سوال توی ذهن میچرخد: «چی داره اینهمه CPU و Disk میخوره؟» 🤯
دو تا ابزار ساده و خیلی کاربردی برای همین موقعها هست: htop و iotop. نسخهٔ ارتقایافتهٔ
۱️⃣ نصب روی توزیعهای مختلف
Debian/Ubuntu:
Fedora:
Arch:
۲️⃣ htop: دید سریع از پردازهها و منابع ⚙️
با اجرای سادهٔ
• نوارهای رنگی بالای صفحه: مصرف CPU، RAM، Swap بهصورت ریلتایم.
• لیست پردازهها با رنگبندی: پروسههای پرمصرف سریع به چشم میآیند.
چند کلید خیلی کاربردی:
• F6 برای تغییر sort (مثلاً بر اساس %CPU یا %MEM).
• F3 برای جستوجوی نام پروسه (مثلاً «firefox»).
• F9 برای ارسال سیگنال (مثلاً KILL) به پروسهای که گیر کرده.
یه ترفند خوب: وقتی سیستم کند میشه، htop رو باز کن و sort رو بذار روی %CPU یا TIME+ تا ببینی کدوم سرویس از صبح تا حالا داره میجوه و ول نمیکنه 🙂
۳️⃣ iotop: وقتی مشکل از دیسکه، نه CPU 💽
خیلی وقتها CPU بیکاره ولی سیستم لَگ داره؛ معمولاً مشکل از I/O دیسکه.
با این دستور میتونی پردازههایی که دیسک رو له کردهاند ببینی:
• سوییچ
• سوییچ
ستونهای مهم:
• DISK READ و DISK WRITE: سرعت خوندن/نوشتن هر پروسه.
• SWAPIN: اگر این بالا باشه یعنی سیستم داره زیاد swap میکنه و احتمالاً RAM کمه.
۴️⃣ یک سناریوی واقعی: پیدا کردن سرویس دردسرساز 🔍
فرض کن روی یک سرور
1. با
2. همزمان با
3. اگر لازم شد، با
۵️⃣ مستندات رسمی برای کندوکاو بیشتر 📚
man pageها همیشه دوستت هستن:
برای جزئیات کاملتر htop میتونی به پروژهٔ اصلیش هم سر بزنی:
htop.dev
در اولین فرصت که سیستم یه کم سنگین شد، این دو تا ابزار رو اجرا کن و چند دقیقه باهاشون بازی کن؛ بعد از یکی دو بار استفاده، تبدیل میشن به اولین چیزی که در هر کندی سیستم سراغش میری 🚀
🔖 #Linux #لینوکس #Linux #htop #iotop #Monitoring #Sysadmin #CLI #GNU/Linux
👤 Developix
💎 Channel: @DevelopixLinux
دو تا ابزار ساده و خیلی کاربردی برای همین موقعها هست: htop و iotop. نسخهٔ ارتقایافتهٔ
top و یک مانیتور قشنگ برای I/O دیسک.۱️⃣ نصب روی توزیعهای مختلف
Debian/Ubuntu:
sudo apt update
sudo apt install htop iotop
Fedora:
sudo dnf install htop iotop
Arch:
sudo pacman -S htop iotop
۲️⃣ htop: دید سریع از پردازهها و منابع ⚙️
با اجرای سادهٔ
htop یک نمای رنگی و زنده از سیستم میبینی:• نوارهای رنگی بالای صفحه: مصرف CPU، RAM، Swap بهصورت ریلتایم.
• لیست پردازهها با رنگبندی: پروسههای پرمصرف سریع به چشم میآیند.
چند کلید خیلی کاربردی:
• F6 برای تغییر sort (مثلاً بر اساس %CPU یا %MEM).
• F3 برای جستوجوی نام پروسه (مثلاً «firefox»).
• F9 برای ارسال سیگنال (مثلاً KILL) به پروسهای که گیر کرده.
یه ترفند خوب: وقتی سیستم کند میشه، htop رو باز کن و sort رو بذار روی %CPU یا TIME+ تا ببینی کدوم سرویس از صبح تا حالا داره میجوه و ول نمیکنه 🙂
۳️⃣ iotop: وقتی مشکل از دیسکه، نه CPU 💽
خیلی وقتها CPU بیکاره ولی سیستم لَگ داره؛ معمولاً مشکل از I/O دیسکه.
با این دستور میتونی پردازههایی که دیسک رو له کردهاند ببینی:
sudo iotop -o -P
• سوییچ
-o فقط پردازههایی رو که واقعاً الان I/O دارن نشون میده (خروجی تمیزتر).• سوییچ
-P نمایش per-process (بهجای per-thread) رو فعال میکنه.ستونهای مهم:
• DISK READ و DISK WRITE: سرعت خوندن/نوشتن هر پروسه.
• SWAPIN: اگر این بالا باشه یعنی سیستم داره زیاد swap میکنه و احتمالاً RAM کمه.
۴️⃣ یک سناریوی واقعی: پیدا کردن سرویس دردسرساز 🔍
فرض کن روی یک سرور
backup شبانه فعال شده و صبح سرور افتضاح کند شده. کاری که معمولاً انجام میشه:1. با
htop نگاه میکنی ببینی CPU رو کی میخوره (مثلاً یک tar یا gzip سنگین).2. همزمان با
sudo iotop -o -P چک میکنی کدوم پروسه دیسک رو ۱۰۰٪ گرفته (مثلاً یک اسکریپت backup اشتباه کانفیگ شده).3. اگر لازم شد، با
F9 در htop بهصورت کنترلشده kill میکنی و بعد سر فرصت اسکریپت رو اصلاح میکنی.۵️⃣ مستندات رسمی برای کندوکاو بیشتر 📚
man pageها همیشه دوستت هستن:
man htop
man iotop
برای جزئیات کاملتر htop میتونی به پروژهٔ اصلیش هم سر بزنی:
htop.dev
در اولین فرصت که سیستم یه کم سنگین شد، این دو تا ابزار رو اجرا کن و چند دقیقه باهاشون بازی کن؛ بعد از یکی دو بار استفاده، تبدیل میشن به اولین چیزی که در هر کندی سیستم سراغش میری 🚀
🔖 #Linux #لینوکس #Linux #htop #iotop #Monitoring #Sysadmin #CLI #GNU/Linux
👤 Developix
💎 Channel: @DevelopixLinux
👍6