🐧 خط فرمان لینوکس

Multilingual DevOps cheat sheet: Linux, Docker, Git, Kubernetes, Helm, Terraform, practical scenarios & templates.
منتشرشده

August 31, 2025

دستورات پایه و پیشرفته برای ناوبری، فایل‌ها، پردازش‌ها، شبکه، پایش، بسته‌ها و خودکارسازی. مناسب برای جریان‌های کاری DevOps.

🔹 دستورات پایه

دستور

مثال

توضیح

cat نمایش محتوای فایل یا الحاق چندین فایل
cat file.txt

نمایش محتوای فایل

cat file1 file2

الحاق و خروجی گرفتن از دو فایل

cat file1 file2 > merged.txt

الحاق فایل‌ها و ذخیره در یک فایل جدید

cd تغییر شاخه کاری فعلی
cd /etc

رفتن به مسیر مطلق /etc

cd ~

رفتن به شاخه خانه

cd ..

حرکت یک سطح بالاتر

cd -

بازگشت به شاخه قبلی

clear پاک کردن صفحه ترمینال
cp کپی کردن فایل‌ها و شاخه‌ها
cp file1.txt file2.txt

کپی یک فایل با نام جدید

cp -r dir1 dir2

کپی بازگشتی یک شاخه

cp -i file.txt /tmp/

کپی با تأیید قبل از بازنویسی

echo چاپ یک رشته یا متغیر محیطی
echo "Hello, World!"

چاپ یک رشته ساده

echo $HOME

نمایش مسیر شاخه خانه

echo -e "1\t2\n3"

تفسیر دنباله‌های کنترلی ( )

history نمایش تاریخچه دستورات
id نمایش UID، GID و گروه‌های کاربر جاری
ls لیست فایل‌ها و شاخه‌ها
ls -l

لیست طولانی با مجوزها و مالکین

ls -a

نمایش فایل‌های مخفی

ls -lh

اندازه‌ها به‌صورت خوانا برای انسان

mkdir ایجاد شاخه‌ها
mkdir folder

ایجاد یک شاخه

mkdir -p a/b/c

ایجاد شاخه‌های تو در تو

mkdir dir{1,2,3}

ایجاد چند شاخه همزمان

mv جابجایی یا تغییر نام فایل/شاخه
mv oldname.txt newname.txt

تغییر نام یک فایل

mv file.txt /path/to/dir/

جابجایی فایل به شاخه دیگر

mv *.txt archive/

جابجایی همه فایل‌های .txt به پوشه archive

pwd نمایش شاخه کاری فعلی
pwd -P

نمایش مسیر فیزیکی (بدون لینک‌های نمادین)

cd /tmp && pwd

نمایش مسیر بعد از تغییر به /tmp

rm حذف فایل‌ها یا شاخه‌ها
rm file.txt

حذف یک فایل

rm -i file.txt

حذف یک فایل با تأیید

rm -r folder/

حذف بازگشتی یک شاخه

rm -rf folder/

حذف اجباری بدون تأیید

rmdir حذف یک شاخه خالی
rmdir emptydir

حذف شاخه emptydir

touch ایجاد فایل خالی یا بروزرسانی زمان تغییر
touch newfile.txt

ایجاد یک فایل خالی جدید اگر وجود نداشته باشد

touch a b c

ایجاد چند فایل همزمان

touch -c file.txt

بروزرسانی زمان بدون ایجاد فایل در صورت عدم وجود

whereis یافتن باینری، سورس و صفحات راهنمای یک دستور
whereis ls

یافتن مکان‌های ls

whereis bash

نمایش مسیرهای باینری و مستندات Bash

whereis -b bash

جستجو فقط برای باینری

which نمایش مسیر اجرایی یک دستور
which python3

مسیر python3

which grep

مسیر grep

which --skip-alias ls

نادیده گرفتن نام‌های مستعار هنگام جستجو

whoami نمایش نام کاربر جاری

🔸 سطح متوسط

دستور

مثال

توضیح

chmod تغییر مجوز فایل یا شاخه
chmod 755 file

تنظیم مجوزها با یادداشت هشت‌هشتی (مثلاً 755)

chmod +x script.sh

