لینوکس چیست و چرا باید آن را یاد بگیریم؟
لینوکس (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) اجرا میشود و یکی از مهارتهای مهم، مدیریت پردازشها و بستن برنامه های هنگکرده است. روی سرور عملیاتی، پیش از kill کردن یک پردازش ببینید به کدام سرویس تعلق دارد؛ این نوع تصمیمها بخش روزمره مدیریت سرور لینوکس است.
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





