پرش به محتویات

۱۹. برگه تقلب فرمان‌ها

مرجع یک‌نگاهی. برای هر مورد توضیح و هشدار، به فصل مربوط مراجعه کنید. در کادر زیر تایپ کنید تا فقط بخش‌های مرتبط بماند (مثلاً docker، پورت، journalctl).

سلامت سیستم

date; uptime; hostnamectl
free -h
df -hT
df -ih
lsblk -f
systemctl --failed
cat /proc/pressure/{cpu,memory,io}

شبکه

ip -br a
ip route
ip route get 1.1.1.1
getent hosts example.com
dig +short example.com
ss -lntup
ss -s
nc -vz HOST PORT
curl -I https://example.com
curl -sS -o /dev/null -w 'dns:%{time_namelookup} tcp:%{time_connect} tls:%{time_appconnect} ttfb:%{time_starttransfer}\n' URL
mtr -rwzc 10 HOST

سرویس و لاگ

systemctl status SERVICE
systemctl cat SERVICE
sudo systemctl reload SERVICE
sudo systemctl restart SERVICE
sudo systemctl reset-failed SERVICE
journalctl -u SERVICE --since today
journalctl -u SERVICE -f
journalctl -xeu SERVICE
journalctl -p err -b
journalctl -b -1 -e
dmesg -T | tail

فایل‌ها

find /path -type f -name '*.log'
find /path -type f -size +100M -xdev
grep -Rni 'error' /path
du -xhd1 /path | sort -h
stat FILE
tail -F FILE
lsof +L1

کاربر و مجوز

id USER
getent passwd USER
sudo -l
ls -la
namei -l /full/path
getfacl FILE
last -a | head
sudo lastb | head

Docker

docker ps -a
docker logs --tail 100 CONTAINER
docker stats --no-stream
docker compose ps
docker compose logs -f --tail=100
docker system df
docker inspect -f '{{.State.OOMKilled}} {{.State.ExitCode}}' CONTAINER

آرشیو و بررسی صحت

tar -czf archive.tar.gz DIR
tar -tzf archive.tar.gz
tar -xzf archive.tar.gz -C /dest
sha256sum FILE
rsync -aHAXn SRC/ DEST/

بسته‌ها (میان‌توزیعی)

کار Debian / Ubuntu RHEL / Rocky
به‌روزرسانی فهرست apt update dnf check-update
ارتقا apt upgrade dnf upgrade
نصب / حذف apt install / apt remove dnf install / dnf remove
این فایل از کدام بسته؟ dpkg -S /path rpm -qf /path
فایل‌های بسته dpkg -L pkg rpm -ql pkg
نسخه‌ها / مخزن apt-cache policy pkg dnf info pkg
قفل نسخه apt-mark hold pkg dnf versionlock add pkg

مجوز عددی

عدد معنی مثال
7 rwx
6 rw-
5 r-x
4 r--
600 / 640 / 644 کلید-رمز / فایل گروهی / عمومی chmod 640 app.conf
700 / 750 / 755 پوشهٔ خصوصی / گروهی / عمومی chmod 700 ~/.ssh
4755 / 2775 / 1777 setuid / setgid dir / sticky dir /tmp

سیگنال‌ها و کد خروج

سیگنال عدد معنی
HUP 1 بازخوانی تنظیمات / قطع ترمینال
INT 2 Ctrl+C
TERM 15 خاتمهٔ منظم (پیش‌فرض)
KILL 9 کشتن اجباری
STOP / CONT 19 / 18 توقف / ادامه
کد خروج معنی
0 موفق
1 / 2 خطای عمومی / استفادهٔ نادرست از دستور
126 / 127 اجرا نشد (مجوز) / فرمان پیدا نشد
130 Ctrl+C
137 / 143 KILL یا OOM (128+9) / TERM (128+15)

cron

┌ دقیقه (0-59)
│ ┌ ساعت (0-23)
│ │ ┌ روز ماه (1-31)
│ │ │ ┌ ماه (1-12)
│ │ │ │ ┌ روز هفته (0-7؛ 0 و 7 = یکشنبه)
* * * * *  فرمان        # % باید \% شود

کدهای HTTP پرتکرار

کد معنی کد معنی
200 موفق 403 ممنوع
301/302 redirect 404 پیدا نشد
401 احراز هویت لازم 502 backend نامعتبر
429 تعداد زیاد درخواست 504 backend دیر جواب داد

tmux و vim

کار کلید
جدا شدن از tmux Ctrl+B سپس D
پنجرهٔ جدید / بعدی Ctrl+B سپس C / N
تقسیم افقی / عمودی Ctrl+B سپس ++percent++ یا ++quote++
vim: ذخیره و خروج Esc سپس :wq
vim: خروج بدون ذخیره Esc سپس :q!

الگوی عیب‌یابی عمومی

  1. Scope: چه میزبان/سرویس/کاربرانی درگیرند؟
  2. Time: مشکل از چه زمانی شروع شده؟
  3. Evidence: status، لاگ، منابع، شبکه.
  4. Change: آخرین تغییر قابل‌ربط چه بوده؟
  5. Mitigation: کم‌خطرترین اقدام برای بازگرداندن سرویس.
  6. Verification: آزمون کاربردی و بررسی لاگ پس از رفع.
  7. Postmortem: علت، اقدام پیشگیرانه و مالک پیگیری.

جست‌وجو در خود کتابچه (روی کلون Git)

grep -Rni --include='*.md' 'عبارت' docs/
grep -Rni --include='*.md' 'journalctl' docs/

فرمان‌هایی که باید با احتیاط ویژه اجرا شوند

فرمان مخرب چرا جایگزین/محافظ امن‌تر
rm -rf بی‌برگشت ls/find -print اول؛ "${VAR:?}"
dd / mkfs / wipefs بازنویسی دیسک lsblk -o NAME,SERIAL,MOUNTPOINTS و تطبیق
fdisk / parted / pvcreate / vgremove / lvremove تغییر ساختار دیسک بکاپ/snapshot؛ اول فقط‌خواندنی (pvs/lvs)
iptables -F / nft flush ruleset قطع دسترسی و قوانین Docker nft -c -f + «برگرداننده» با at
docker system prune -a --volumes / compose down -v حذف داده volume docker system df ؛ بکاپ volume
rsync --delete حذف از مقصد --dry-run ؛ بررسی mount
chmod -R / chown -R تغییر گستردهٔ مجوز مسیر را با pwd/ls ببینید؛ روی / هرگز
kill -9 / pkill -f کشتن بدون تمیزکاری / الگوی گسترده TERM اول؛ pgrep -af قبل از pkill
crontab -r حذف همهٔ cron crontab -l > backup ؛ -ri
userdel -r حذف خانگی بکاپ؛ find -user
setenforce 0 / ufw disable برداشتن لایهٔ دفاع فقط موقت و برای تشخیص

پیش از اجرا: دستگاه/مسیر را دوباره بررسی کنید، پشتیبان و روش بازگشت داشته باشید و روی سیستم تولیدی تأیید تغییر بگیرید.