افزودن بیت اجرا به یک اسکریپت

chmod -R 644 dir/

تنظیم بازگشتی مجوزها روی یک شاخه

chown تغییر مالک و گروه فایل
chown user file

تغییر مالک یک فایل

chown user:group file

تغییر مالک و گروه

chown -R user:group dir/

تغییر بازگشتی مالک و گروه

curl انتقال داده به/از یک سرور (HTTP، HTTPS و غیره)
curl -I https://example.com

ارسال درخواست HEAD (فقط هدرها)

curl -O https://example.com/file.txt

دانلود یک فایل و نگه داشتن نام آن

curl -d "a=1&b=2" -X POST URL

ارسال درخواست POST با داده‌های فرم

df گزارش فضای استفاده‌شده دیسک فایل‌سیستم
df -h

اندازه‌ها به‌صورت خوانا برای انسان

df /home

استفاده یک نقطه اتصال خاص

df -T

نمایش نوع فایل‌سیستم‌ها

diff مقایسه فایل‌ها یا شاخه‌ها
diff file1 file2

مقایسه دو فایل

diff -u old.c new.c

خروجی یکپارچه (سبک patch)

diff -r dir1 dir2

مقایسه بازگشتی شاخه‌ها

du برآورد فضای اشغال‌شده فایل‌ها و شاخه‌ها
du -sh *

نمایش اندازه موارد در شاخه فعلی

du -h file.txt

نمایش اندازه یک فایل

du -sh --max-depth=1 /var

خلاصه اندازه زیرشاخه‌های سطح بالا

find جستجوی فایل/شاخه بر اساس نام، اندازه، زمان و غیره
find . -name "*.log"

یافتن همه فایل‌های .log در شاخه فعلی

find / -type f -size +100M

یافتن فایل‌های بزرگتر از 100 مگابایت

find . -mtime -1

فایل‌های تغییر یافته در 24 ساعت اخیر

free نمایش مقدار حافظه آزاد و استفاده‌شده
free -h

واحدهای حافظه خوانا برای انسان

free -m

نمایش مقادیر بر حسب MB

watch -n 2 free -h

بروزرسانی خروجی هر 2 ثانیه

grep جستجوی متن با الگوها (عبارات منظم)
grep "error" logfile

یافتن خطوط شامل error

grep -r "error" /var/log

جستجوی بازگشتی در یک شاخه

grep -i "fail" file

جستجوی بدون حساسیت به حروف بزرگ/کوچک

head نمایش خطوط ابتدایی یک فایل
head -n 10 file

10 خط اول

head -n 20 file.txt

20 خط اول

head -c 100 file

100 بایت اول

hostname نمایش یا تنظیم نام میزبان سیستم
hostname newname

تنظیم موقت نام میزبان تا زمان ریبوت

hostname -I

نمایش آدرس‌های IP

kill ارسال سیگنال به پردازه‌ها
kill -9 1234

کشتن اجباری یک پردازه با PID

kill -TERM 1234

خاتمه آرام با SIGTERM

pkill -f python

کشتن پردازه‌ها بر اساس الگو

ping بررسی اتصال شبکه با درخواست‌های ICMP
ping 8.8.8.8

پینگ به یک آدرس

ping -c 4 ya.ru

ارسال 4 بسته

ping -i 2 1.1.1.1

تنظیم فاصله 2 ثانیه‌ای

ps گزارش وضعیت پردازه‌ها
ps aux

لیست همه پردازه‌ها

ps -ef | grep nginx

فیلتر بر اساس نام با grep

ps -u $USER

پردازه‌های کاربر فعلی

rsync انتقال سریع افزایشی فایل‌ها
rsync -av src/ dst/

همگام‌سازی شاخه‌ها به‌صورت محلی

rsync -avz user@host:/src /dst

همگام‌سازی با میزبان راه‌دور از طریق SSH

rsync --delete src/ dst/

حذف فایل‌های مقصد که در مبدا نیستند

scp کپی امن (برنامه کپی فایل راه‌دور)
scp file user@host:/path

کپی یک فایل به میزبان راه‌دور

scp user@host:/file.txt .

کپی یک فایل از میزبان راه‌دور

