رفتن به محتوا

دستورات مبانی کامپیوتر: برگه‌ی تقلب

همه‌ی دستورهای دوره‌ی مبانی کامپیوتر و اینترنت در یک صفحه: ۱۳۰ دستور از ۱۶ درس، به ترتیب درس‌ها. هر دستور در درس خودش با خروجی واقعی اجرا و توضیح داده شده است؛ روی اسم درس بزن تا توضیح کامل و مثال‌ها را ببینی.

کامپیوتر از درون

چطور با LoopX یاد بگیری

دستورکاری که می‌کند
No such file or directoryپیدا نشد: اسم و پوشه را بررسی کن
Permission deniedاجازه نداری: صاحب فایل؟ sudo؟
command not foundغلط تایپی یا نصب نیست
syntax errorعلامت‌ها و فاصله‌ها
Connection refusedکسی روی پورت گوش نمی‌دهد
Connection timed outجوابی نیامد: آدرس، شبکه، فایروال
سؤال خوبهدف + دستور + خروجی متنی + آزمایش‌ها

کامپیوتر از چه ساخته شده؟

دستورکاری که می‌کند
lscpuمشخصات پردازنده
nprocتعداد هسته‌های در دسترس
free -hوضعیت RAM (به ستون available نگاه کن)
lsblkفهرست دیسک‌ها و پارتیشن‌ها
df -hهر محل چقدر پر است
dd if=/dev/zero of=FILE bs=1M count=32نوشتن ۳۲ مگابایت برای سنجیدن سرعت

بیت، بایت و اعداد باینری

