🐧 خط فرمان لینوکس
دستورات پایه و پیشرفته برای ناوبری، فایلها، پردازشها، شبکه، پایش، بستهها و خودکارسازی. مناسب برای جریانهای کاری DevOps.
🔹 دستورات پایه
دستور |
مثال |
توضیح |
|---|---|---|
cat |
نمایش محتوای فایل یا الحاق چندین فایل | |
cat file.txt |
نمایش محتوای فایل |
|
cat file1 file2 |
الحاق و خروجی گرفتن از دو فایل |
|
cat file1 file2 > merged.txt |
الحاق فایلها و ذخیره در یک فایل جدید |
|
cd |
تغییر شاخه کاری فعلی | |
cd /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/ |
جابجایی همه فایلهای |
|
pwd |
نمایش شاخه کاری فعلی | |
pwd -P |
نمایش مسیر فیزیکی (بدون لینکهای نمادین) |
|
cd /tmp && pwd |
نمایش مسیر بعد از تغییر به |
|
rm |
حذف فایلها یا شاخهها | |
rm file.txt |
حذف یک فایل |
|
rm -i file.txt |
حذف یک فایل با تأیید |
|
rm -r folder/ |
حذف بازگشتی یک شاخه |
|
rm -rf folder/ |
حذف اجباری بدون تأیید |
|
rmdir |
حذف یک شاخه خالی | |
rmdir emptydir |
حذف شاخه |
|
touch |
ایجاد فایل خالی یا بروزرسانی زمان تغییر | |
touch newfile.txt |
ایجاد یک فایل خالی جدید اگر وجود نداشته باشد |
|
touch a b c |
ایجاد چند فایل همزمان |
|
touch -c file.txt |
بروزرسانی زمان بدون ایجاد فایل در صورت عدم وجود |
|
whereis |
یافتن باینری، سورس و صفحات راهنمای یک دستور | |
whereis ls |
یافتن مکانهای |
|
whereis bash |
نمایش مسیرهای باینری و مستندات Bash |
|
whereis -b bash |
جستجو فقط برای باینری |
|
which |
نمایش مسیر اجرایی یک دستور | |
which python3 |
مسیر |
|
which 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" |
یافتن همه فایلهای |
|
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 |
یافتن خطوط شامل |
|
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 |
فیلتر بر اساس نام با |
|
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/ |
ایجاد یک آرشیو فشرده |
|
tar -xzf archive.tgz |
استخراج یک آرشیو |
|
tar -tf archive.tgz |
فهرست محتوای آرشیو |
|
tee |
خواندن از stdin و نوشتن به stdout و فایلها | |
echo "test" | tee out.txt |
نوشتن خروجی در |
|
ls | tee list.txt |
ذخیره خروجی |
|
command | tee -a 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 |
چاپ نامهای کاربری از |
|
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 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 شدن |
|
type cd |
نمایش نحوه resolve شدن |
|
type python3 |
نمایش نحوه resolve شدن |
|
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 |
نمایش اطلاعات آدرس برای |
|
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 |
نمایش والد |
|
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 |
اجرای |
|
iotop |
نمایش استفاده I/O توسط پردازهها | |
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 |
سوار کردن یک دستگاه روی |
|
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 |
اجرای اسکریپت با |
|
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/