scp -r dir user@host:/path

کپی بازگشتی یک شاخه

sort مرتب‌سازی خطوط متن
sort file.txt

مرتب‌سازی الفبایی

sort -r file.txt

ترتیب معکوس

sort -n numbers.txt

مرتب‌سازی عددی

tail نمایش انتهای فایل‌ها؛ دنبال کردن تغییرات
tail -f logfile.log

دنبال کردن لاگ در زمان واقعی

tail -n 20 file.txt

نمایش 20 خط آخر

tail -c 100 file.txt

نمایش 100 بایت آخر

tar ایجاد، فهرست یا استخراج آرشیوهای tar
tar -czf archive.tgz dir/

ایجاد یک آرشیو فشرده .tgz

tar -xzf archive.tgz

استخراج یک آرشیو .tgz

tar -tf archive.tgz

فهرست محتوای آرشیو

tee خواندن از stdin و نوشتن به stdout و فایل‌ها
echo "test" | tee out.txt

نوشتن خروجی در out.txt و نمایش آن

ls | tee list.txt

ذخیره خروجی ls در فایل و نمایش آن

command | tee -a log.txt

اضافه کردن خروجی به انتهای log.txt

top نمایش وظایف لینوکس (نمایشگر پردازه تعاملی)
top

اجرای top

htop

نمایشگر تعاملی جایگزین (htop)

top -o %MEM

مرتب‌سازی بر اساس استفاده حافظه

uptime نمایش مدت زمان روشن بودن سیستم
uptime -p

نمایش خوانا

uptime -s

زمان بوت سیستم

wget دانلودگر شبکه غیرتعاملی
wget https://site.com/file.zip

دانلود فایل با URL

wget -c file.zip

ازسرگیری دانلود قطع‌شده

wget -O saved.txt URL

ذخیره با نام متفاوت

wc چاپ شمارش خطوط، کلمات و بایت‌های فایل‌ها
wc -l file

شمارش خطوط

wc -w file

شمارش کلمات

wc -m file

شمارش کاراکترها

uniq گزارش یا حذف خطوط تکراری پشت سر هم
uniq file.txt

حذف تکرارهای متوالی

sort file | uniq

حذف تکرارها بعد از مرتب‌سازی

sort file | uniq -c

شمارش تکرار هر خط

yes تکرار یک رشته تا زمان توقف؛ مفید در اسکریپت‌ها
yes "y" | command

همیشه پاسخ «y» به اعلان‌ها

yes | rm -i *

تأیید خودکار حذف‌های تعاملی

yes no | command

پاسخ «no» به اعلان‌ها

🔧 دستورات پیشرفته

دستور

مثال

توضیح

at زمان‌بندی اجرای یک دستور یک‌باره در زمان مشخص
at now + 1 minute

اجرای دستور یک دقیقه بعد از حالا

atq

لیست کارهای در انتظار

atrm

حذف یک کار در انتظار

awk زبان پردازش و اسکن الگوها
awk '{print $1}' file

چاپ ستون اول

ps aux | awk '$3 > 50'

فیلتر پردازه‌ها بر اساس استفاده CPU

cat file.txt | awk '{print $2}'

چاپ فیلد دوم از هر خط

awk '/error/ {print $0}' logfile

چاپ خطوطی که با الگو مطابقت دارند

crontab نصب، لیست یا حذف کران‌جاب‌های هر کاربر
crontab -e

ویرایش کران‌جاب کاربر فعلی

crontab -l

لیست کران‌جاب‌ها

crontab -r

حذف کران‌جاب‌های کاربر فعلی

cut انتخاب یا حذف بخش‌هایی از هر خط فایل
cut -d':' -f1 /etc/passwd

چاپ نام‌های کاربری از /etc/passwd

echo "a:b:c" | cut -d':' -f2

برش فیلد دوم با جداکننده ‘:’

cut -c1-5 filename

انتخاب کاراکترها بر اساس موقعیت

df گزارش فضای دیسک فایل‌سیستم
df -h

اندازه‌ها به‌صورت خوانا

df -T

نمایش نوع فایل‌سیستم‌ها

df /home

استفاده برای شاخه خانه

