همهی دستورهای دورهی مبانی کامپیوتر و اینترنت در یک صفحه: ۱۳۰ دستور از ۱۶ درس، به ترتیب درسها. هر دستور در درس خودش با خروجی واقعی اجرا و توضیح داده شده است؛ روی اسم درس بزن تا توضیح کامل و مثالها را ببینی.
کامپیوتر از درون
چطور با 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 addr | IPهای این کامپیوتر |
ip route | دروازهی پیشفرض و مسیرها |
ping -c 3 192.168.1.1 | آزمایش رسیدن به مقصد |
curl -s https://ifconfig.me | IP عمومی |
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 / 5432 | SSH / DNS / HTTP / HTTPS / PostgreSQL |
0.0.0.0 در برابر 127.0.0.1 | همهجا در برابر فقط داخل |
DNS: اسم به آدرس
| دستور | کاری که میکند |
|---|---|
dig +short example.com | IP یک اسم |
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 |
VPS | Ubuntu خالی با root؛ دورههای این سایت |
IaaS / PaaS / SaaS | زیرساخت / سکو / نرمافزار |
region نزدیک کاربر | تأخیر کمتر |
دامنه + DNS + HTTPS + بکاپ | چیزهایی که کنار سرور لازم است |
رمز عبور، هش و رمزنگاری
| دستور | کاری که میکند |
|---|---|
sha256sum file | هش فایل |
sha256sum -c SHA256SUMS | بررسی دانلود |
openssl passwd -6 'pass' | هش نمکدار به قالب لینوکس |
$6$salt$hash / $y$... | قالب هش در /etc/shadow |
base64 / base64 -d | encoding، نه امنیت |
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 | مشکل درخواست / مشکل سرور |
دستوری با این عبارت پیدا نشد.