EN

دستورات پرکاربرد لینوکس

راهنمای جامع و کاربردی برای مبتدیان

۲۵ اردیبهشت ۱۴۰۲  |  زمان مطالعه: ۲۰ دقیقه

دستورات لینوکس ابزارهای اصلی برای ارتباط با سیستم‌عامل هستند. با یادگیری این دستورات می‌توانید فایل‌ها را مدیریت کنید، سیستم را پیکربندی کنید، اطلاعات بگیرید و کارهای روزمره را به سرعت انجام دهید. این مقاله مخصوص افرادی است که تازه با لینوکس آشنا شده‌اند و می‌خواهند مهم‌ترین دستورات را به سادگی یاد بگیرند.

پیش‌نیاز: آشنایی اولیه با محیط ترمینال کافی است. اگر تا حالا ترمینال را باز کرده‌اید، این مقاله نقطه شروع عالی برای شماست.

۱. دستورات مسیریابی

این دستورات به شما کمک می‌کنند که در ساختار پوشه‌های لینوکس حرکت کنید و ببینید کجا هستید.

pwd – نمایش مسیر فعلی

دستور pwd (Print Working Directory) مسیر کامل دایرکتوری فعلی را نشان می‌دهد:

pwd
# Output: /home/username

ls – نمایش محتویات دایرکتوری

با ls می‌توانید لیست فایل‌ها و پوشه‌های یک مسیر را ببینید. گزینه‌های پرکاربرد:

  • ls -l : نمایش جزئیات کامل (مجوزها، مالک، حجم، تاریخ).
  • ls -a : نمایش همه فایل‌ها شامل فایل‌های مخفی که با نقطه شروع می‌شوند.
  • ls -lh : نمایش حجم فایل‌ها به صورت قابل خواندن (مثلاً KB، MB).
ls -l
# Output: drwxr-xr-x 2 user user 4096 May 25 10:00 Documents

cd – تغییر دایرکتوری

با cd (Change Directory) بین پوشه‌ها جابه‌جا می‌شوید:

cd /home/user/Documents   # رفتن به پوشه Documents
cd ..                     # رفتن به یک سطح بالاتر
cd ~                      # رفتن به پوشه خانه کاربر
cd /                      # رفتن به ریشه سیستم

۲. مدیریت فایل‌ها و دایرکتوری‌ها

این دستورات برای ایجاد، کپی، انتقال و حذف فایل‌ها و پوشه‌ها استفاده می‌شوند.

mkdir – ساخت دایرکتوری جدید

mkdir my_folder           # ساخت یک پوشه
mkdir -p parent/child     # ساخت پوشه با زیرپوشه‌های تو در تو

touch – ایجاد فایل خالی

touch file.txt            # ساخت فایل متنی خالی

cp – کپی کردن

cp file.txt backup.txt    # کپی فایل
cp -r folder1 folder2     # کپی کامل یک پوشه (با گزینه -r)

mv – انتقال یا تغییر نام

mv file.txt /tmp/         # انتقال فایل به پوشه tmp
mv old_name.txt new_name.txt  # تغییر نام فایل

rm – حذف فایل‌ها و پوشه‌ها

هشدار: دستور rm فایل‌ها را به طور کامل حذف می‌کند و قابل بازیابی نیستند. با دقت استفاده کنید.
rm file.txt               # حذف یک فایل
rm -r folder/             # حذف یک پوشه و همه محتویات آن
rm -f file.txt            # حذف اجباری بدون سوال

rmdir – حذف دایرکتوری خالی

rmdir empty_folder        # فقط پوشه‌های خالی را حذف می‌کند

۳. مشاهده محتوای فایل‌ها

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

cat – نمایش کامل فایل

cat file.txt              # کل محتوا را نمایش می‌دهد

less – نمایش صفحه‌به‌صفحه

برای فایل‌های بزرگ، less محتوا را صفحه‌به‌صفحه نشان می‌دهد. با کلیدهای Space به جلو و b به عقب بروید.

less long_file.log

head و tail – نمایش ابتدا یا انتهای فایل

head -n 20 file.txt       # نمایش ۲۰ خط اول
tail -n 10 file.txt       # نمایش ۱۰ خط آخر
tail -f logfile.log       # دنبال کردن زنده تغییرات فایل (مفید برای لاگ‌ها)

۴. مدیریت مجوزها

در لینوکس هر فایل و پوشه دارای مجوزهایی برای خواندن (r)، نوشتن (w) و اجرا (x) است.