env اجرای دستور در محیط تغییر یافته یا چاپ env
env | grep PATH

نمایش ورودی‌های PATH

env -i bash

شروع یک شل خالی با محیط تهی

export تنظیم متغیرهای محیطی برای شل/جلسه فعلی
export VAR=value

تنظیم یک متغیر برای این شل

export PATH=$PATH:/new/path

افزودن یک شاخه به PATH

export -p

لیست متغیرهای صادرشده

free نمایش استفاده حافظه
free -m

نمایش بر حسب MB

free -h

واحدهای خوانا برای انسان

free -s 5

نمونه‌گیری هر 5 ثانیه

hostnamectl پرس‌وجو و تغییر نام میزبان و تنظیمات مربوطه
hostnamectl status

نمایش وضعیت نام میزبان

hostnamectl set-hostname newname

تنظیم یک نام میزبان ثابت جدید

ifconfig / ip ابزارهای IP برای مشاهده/مدیریت واسط‌ها و آدرس‌ها
ifconfig

نمایش واسط‌های شبکه (قدیمی)

ip a

نمایش آدرس‌ها با ip

ip link set eth0 up

بالا آوردن یک واسط

iostat گزارش آمار CPU و I/O
iostat -x 2

آمار پیشرفته هر 2 ثانیه

iostat -d 5 3

آمار دستگاه (بازه 5s، سه گزارش)

iptables ابزار مدیریت فیلترینگ بسته IPv4 و NAT
iptables -L

لیست قوانین جاری

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

اجازه دسترسی SSH روی پورت 22

iptables -F

پاکسازی تمام قوانین

journalctl پرس‌وجو در ژورنال systemd
journalctl -xe

نمایش خطاهای اخیر با زمینه

journalctl -u nginx.service

نمایش لاگ‌های یک سرویس

journalctl --since "2 hours ago"

نمایش لاگ‌ها از یک زمان نسبی

ln ایجاد لینک بین فایل‌ها
ln -s target link

ایجاد لینک نمادین

ln file.txt backup.txt

ایجاد لینک سخت

ln -sf target link

بازایجاد اجباری لینک نمادین

sed ویرایشگر جریان برای فیلتر و تبدیل متن
sed 's/old/new/g' file

جایگزینی یک رشته به‌صورت سراسری

sed -n '1,5p' file

چاپ فقط یک محدوده خطوط

sed '/pattern/d' file

حذف خطوط مطابق الگو

systemctl کنترل مدیریت سیستم و سرویس systemd
systemctl status nginx

نمایش وضعیت سرویس

systemctl start nginx

شروع یک سرویس

systemctl enable nginx

فعال‌سازی سرویس در هنگام بوت

tr ترجمه یا حذف کاراکترها
tr a-z A-Z

تبدیل حروف کوچک به بزرگ

echo "hello" | tr 'h' 'H'

جایگزینی یک کاراکتر

echo "abc123" | tr -d '0-9'

حذف اعداد

type توضیح نحوه تفسیر یک نام در شل
type ls

نمایش نحوه resolve شدن ls

type cd

نمایش نحوه resolve شدن cd

type python3

نمایش نحوه resolve شدن python3

ulimit گرفتن یا تنظیم محدودیت منابع پردازه کاربر
ulimit -n

نمایش حداکثر فایل‌های باز

ulimit -c unlimited

فعال‌سازی core dumps

ulimit -u 4096

محدود کردن تعداد پردازه‌های کاربر

uptime نمایش زمان کارکرد سیستم و بار میانگین
uptime -p

نمایش خوانا

uptime -s

نمایش زمان بوت

xargs ساخت و اجرای دستورات از ورودی استاندارد
xargs -n 1 echo

چاپ هر آرگومان در یک خط جدا

echo "a b c" | xargs -n 1

تقسیم کلمات به آرگومان جدا

find . -name '*.txt' | xargs rm

یافتن فایل‌ها و حذف آن‌ها با xargs

🌐 دستورات شبکه

دستور

مثال

توضیح

curl انتقال داده به/از سرورها
curl -X POST -d "a=1" URL

درخواست POST با داده‌های فرم

curl -I URL

فقط گرفتن هدرها

curl -o file.html URL