دستورکاری که می‌کند
python3 -c "print(bin(13), hex(255))"عدد به باینری و هگز
python3 -c "print(int('1101', 2))"باینری به ده‌دهی
echo $((2#1101))باینری به ده‌دهی در bash
printf '%x\n' 255ده‌دهی به هگز در bash
printf 'Hi' | xxd -bبایت‌های یک متن، باینری
printf 'Hi' | xxdبایت‌های یک متن، هگز
numfmt --to=iec-i 1048576بایت به واحد IEC (۱٫۰Mi)
numfmt --to=si 1000000بایت به واحد SI (۱٫۰M)

متن در کامپیوتر: ASCII و UTF-8

دستورکاری که می‌کند
xxd fileبایت‌های واقعی فایل به هگز
printf 'سلام' | xxdبایت‌های یک متن
wc -c fileتعداد بایت
wc -m fileتعداد حرف (به شرط locale ِ UTF-8)
file fileنوع و encoding تقریبی فایل
iconv -f CP1256 -t UTF-8 in > outتبدیل encoding فایل
python3 -c "print(ord('A'), chr(65))"شماره‌ی حرف و برعکس
"str".encode('utf-8').hex()بایت‌های یک متن در پایتون

صفحه‌کلید و نمادها برای کار با ترمینال

دستورکاری که می‌کند
~تیلدا: پوشه‌ی خانه
/اسلش: جداکننده‌ی مسیر در لینوکس
|پایپ: خروجی به دستور بعدی
$دلار: مقدار متغیر
*ستاره: هر چیزی
' و "کوتیشن تکی و دوتایی (صاف، نه کج)
Win+Space / Ctrl+Spaceعوض کردن زبان صفحه‌کلید
echo -n "x" | od -An -tx1دیدن بایت‌های واقعی یک کاراکتر

فایل، پوشه و مسیر

دستورکاری که می‌کند
pwdمسیر مطلق پوشه‌ی فعلی
lsمحتوای پوشه‌ی فعلی
ls -aهمراه فایل‌های پنهان
tree -aدرخت پوشه‌ها با فایل‌های پنهان
cd ../jsرفتن به پوشه‌ی js کنار پوشه‌ی فعلی
cat pathچاپ محتوای یک فایل متنی
file pathنوع واقعی فایل (از روی محتوا)
stat pathاندازه و زمان و اطلاعات فایل
find . -name '*.css'پیدا کردن فایل با اسم
ls -i pathشماره‌ی inode فایل

سیستم‌عامل و برنامه‌های در حال اجرا

دستورکاری که می‌کند
whoamiکاربر فعلی
idشماره و گروه‌های کاربر
uname -rنسخه‌ی هسته
uptimeمدت روشن بودن و load average
ps -eo pid,ppid,user,%mem,rss,commفهرست پروسه‌ها با ستون دلخواه
top -b -n 1 -o %CPUعکس از وضعیت، مرتب بر اساس CPU
sleep 300 &اجرای برنامه در پس‌زمینه
pgrep -u ali sleepپیدا کردن PID بر اساس اسم
kill PIDبستن پروسه
pkill -u ali yesبستن همه‌ی پروسه‌های خودت با این اسم
strace -e trace=openat cmdدیدن فایل‌هایی که برنامه باز می‌کند

اینترنت چطور کار می‌کند

شبکه و آدرس IP

دستورکاری که می‌کند
ip -br addrIPهای این کامپیوتر
ip routeدروازه‌ی پیش‌فرض و مسیرها
ping -c 3 192.168.1.1آزمایش رسیدن به مقصد
curl -s https://ifconfig.meIP عمومی
getent hosts localhostآدرس localhost
192.168.x.x / 10.x.x.x / 172.16-31.x.xبازه‌های خصوصی
/24 = 255.255.255.0۲۵۶ آدرس
127.0.0.1خود همین کامپیوتر

پورت، پروتکل و بسته‌ها

دستورکاری که می‌کند
nc -l 127.0.0.1 9000گوش دادن (سرور)
nc 127.0.0.1 9000وصل شدن (کلاینت)
nc -zv host 22آیا پورت باز است؟
nc -u -l 127.0.0.1 9005گوش دادن UDP
ss -tlnپورت‌های TCP در حال گوش دادن
grep -w ssh /etc/servicesپورت یک سرویس
22 / 53 / 80 / 443 / 5432SSH / DNS / HTTP / HTTPS / PostgreSQL
0.0.0.0 در برابر 127.0.0.1همه‌جا در برابر فقط داخل

DNS: اسم به آدرس

دستورکاری که می‌کند
dig +short example.comIP یک اسم
dig example.comجواب کامل، TTL، سرور
dig +short MX gmail.comسرور ایمیل
dig @1.1.1.1 example.comپرسیدن از resolver دیگر
dig +trace example.comدنبال کردن از ریشه
getent hosts nameجواب سیستم‌عامل
/etc/hostsدفترچه‌ی محلی، قبل از DNS
NXDOMAIN / SERVFAILاسم نیست / resolver مشکل دارد

وب و HTTP

دستورکاری که می‌کند
curl -v URLدرخواست و پاسخ کامل
curl -I URLفقط هدرها
curl -L URLدنبال کردن ریدایرکت
curl -s -o /dev/null -w "%{http_code}\n" URLفقط کد وضعیت
curl -X POST -d "a=1" URLفرستادن فرم
curl -H 'Content-Type: application/json' -d '{...}' URLفرستادن JSON
curl -c jar -b jar URLنگه داشتن کوکی
F12 → Networkدیدن درخواست‌ها در مرورگر

کلاینت و سرور

دستورکاری که می‌کند
python3 -m http.server 8000وب‌سرور آزمایشی
... --bind 127.0.0.1فقط برای همین کامپیوتر
curl -s http://localhost:8000/گرفتن صفحه
curl -s -o /dev/null -w "%{http_code}\n" URLفقط کد پاسخ
Ctrl+Cخاموش کردن سرور
Address already in useپورت گرفته شده
Couldn't connect to serverسرور روشن نیست
http://IP-لپ‌تاپ:8000باز کردن از گوشی در همان شبکه

سرور، ابر و امنیت پایه

سرور، دیتاسنتر و ابر

دستورکاری که می‌کند
lscpu | grep Hypervisorآیا روی VM هستم؟
systemd-detect-virtنوع ماشین (kvm، wsl، none، ...)
ssh root@IPاولین ورود به VPS
هاست اشتراکیسایت ساده، بدون root
VPSUbuntu خالی با root؛ دوره‌های این سایت
IaaS / PaaS / SaaSزیرساخت / سکو / نرم‌افزار
region نزدیک کاربرتأخیر کمتر
دامنه + DNS + HTTPS + بکاپچیزهایی که کنار سرور لازم است

رمز عبور، هش و رمزنگاری

دستورکاری که می‌کند
sha256sum fileهش فایل
sha256sum -c SHA256SUMSبررسی دانلود
openssl passwd -6 'pass'هش نمک‌دار به قالب لینوکس
$6$salt$hash / $y$...قالب هش در /etc/shadow
base64 / base64 -dencoding، نه امنیت
openssl enc -aes-256-cbc -pbkdf2 -in f -out f.encرمزنگاری فایل
openssl enc -d -aes-256-cbc -pbkdf2 -in f.encباز کردن فایل
طول > پیچیدگیقانون رمز قوی

HTTPS و گواهی، ساده

دستورکاری که می‌کند
curl -v https://siteدیدن دست‌دادن TLS و گواهی
openssl x509 -in c.crt -noout -subject -issuer -datesخواندن گواهی
openssl s_client -connect host:443 -servername hostگواهی یک سایت واقعی
openssl verify -CAfile ca.crt c.crtبررسی زنجیره
openssl x509 -in c.crt -noout -checkend 2592000انقضا تا ۳۰ روز دیگر؟
curl --cacert ca.crtاعتماد به CA مشخص
curl -kخاموش کردن بررسی (فقط آزمایش)
/etc/ssl/certsگواهی‌های ریشه‌ی سیستم

پروژه: ردپای یک درخواست

دستورکاری که می‌کند
getent hosts nameمرحله‌ی ۱: اسم ← IP
nc -zv host portمرحله‌ی ۲: پورت باز است؟
curl -v --cacert ca.crt https://...مرحله‌ی ۳ و ۴: TLS و HTTP
curl -w "%{time_connect} %{time_appconnect} %{time_starttransfer}"زمان هر مرحله
curl -O URLدانلود با همان اسم
sha256sum -c SHA256SUMSبررسی سلامت دانلود
curl exit 6 / 7 / 60 / 28اسم / اتصال / گواهی / timeout
4xx / 5xxمشکل درخواست / مشکل سرور