chmod – تغییر مجوزها

می‌توانید با اعداد (مثل ۷۵۵) یا با حروف (مثل u+x) مجوزها را تغییر دهید:

chmod 755 script.sh       # مالک: خواندن، نوشتن، اجرا | گروه و دیگران: خواندن و اجرا
chmod u+x script.sh       # افزودن مجوز اجرا برای مالک

chown – تغییر مالک

chown user:group file.txt # تغییر مالک و گروه فایل

۵. اطلاعات سیستم

این دستورات اطلاعات مفیدی درباره سیستم و منابع آن به شما می‌دهند.

  • uname -a : نمایش اطلاعات هسته سیستم.
  • df -h : نمایش فضای استفاده شده و خالی دیسک‌ها (به صورت قابل خواندن).
  • du -sh folder/ : نمایش حجم کل یک پوشه.
  • free -h : نمایش میزان حافظه RAM و Swap استفاده شده.
  • ps aux : نمایش لیست فرایندهای در حال اجرا.
  • top یا htop : نمایش منابع سیستم به صورت زنده.
df -h
# Output: Filesystem      Size  Used Avail Use% Mounted on
#         /dev/sda1       100G   30G   70G  30% /

۶. جستجو و فیلتر

grep – جستجوی متن در فایل‌ها

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

grep "error" logfile.log          # پیدا کردن خطوط حاوی "error"
grep -r "TODO" src/                # جستجوی بازگشتی در همه فایل‌های پوشه src
grep -i "warning" file.txt         # جستجوی بدون توجه به بزرگ/کوچکی حروف

find – جستجوی فایل‌ها و پوشه‌ها

find /home -name "*.txt"           # پیدا کردن همه فایل‌های txt در پوشه home
find /var/log -size +10M           # پیدا کردن فایل‌های بزرگتر از ۱۰ مگابایت

۷. دستورات شبکه

  • ping google.com : بررسی اتصال به یک سرور.
  • curl https://api.example.com : ارسال درخواست HTTP و دریافت پاسخ.
  • wget https://example.com/file.zip : دانلود فایل از اینترنت.
  • ssh user@server.com : اتصال امن به یک سرور از راه دور.
ping -c 4 8.8.8.8
# ارسال ۴ بسته به سرور DNS گوگل و بررسی پاسخ

۸. فشرده‌سازی و آرشیو

tar – ایجاد و استخراج آرشیو

tar -czf archive.tar.gz folder/    # فشرده‌سازی یک پوشه با فرمت gzip
tar -xzf archive.tar.gz            # استخراج فایل فشرده

gzip و gunzip

gzip file.txt               # فشرده‌سازی یک فایل (تبدیل به file.txt.gz)
gunzip file.txt.gz          # باز کردن فایل فشرده

۹. مدیریت پردازش‌ها

  • ps aux | grep firefox : پیدا کردن پردازش‌های مربوط به Firefox.
  • kill -9 PID : متوقف کردن اجباری یک پردازش با شناسه PID.
  • killall firefox : بستن همه پردازش‌های Firefox.
  • bg : ادامه دادن یک پردازش متوقف‌شده در پس‌زمینه.
  • fg : آوردن یک پردازش پس‌زمینه به جلو.
# اجرای یک دستور در پس‌زمینه
long_running_task &
# مشاهده پردازش‌های پس‌زمینه
jobs

۱۰. دریافت راهنما

man – نمایش دفترچه راهنما

man ls                     # نمایش راهنمای کامل دستور ls

--help – راهنمای سریع

اکثر دستورات با گزینه --help توضیح مختصری از خود نشان می‌دهند:

ls --help

جمع‌بندی و گام‌های بعدی

در این مقاله با مهم‌ترین دستورات لینوکس آشنا شدید. حالا می‌توانید در محیط ترمینال کارهای روزمره را انجام دهید. برای پیشرفت بیشتر:

  • هر روز چند دستور جدید را تمرین کنید و با گزینه‌های آنها آشنا شوید.
  • از man و --help برای یادگیری دستورات جدید استفاده کنید.
  • کتاب «The Linux Command Line» (ترجمه فارسی در کتابخانه لینوکس) منبع عالی برای عمیق‌تر شدن است.
  • در ترمینال زیاد کار کنید تا دستورات برایتان عادی شوند.
یادتان باشد: کار با ترمینال نیاز به تمرین دارد. هر بار که از دستوری استفاده می‌کنید، یک قدم به تسلط نزدیک‌تر می‌شوید.