دانلود و ذخیره در یک فایل

dig ابزار جستجوی DNS
dig openai.com

پرس‌وجوی رکوردهای A

dig +short openai.com

پاسخ کوتاه

dig @8.8.8.8 openai.com

استفاده از یک DNS مشخص

ftp کلاینت پروتکل انتقال فایل
ftp host

اتصال به سرور FTP

ftp -n host

اتصال بدون ورود خودکار

ftp> get file.txt

دانلود یک فایل در جلسه FTP

ip address نمایش/مدیریت آدرس‌های IP
ip addr show eth0

نمایش اطلاعات آدرس برای eth0

ip addr

لیست همه آدرس‌ها

ip link نمایش/مدیریت دستگاه‌های شبکه
ip link show

نمایش لینک‌های شبکه

ip link set eth0 up

بالا آوردن یک واسط

ip route نمایش/مدیریت جدول مسیریابی IP
ip route list

لیست جدول مسیریابی

ip route add default via 192.168.1.1

افزودن مسیر پیش‌فرض

nc اتصالات و شنودهای TCP/UDP دلخواه
nc -zv host 22

اسکن پورت یک میزبان

nc -l 1234

شنود روی یک پورت TCP

nc host 1234 < file

ارسال فایل به یک پورت راه‌دور

nmap ابزار اکتشاف شبکه و اسکنر امنیت/پورت
nmap -sP 192.168.1.0/24

اسکن ping یک زیربخش

nmap -sV 192.168.1.1

تشخیص سرویس/نسخه

nmap -O 192.168.1.1

تشخیص سیستم‌عامل

nslookup پرس‌وجو از سرورهای نام دامنه اینترنت
nslookup google.com

پرس‌وجوی یک دامنه

nslookup 8.8.8.8

جستجوی معکوس برای یک IP

ssh کلاینت ورود راه‌دور OpenSSH
ssh user@host

اتصال به یک میزبان

ssh -p 2222 user@host

اتصال با پورت غیرپیش‌فرض

ssh -i ~/.ssh/id_rsa user@host

ورود با کلید خصوصی مشخص

ss ابزار بررسی سوکت‌ها
ss -tuln

لیست پورت‌های TCP/UDP در حال شنود

ss -s

آمار خلاصه

ss -l

لیست سوکت‌های شنود

telnet رابط کاربر برای پروتکل TELNET
telnet host 80

اتصال به میزبان روی پورت 80

telnet example.com 443

اتصال به 443

telnet localhost 25

اتصال به SMTP محلی

traceroute ردیابی مسیر به یک میزبان شبکه
traceroute 8.8.8.8

ردیابی مسیر به یک IP

traceroute -m 15 8.8.8.8

محدود کردن حداکثر پرش‌ها

wget بازیابی فایل‌ها از وب
wget -O file.txt URL

ذخیره خروجی در فایل

wget URL

دانلود در شاخه فعلی

wget -c URL

ادامه دانلود ناقص

🔍 جستجو و مدیریت فایل‌ها

دستور

مثال

توضیح

basename حذف مسیر و پسوند از نام فایل
basename /path/to/file

چاپ نام فایل از مسیر

basename /path/to/file .txt

حذف پسوند از نام

dirname حذف آخرین بخش از یک مسیر
dirname /path/to/file

نمایش بخش شاخه مسیر

dirname /etc/passwd

نمایش والد /etc/passwd

du برآورد فضای فایل
du -sh folder/

نمایش اندازه یک شاخه

du -h *

نمایش اندازه اقلام در شاخه جاری

du -c folder1 folder2

اندازه تجمعی چند شاخه

file تشخیص نوع فایل
file some.bin

تشخیص نوع فایل

file *

تشخیص نوع برای همه فایل‌های شاخه

file -i file.txt

نمایش نوع MIME

find جستجوی فایل‌ها
find /path -type f -name "*.sh"

یافتن اسکریپت‌های شل بر اساس نام

find . -size +10M

یافتن فایل‌های بزرگتر از 10 MB

find /tmp -mtime -1

یافتن فایل‌های تغییر یافته در روز گذشته

locate یافتن فایل‌ها بر اساس نام با پایگاه‌داده
locate filename

