لینوکس چیست و چرا باید آن را یاد بگیریم؟
لینوکس (Linux) یکی از محبوبترین و پراستفادهترین سیستمعاملهای متنباز در دنیا است که امنیت بالا، سرعت فوقالعاده و انعطافپذیری بینظیر آن را به انتخابی ایدهآل برای سرورها، توسعهدهندگان و حتی کاربران عادی تبدیل کرده است. برخلاف ویندوز که همه چیز با رابط گرافیکی (GUI) انجام میشود، در لینوکس ترمینال (Terminal) یا خط فرمان نقش مهمی دارد و آشنایی با دستورات پایه لینوکس میتواند کار با این سیستم را بسیار سادهتر کند.
اگر بهتازگی با لینوکس آشنا شدهاید یا میخواهید حرفهایتر شوید، این راهنما در کانفیگ سرور از مقدماتی تا پیشرفتهترین دستورات لینوکس را بررسی میکند.
1. دستورات اولیه در ترمینال لینوکس
برای شروع، اولین قدم آشنایی با محیط خط فرمان لینوکس و اجرای دستورات پایه لینوکس است. ترمینال یکی از بخشهای اصلی لینوکس است که با فشردن کلیدهای (Ctrl + Alt + T) باز میشود.
📌 برخی از پرکاربردترین دستورات اولیه لینوکس:
pwd # نمایش مسیر فعلی
ls # لیست کردن فایلها و پوشهها
cd # تغییر مسیر به پوشهای دیگر
mkdir # ایجاد یک پوشه جدید
touch # ایجاد یک فایل جدید
rm # حذف فایل یا پوشه
cp # کپی کردن فایلها و پوشهها
mv # جابهجا کردن فایلها و تغییر نام
clear # پاک کردن صفحه ترمینال
exit # خروج از ترمینال
✅ نکته: در لینوکس حروف کوچک و بزرگ در دستورات تفاوت دارند، پس حتماً دقت کنید.
2. نحوه کار با فایلها و پوشهها در لینوکس
مدیریت فایلها و پوشهها یکی از اولین مهارتهایی است که باید در لینوکس یاد بگیرید. همه چیز در لینوکس بهصورت فایل مدیریت میشود، حتی سختافزارها!
2.1 نمایش مسیر جاری (pwd)
دستور pwd مسیر فعلی شما را در ترمینال نشان میدهد:
pwd
2.2 لیست کردن فایلها و پوشهها (ls)
برای مشاهده فایلها و پوشههای موجود در مسیر جاری:
ls
اگر بخواهید جزئیات بیشتری ببینید، میتوانید از پرچمهای (Options) مختلف استفاده کنید:
ls -l # نمایش لیست فایلها به همراه جزئیات
ls -a # نمایش فایلهای مخفی
ls -lh # نمایش حجم فایلها به شکل خوانا
2.3 تغییر مسیر (cd)
برای حرکت بین پوشهها از cd استفاده میکنیم:
cd Documents # رفتن به پوشه Documents
cd .. # بازگشت به پوشه قبلی
cd /home # رفتن به مسیر مشخص
2.4 ایجاد پوشه و فایل جدید (mkdir, touch)
📌 برای ساخت یک پوشه جدید:
mkdir MyFolder
📌 برای ایجاد یک فایل خالی:
touch myfile.txt
✅ نکته: اگر بخواهید پوشههای تو در تو بسازید:
mkdir -p Folder1/Folder2/Folder3
2.5 حذف فایل و پوشه (rm)
📌 برای حذف یک فایل:
rm myfile.txt
📌 برای حذف یک پوشه به همراه تمام محتویات آن:
rm -r MyFolder
✅ نکته: حذف فایلها و پوشهها در لینوکس برگشتپذیر نیست، پس دقت کنید!
3. کار با مجوزهای دسترسی در لینوکس (chmod, chown)
یکی از ویژگیهای مهم لینوکس، سیستم مدیریت دسترسی کاربران است که از طریق دستورات chmod و chown کنترل میشود.
3.1 نمایش مجوزهای فایلها و پوشهها
برای مشاهده دسترسیهای فعلی فایلها، از دستور زیر استفاده کنید:
ls -l
🔹 نمونه خروجی:
-rwxr–r– 1 user user 1024 Jan 30 10:00 file.sh
در اینجا:
- r → خواندن (Read)
- w → نوشتن (Write)
- x → اجرا (Execute)
3.2 تغییر مجوزهای یک فایل (chmod)
📌 مثال: اجازه اجرای یک اسکریپت:
chmod +x script.sh
📌 حذف دسترسی نوشتن برای همه:
chmod -w myfile.txt
📌 تغییر مجوزها بهصورت عددی:
chmod 755 script.sh
🔹 عدد 755 معادل این است:
- مالک: خواندن، نوشتن و اجرا (rwx)
- گروه: خواندن و اجرا (r-x)
- دیگران: خواندن و اجرا (r-x)
3.3 تغییر مالکیت فایلها و پوشهها (chown)
برای تغییر مالکیت یک فایل یا پوشه:
chown newuser:newgroup myfile.txt
✅ نکته: این دستور نیاز به دسترسی root دارد، پس باید با sudo اجرا شود:
sudo chown root:root myfile.txt
پیشرفتهترین دستورات لینوکس برای کاربران حرفهای
در بخش اول، با دستورات پایه لینوکس برای مدیریت فایلها، پوشهها و مجوزهای دسترسی آشنا شدیم. اما لینوکس دنیای بیپایانی از امکانات است و اگر بخواهید حرفهایتر شوید، باید با دستورات پیشرفتهتر برای مدیریت پردازشها، بستهها، شبکه و اسکریپتنویسی آشنا شوید. در این بخش، پاورقی مهمتری از دنیای لینوکس را باز میکنیم! 🚀
4. مدیریت پردازشها و برنامههای در حال اجرا در لینوکس
در لینوکس، همه چیز بهصورت پردازش (Process) اجرا میشود و یکی از مهارتهای مهم، مدیریت پردازشها و بستن برنامههای هنگکرده است.
4.1 مشاهده پردازشهای در حال اجرا (ps, top, htop)
برای مشاهده لیست پردازشهای فعال:
ps aux
🔹 پرچمهای مهم:
- a → نمایش همه پردازشها
- u → نمایش جزئیات کاربری
- x → نمایش پردازشهای بدون ترمینال
اگر بخواهید بیشتر شبیه Task Manager ویندوز پردازشها را ببینید، از دستور top استفاده کنید:
top
✅ جایگزین بهتر: برنامه htop (با رابط گرافیکی رنگیتر و خواناتر)
sudo apt install htop # برای اوبونتو و دبیان
sudo yum install htop # برای سنتاواس و فدورا
htop
4.2 بستن برنامههای هنگکرده (kill, pkill, killall)
برای بستن یک برنامه خاص، ابتدا باید شناسه پردازش (PID) را پیدا کنید:
ps aux | grep firefox
سپس آن را با دستور kill متوقف کنید:
kill 1234 # 1234 شماره PID پردازش است
📌 برای کشتن تمام پردازشهای مربوط به یک برنامه خاص:
pkill firefox
killall firefox
✅ نکته: اگر پردازش مقاومت کرد و بسته نشد، از سیگنال -9 استفاده کنید:
kill -9 1234
5. مدیریت کاربران و گروهها در لینوکس
یکی از مهمترین ویژگیهای لینوکس، امکان ایجاد کاربران متعدد با سطوح دسترسی مختلف است.
5.1 ایجاد کاربر جدید (useradd)
📌 ایجاد یک کاربر جدید به نام ali
sudo useradd -m ali
📌 تنظیم رمز عبور برای کاربر
sudo passwd ali
5.2 حذف کاربر (userdel)
sudo userdel -r ali
5.3 تغییر گروه کاربر (usermod)
📌 افزودن کاربر به گروه sudo (دسترسی ادمین)
sudo usermod -aG sudo ali
5.4 مشاهده لیست کاربران و گروهها
📌 مشاهده تمام کاربران ثبتشده:
cat /etc/passwd
📌 مشاهده گروهها:
cat /etc/group
6. مدیریت بستهها و نصب نرمافزار در لینوکس
یکی از اصول اساسی لینوکس، نصب و مدیریت نرمافزارها از طریق بستههای مدیریتی است. بسته به توزیع لینوکس، ابزارهای مختلفی برای این کار وجود دارد.
6.1 نصب نرمافزار در اوبونتو و دبیان (apt)
sudo apt update # بهروزرسانی لیست بستهها
sudo apt upgrade # ارتقا نرمافزارهای نصبشده
sudo apt install vlc # نصب برنامه VLC
sudo apt remove vlc # حذف برنامه VLC
6.2 نصب نرمافزار در سنتاواس و فدورا (yum, dnf)
sudo yum install httpd # نصب Apache در سنتاواس
sudo dnf install nginx # نصب Nginx در فدورا
7. بررسی وضعیت شبکه در لینوکس
7.1 مشاهده اطلاعات شبکه (ifconfig, ip)
📌 مشاهده اطلاعات شبکه و آدرسهای IP:
ifconfig
✅ روش جدیدتر در لینوکسهای جدید:
ip addr show
7.2 بررسی اتصال اینترنت (ping)
📌 بررسی دسترسی به اینترنت:
ping google.com
7.3 بررسی مسیر بستههای شبکه (traceroute)
traceroute google.com
7.4 مشاهده لیست پورتهای باز (netstat)
netstat -tulnp
8. فشردهسازی و استخراج فایلها در لینوکس
📌 فشردهسازی فایلها به فرمت tar.gz
tar -czvf backup.tar.gz folder_name/
📌 استخراج فایلهای tar.gz
tar -xzvf backup.tar.gz
📌 فشردهسازی با zip
zip -r myfiles.zip folder_name/
📌 استخراج فایل zip
unzip myfiles.zip
9. اتوماسیون و اسکریپتنویسی در لینوکس (Bash Scripting)
در لینوکس، میتوان با Bash Scripting کارهای تکراری را خودکار کرد.
📌 مثال یک اسکریپت ساده
#!/bin/bash
echo “سلام، نام شما چیست؟”
read name
echo “خوش آمدید، $name!”
📌 اجرای اسکریپت:
chmod +x script.sh
./script.sh
✅ Bash Scripting یکی از قویترین ابزارهای مدیریت سرور و اتوماسیون در لینوکس است!
10. دستورات پیشرفته لینوکس که هر حرفهای باید بداند
📌 جستجوی یک فایل در کل سیستم:
find / -name “myfile.txt”
📌 جستجوی کلمه خاص در فایلها:
grep “error” /var/log/syslog
📌 مانیتورینگ استفاده از دیسک:
df -h
📌 نمایش میزان مصرف حافظه رم:
free -m
📌 خاموش کردن سیستم:
shutdown -h now