یافتن نام فایل

locate *.conf

جستجو با wildcard

locate -i README

جستجوی بدون حساسیت به حروف

realpath نمایش مسیر مطلق حل‌شده
realpath file

حل مسیر یک فایل

realpath ../relative/path

حل مسیر نسبی

stat نمایش وضعیت فایل یا فایل‌سیستم
stat file

نمایش وضعیت جزئی فایل

stat -c %s file

چاپ فقط اندازه فایل

stat -f file

نمایش وضعیت فایل‌سیستم

tree لیست محتوای شاخه‌ها به شکل درختی
tree

چاپ درخت شاخه

tree -L 2

محدود کردن عمق نمایش

tree -a

شامل کردن فایل‌های مخفی

📊 پایش سیستم

دستور

مثال

توضیح

dmesg چاپ یا کنترل بافر حلقه‌ای کرنل
dmesg | tail

نمایش آخرین پیام‌های کرنل

dmesg | grep usb

فیلتر پیام‌های USB

free نمایش استفاده حافظه
free -h

واحدهای خوانا برای انسان

free -m

نمایش بر حسب MB

htop نمایشگر تعاملی پردازه‌ها
htop

اجرای htop

iotop نمایش استفاده I/O توسط پردازه‌ها
iotop

اجرای iotop

iotop -o

نمایش فقط پردازه‌های دارای I/O

lsof لیست فایل‌های باز
lsof -i :80

نمایش پردازه‌های استفاده‌کننده از پورت 80

lsof -u username

نمایش فایل‌های باز شده توسط یک کاربر

uptime نمایش مدت زمان کارکرد سیستم و بار میانگین
vmstat گزارش آمار حافظه مجازی
vmstat 1

تازه‌سازی هر 1 ثانیه

vmstat 5 3

بازه پنج‌ثانیه‌ای، سه گزارش

watch اجرای دوره‌ای یک برنامه و نمایش خروجی
watch -n 1 df -h

پایش استفاده دیسک

watch -d free -h

هایلایت تفاوت‌ها و پایش حافظه

📦 مدیریت بسته‌ها

دستور

مثال

توضیح

apt مدیر بسته APT (دبیان/اوبونتو)
apt install curl

نصب یک بسته

apt remove curl

حذف یک بسته

apt update && apt upgrade

بروزرسانی لیست بسته‌ها و ارتقا

dnf مدیر بسته DNF (خانواده فدورا/RHEL)
dnf install curl

نصب یک بسته

dnf upgrade

ارتقای بسته‌ها

rpm مدیر بسته RPM
rpm -ivh package.rpm

نصب یک بسته RPM

rpm -e package

حذف (آن‌اینستال) یک بسته

snap مدیر بسته Snap
snap install app

نصب یک اسنپ

snap remove app

حذف یک اسنپ

yum مدیر بسته YUM (RHEL/CentOS)
yum install curl

نصب یک بسته

yum remove curl

حذف یک بسته

💽 سیستم‌های فایل

دستور

مثال

توضیح

blkid یافتن/چاپ ویژگی‌های دستگاه بلوکی
blkid

لیست دستگاه‌های بلوکی و ویژگی‌ها

df گزارش فضای دیسک فایل‌سیستم
df -Th

اندازه‌های خوانا بر اساس نوع

fsck بررسی و تعمیر سیستم فایل لینوکس
fsck /dev/sda1

بررسی یک دستگاه

lsblk لیست اطلاعات درباره دستگاه‌های بلوکی
lsblk

لیست دستگاه‌ها به‌صورت درختی

mkfs ساخت یک سیستم فایل لینوکس
mkfs.ext4 /dev/sdb1

ایجاد سیستم فایل ext4

mount سوار کردن یک سیستم فایل
mount /dev/sdb1 /mnt

سوار کردن یک دستگاه روی /mnt

mount | grep /mnt

نمایش سیستم‌های فایل سوارشده بر اساس مسیر

parted برنامه مدیریت پارتیشن‌ها
parted /dev/sdb

باز کردن یک دیسک برای پارتیشن‌بندی

umount پیاده کردن سیستم‌های فایل
umount /mnt

پیاده کردن یک نقطه سوار

🤖 اسکریپت‌ها و خودکارسازی

دستور

مثال

توضیح

alias تعریف یا نمایش نام‌های مستعار شل
alias ll='ls -la'

ایجاد یک نام مستعار مفید

alias

لیست نام‌های مستعار تعریف‌شده

bash / sh اجرای اسکریپت‌های شل
bash script.sh

اجرای اسکریپت با Bash

sh script.sh

اجرای اسکریپت با sh

crontab جدول‌های کران هر کاربر
crontab -e

ویرایش کران‌جدول کاربر فعلی

read گرفتن ورودی از کاربر در اسکریپت‌های شل
read name

خواندن درون یک متغیر

set تنظیم گزینه‌های شل/پارامترهای موقعیتی
set -e

خروج در اولین خطا

source خواندن و اجرای دستورات از یک فایل در شل جاری
source ~/.bashrc

بارگذاری مجدد پیکربندی شل

trap گرفتن سیگنال‌ها و اجرای دستورات
trap "echo 'exit'" EXIT

اجرای یک دستور هنگام خروج شل

🛠 توسعه و اشکال‌زدایی

دستور

مثال

توضیح

gcc کامپایلر GNU C
gcc main.c -o app

کامپایل یک فایل سورس C

gdb دیباگر GNU
gdb ./app

دیباگ یک باینری کامپایل‌شده

git سیستم کنترل نسخه توزیع‌شده
git status

نمایش وضعیت درخت کاری

git commit -m "msg"

کامیت با پیام

ltrace رهگیری فراخوانی‌های کتابخانه
ltrace ./app

رهگیری فراخوانی‌های کتابخانه یک باینری

make ابزار مدیریت گروه‌های برنامه‌ها
make

ساخت بر اساس Makefile

shellcheck تحلیل ایستا برای اسکریپت‌های شل
shellcheck script.sh

بررسی (lint) یک اسکریپت شل

strace رهگیری فراخوانی‌های سیستمی و سیگنال‌ها
strace ./app

رهگیری syscalls یک برنامه

valgrind چارچوب ابزارسازی برای تحلیل پویا
valgrind ./app

اجرای یک برنامه تحت Valgrind

vim / nano ویرایشگرهای خط فرمان
vim file.sh

ویرایش با Vim

nano file.sh

ویرایش با Nano

📌 متفرقه

دستور

مثال

توضیح

cal نمایش تقویم
cal 2025

نمایش تقویم سالانه

cal 08 2025

نمایش یک ماه خاص

date نمایش یا تنظیم تاریخ و زمان سیستم
date +%T

چاپ زمان فعلی (HH:MM:SS)

date -d "next friday"

چاپ تاریخ یک روز نسبی

factor تجزیه اعداد صحیح
factor 100

تجزیه یک عدد

man فرمت و نمایش صفحات راهنمای آنلاین
man tar

باز کردن یک صفحه man

man -k copy

جستجو در راهنما بر اساس کلیدواژه

man 5 passwd

باز کردن بخش مشخصی از راهنما

seq چاپ دنباله‌ای از اعداد
seq 1 5

شمارش از 1 تا 5

seq 1 2 9

شمارش با گام

seq -s ',' 1 5

اتصال اعداد با جداکننده سفارشی

yes تکرار یک رشته تا زمان توقف
yes | rm -r dir

تأیید خودکار حذف بازگشتی

📚 منابع اضافی

📘 man pages - راهنماهای مفصل دستورات:

man ls
man rm

📙 TLDR - مثال‌های کوتاه از دستورات محبوب:

🧠 نکته: برای کمک به سبک cheat-sheet، tldr را نصب کنید:

sudo apt install tldr   # یا: npm install -g tldr
tldr tar                # نمونه‌ای از یک خلاصه کوتاه برای دستور tar

🌐 لینک‌های مفید

صفحات راهنمای لینوکس آنلاین — صفحات رسمی راهنما، قابل جستجو بر اساس نام دستور:
https://man7.org/linux/man-pages/

صفحات راهنمای ساده‌شده و جامعه‌محور — صفحات کمکی جامعه با مثال‌های عملی:
https://tldr.sh/