لینوکس بهعنوان یکی از قدرتمندترین و محبوبترین سیستمعاملهای متنباز در جهان، بهویژه در محیطهای سرور و توسعه، شناخته میشود. کار با این سیستمعامل بیش از هر چیز مبتنی بر دستورات خط فرمان است که به کاربران امکان کنترل دقیق و سریع روی فایلها، فرآیندها و تنظیمات سیستم را میدهد.
آشنایی با پرکاربردترین دستورات لینوکس (terminal commands linux) مانند ls ،cd ،cp ،mv ،rm ،chmod ،ps و grep به افزایش بهرهوری کمک میکند و پایهای ضروری برای مدیریت حرفهای سیستمهای لینوکسی بهویژه برای مدیران شبکه و برنامهنویسان محسوب میشود. در این مقاله آموزش کامل دستورات ترمینال لینوکس را ارائه میدهیم.
برای آشنایی بیشتر با لینوکس کلیک کنید:
لینوکس چیست؟ آشنایی با سیستم عامل لینوکسچرا باید دستورات لینوکس را یاد بگیریم؟
یادگیری دستورات پرکاربرد لینوکس به کاربران قدرت کنترل مستقیم و دقیق بر سیستمعامل میدهد و پایهی اصلی مدیریت حرفهای سرورها و فایلها بهویژه در حوزههای شبکه و توسعه است.
علاوه بر این، تسلط بر ترمینال سرعت، انعطافپذیری و امنیت کار را چندین برابر افزایش میدهد. به طور کلی دلایل اصلی یادگیری دستورات لینوکس عبارت است از:
- افزایش سرعت و کارایی در انجام وظایف روزمره
- امکان مدیریت پیشرفته فایلها و فرآیندها
- کنترل دقیق منابع سیستم و امنیت بیشتر
- ضروری برای مدیران سرور، برنامهنویسان و کاربران حرفهای
- درک بهتر ساختار سیستمعامل و حل سریعتر مشکلات
دستورات مدیریت فایل و دایرکتوری
کار در محیط خط فرمان لینوکس تا حد زیادی بر پایه مدیریت فایلها و دایرکتوریها استوار است. کاربران با استفاده از مجموعهای از دستورات ساده اما قدرتمند، میتوانند فایلها را مشاهده، جابهجا، حذف یا ایجاد کنند و ساختار پوشهها را بهدلخواه خود تنظیم نمایند. در ادامه، مهمترین دستورات مدیریت فایل در لینوکس را به همراه مثال توضیح میدهیم.
دستور ls در لینوکس
دستور ls از پرکاربردترین دستورات لینوکس برای افراد مبتدی است و برای مشاهدهی فهرست فایلها و پوشههای موجود در مسیر فعلی استفاده میشود. با استفاده از گزینههای مختلف میتوان اطلاعات دقیقتری مانند نوع فایل، مجوز دسترسی، اندازه، تاریخ آخرین تغییر و فایلهای مخفی را نیز مشاهده کرد.
برای مثال گزینهی -l نمایش را بهصورت جدولی و کامل انجام میدهد و -a فایلهای مخفی را که با نقطه شروع میشوند نشان میدهد. به مثال زیر توجه کنید.
این دستور تمام فایلها و پوشههای موجود در مسیر /home/user را با جزئیات کامل .(شامل فایلهای مخفی) فهرست میکند.
دستور cd چیست؟
دستور cd یکی دیگر از دستورات پرکاربرد لینوکس است که برای تغییر دایرکتوری فعال یا همان مسیر کاری فعلی استفاده میشود. با آن میتوان به مسیرهای مختلف رفته یا به مسیر قبلی بازگشت. اگر دستور بدون هیچ آرگومانی اجرا شود، کاربر مستقیما به پوشهی خانه خود منتقل خواهد شد. همچنین علامت .. نشاندهندهی بازگشت به پوشهی بالاتر است. به طور مثال:
cd /var/www
این دستور کاربر را وارد مسیر /var/www میکند تا بتواند فایلهای مربوط به وبسرور را بررسی یا ویرایش کند.
دستور pwd برای نمایش مسیر فعلی
دستور pwd (مخفف Print Working Directory) مسیر کامل پوشهی فعلی را نشان میدهد. این دستور زمانی مفید است که کاربر در مسیرهای تودرتو قرار دارد و نمیداند دقیقا در کدام پوشه فعالیت میکند. به مثال زیر توجه نمایید.
pwd
با اجرای دستور بالا خروجی ممکن است چیزی مانند /home/user/Documents/Reports باشد، به این معنی که کاربر در پوشهی Reports فعالیت میکند.
دستور mkdir برای ساخت دایرکتوری
با دستور mkdir میتوان یک یا چند پوشهی جدید ایجاد کرد. اگر لازم باشد ساختار پوشهها بهصورت زنجیرهای و چند سطحی باشد، گزینهی -p کمک میکند تا در صورت نبود پوشههای والد، بهصورت خودکار ساخته شوند.
mkdir -p /home/user/projects/linux/scripts
در مثال بالا این دستور پوشههای projects، linux و scripts را بهترتیب ایجاد میکند، حتی اگر قبلا وجود نداشته باشند.
دستور rmdir برای حرف دایرکتوری
دستور rmdir برای حذف پوشههای خالی به کار میرود. اگر پوشه حاوی فایل یا زیر دایرکتوری باشد، این دستور خطا میدهد و اجرا نمیشود. برای حذف پوشههای غیرخالی باید از دستور rm -r استفاده کرد.
rmdir /home/user/test
مثلا این دستور پوشهی خالی test را از مسیر /home/user حذف میکند.
دستور rm برای حذف فایل و پوشهها
دستور rm یکی از بهترین دستورات لینوکس برای حذف فایلها یا پوشهها است. گزینهی -r حذف بازگشتی محتویات پوشهها را فعال میکند و گزینهی -f باعث حذف بدون نیاز به تایید کاربر میشود. استفاده از این دستور باید با دقت بالا انجام گیرد، زیرا فایلهای حذفشده قابل بازیابی نیستند.
rm -rf /home/user/old_backup
این دستور پوشهی old_backup و تمام محتویات داخل آن را بدون پرسش حذف میکند.
دستور cp برای کپی کردن
دستور cp برای کپی کردن فایلها یا پوشهها از محلی به محل دیگر استفاده میشود. با گزینهی -r میتوان پوشهها و محتوای آنها را بهصورت کامل کپی کرد و گزینهی -a باعث حفظ خصوصیات اصلی فایلها مانند مجوز دسترسی و زمان ایجاد میشود.
cp -a /home/user/source/ /home/user/backup/
با این دستور تمام فایلها و پوشههای موجود در مسیر source به مسیر backup همراه با حفظ ویژگیهای اصلی آنها منتقل میشوند.
دستور mv برای جابجایی
دستور mv برای جابهجایی فایلها و پوشهها از یک مکان به مکان دیگر و همچنین تغییر نام آنها کاربرد دارد. اگر مقصد یک مسیر باشد، فایل به آن مسیر منتقل میشود و اگر مقصد فقط نام جدید باشد، عمل تغییر نام انجام میشود.
mv report.txt /home/user/Documents/
mv report.txt final_report.txt
در مثال اول، فایل به پوشهی Documents منتقل میشود؛ در مثال دوم، نام فایل از report.txt به final_report.txt تغییر یافته است.
دستور touch برای ایجاد فوری فایل
دستور touch برای ایجاد سریع یک فایل خالی یا بهروزرسانی زمان آخرین تغییر یک فایل موجود استفاده میشود. این دستور برای ساخت فایلهای جدید پیش از شروع ویرایش یا برنامهنویسی بسیار کاربرد دارد.
touch /home/user/newfile.txt
اگر فایل newfile.txt وجود نداشته باشد، ساخته میشود؛ در غیر این صورت فقط زمان آخرین تغییر آن بهروز میگردد.
دستورات مشاهده و مدیریت محتوا
دستورات مشاهده و مدیریت محتوا در لینوکس به کاربران اجازه میدهد تا فایلهای متنی را بررسی، ویرایش و بخشهای دلخواه از آنها را مشاهده کنند.
این دستورات مانند cat، nano، vi، less، more، head و tail ابزارهایی ضروری برای کار با دادهها و پیکربندی فایلها در محیط متنی محسوب میشوند. در ادامه پرکاربردترین دستورات لینوکس برای افراد مبتدی جهت مشاهده و مدیریت محتوا را بررسی میکنیم.
دستور cat برای ترکیب چند فایل باهم
دستور cat (مخفف concatenate) یکی از سادهترین و در عین حال پرکاربردترین ابزارها در لینوکس برای مشاهده و ترکیب محتوای فایلها است.
این دستور میتواند محتوای یک یا چند فایل متنی را به ترتیب نمایش دهد، آنها را با هم ترکیب کرده و خروجی را در ترمینال نمایش دهد یا به فایل دیگری منتقل کند. از آن اغلب برای مشاهده سریع محتوا یا ایجاد فایلهای ساده متنی استفاده میشود.
cat notes.txt
برای مثال این دستور محتوای فایل notes.txt را مستقیما در ترمینال نمایش میدهد. و اگر بخواهیم چند فایل را یکی کنیم باید از دستور زیر استفاده نماییم.
cat file1.txt file2.txt > merged.txt
در این حالت محتوای هر دو فایل در فایل جدید merged.txt ذخیره میشود.
دستورات nano و vi
دستورهای nano و vi دو ویرایشگر متن محبوب در محیط ترمینال هستند که برای ایجاد و ویرایش فایلهای متنی به کار میروند. nano محیطی ساده، کاربرپسند و مناسب برای کاربران تازهکار دارد.
در حالی که vi (یا نسخهی پیشرفتهتر آن، vim) ابزار قدرتمندی است که امکانات بیشتری برای ویرایشگرهای حرفهای فراهم میکند. در vi دو حالت حالت فرمان (برای اعمال دستورات) و حالت ویرایش (برای تایپ متن).وجود دارد:
nano config.txt
بادستور بالا فایل config.txt باز شده و کاربر میتواند محتوای آن را مستقیما تغییر دهد.
vi script.sh
این دستور نیز فایل script.sh را در محیط vi باز میکند تا بتوان آن را ویرایش، ذخیره و اجرا کرد.
دستور less / more
دستورهای less و more برای مشاهدهی فایلهای متنی بلند استفاده میشوند، بدون آنکه کل فایل بهصورت یکجا روی صفحه نمایش داده شود. تفاوت این دو در امکانات پیمایش است.
less قابلیت حرکت به بالا و پایین، جستوجو در متن و پیمایش سریعتر دارد در حالی که more تنها اجازهی حرکت روبهجلو را میدهد. این دو دستور بهویژه برای مطالعهی فایلهای لاگ یا خروجی برنامهها بسیار مفیدند.
less /var/log/syslog
در مثال بالا این دستور محتوای فایل لاگ سیستم را صفحهبهصفحه نمایش میدهد و کاربر میتواند با کلیدهای جهتنما در متن جابهجا شود.
دستور head و tail
دستورات head و tail برای مشاهدهی بخش ابتدایی یا انتهایی فایلها کاربرد دارند. بهطور پیشفرض، head ده خط اول و tail ده خط آخر هر فایل را نشان میدهند؛ اما میتوان با گزینهی -n تعداد خطوط دلخواه را مشخص کرد. این دو دستور بهویژه در بررسی سریع محتوای فایلهای بزرگ یا نظارت بر فایلهای لاگ مفید هستند.
head -n 5 report.txt
tail -n 20 /var/log/syslog
در مثال اول پنج خط اول فایل report.txt نمایش داده میشود و در مثال دوم، ۲۰ خط انتهایی فایل لاگ سیستم قابل مشاهده است.
دستورات مدیریت دسترسیها و مالکیت
در سیستمعامل لینوکس، مدیریت سطح دسترسیها و تعیین مالکیت فایلها یکی از ارکان اصلی امنیت و کنترل کاربران است.
این دستورات به مدیر سیستم اجازه میدهند تا مشخص کند چه کسانی قادر به خواندن، نوشتن یا اجرای فایلها باشند و چه کاربرانی دسترسی مدیریتی (root) داشته باشند. در ادامه دستورات پرکاربرد لینوکس برای مدیریت دسترسیها را بررسی میکنیم.
دستور chmod
دستور chmod برای تغییر سطح دسترسی فایلها و دایرکتوریها استفاده میشود. در لینوکس هر فایل دارای سه نوع دستور خواندن (read)، نوشتن (write) و اجرا (execute) است که برای سه گروه کاربری (مالک، گروه، دیگران) تعریف میشوند.
تنظیم مجوزها میتواند به شکل عددی (مثلا 755 یا 644) یا حروفی (مثل u+rwx, g-w) انجام شود. عدد 7 به معنی دسترسی کامل (خواندن، نوشتن، اجرا) است، در حالی که 4 نشاندهنده فقط خواندن است.
chmod 755 script.sh
در مثال بالا این دستور به مالک اجازهی خواندن، نوشتن و اجرا و به سایر کاربران فقط اجازهی خواندن و اجرا را میدهد.
دستور chown
دستور chown برای تغییر مالکیت فایلها و دایرکتوریها کاربرد دارد. هر فایل در لینوکس دو ویژگی «مالک» (user) و «گروه» ( group) دارد.
با استفاده از chown میتوان مشخص کرد که چه کسی مالک فایل است یا یک فایل به کدام گروه تعلق دارد. این ویژگی در محیطهای چندکاربره اهمیت زیادی دارد؛ زیرا تعیین میکند چه کسی اختیار تغییر محتوا و مجوزهای فایل را دارد.
chown ali:developers project.txt
این دستور مالک فایل project.txt را کاربر ali و گروه آن را developers قرار میدهد.
دستور sudo
دستور sudo (مخفف “superuser do”) ابزاری برای اجرای دستورات مدیریتی با دسترسی کاربر ریشه (root) است. در لینوکس معمولا کاربران عادی برای محافظت از سیستم دسترسی مستقیم به تنظیمات حساس ندارند؛ اما با sudo میتوان بهصورت موقت و کنترلشده دستوراتی را با سطح دسترسی مدیر اجرا کرد. استفاده از آن باعث افزایش امنیت میشود؛ زیرا نیازی به ورود مستقیم به حساب root نیست و همه فعالیتها در فایل لاگ ذخیره میشوند.
sudo apt update
برای مثال این دستور عملیات بهروزرسانی فهرست بستههای نرمافزاری سیستم را با سطح دسترسی مدیریتی انجام میدهد.
دستورات شبکه در لینوکس
در سیستمعامل لینوکس، دستورات شبکه ابزارهایی قدرتمند برای بررسی وضعیت اتصال، پیکربندی واسطهای شبکه و تبادل داده با سرورها هستند.
این دستورات در مدیریت و اشکالزدایی ارتباطات شبکه نقش کلیدی دارند و هم برای مدیران سیستم و هم کاربران معمولی ضروریاند. در ادامه دستورات لینوکس برای شبکه را بررسی خواهیم کرد.
دستور ping
دستور ping برای بررسی اتصال بین سیستم محلی و یک مقصد خاص (مانند سرور یا دستگاه شبکه) استفاده میشود. این دستور از پروتکل ICMP برای ارسال بستههای داده استفاده کرده و نتیجهی پاسخ آن را نمایش میدهد.
با استفاده از ping میتوان مقدار تاخیر (latency)، درصد از دست رفتن بستهها و پایداری ارتباط را ارزیابی کرد. در محیطهای شبکهای، این دستور اولین قدم برای تشخیص مشکل ارتباطی است.
ping google.com
با اجرای این دستور، سیستم چند درخواست به سرور گوگل ارسال میکند و زمان پاسخ هر بسته را نمایش میدهد.
دستور ifconfig / ip
دستورات ifconfig و ip برای نمایش و تنظیم پیکربندی رابطهای شبکه به کار میروند. در نسخههای قدیمی لینوکس، ifconfig ابزار اصلی برای مشاهدهی آدرس IP و فعالسازی یا غیرفعالسازی کارت شبکه بود؛ اما امروزه دستور ip جایگزین مدرنتر و قدرتمندتری محسوب میشود. به کمک این دستورات میتوان مشخصات کارت شبکه، آدرسهای IPv4 و IPv6، و مسیرهای ارتباطی را کنترل کرد.
ip addr show
این دستور تمام رابطهای شبکه و آدرسهای آنها را نمایش میدهد. نسخهی قدیمیتر آن بهصورت زیر است:
ifconfig
دستور netstat / ss
دستورات netstat و ss برای نمایش وضعیت ارتباطات شبکه، پورتهای باز، سوکتها و اتصالات فعال استفاده میشوند. ss جانشین بهروزتر netstat است و سرعت و دقت بهتری در نمایش اطلاعات سوکتها دارد. این دستورات امکان بررسی اتصالات TCP و UDP و رابطهای شبکه را فراهم میکنند و در مدیریت امنیت سیستم بسیار کاربرد دارند.
دستور curl و wget
دستورات curl و wget برای برقراری ارتباط با سرورها و انتقال داده از طریق پروتکلهای مختلف مانند HTTP، HTTPS و FTP استفاده میشوند. wget اغلب برای دانلود فایلها از اینترنت بهکار میرود، در حالی که curl انعطاف بیشتری دارد و علاوه بر دریافت فایل، توانایی ارسال درخواستهای پیچیدهی API و تعامل با سرویسهای وب را دارد. این دو ابزار در اسکریپتنویسی و خودکارسازی فرایندهای شبکهای بسیار مفیدند.
wget https://example.com/file.zip
curl -O https://example.com/file.zip
هر دو دستور فایل مشخصشده را از اینترنت دانلود کرده و در دایرکتوری فعلی ذخیره میکنند.
دستورات مدیریت پردازش
در ادامه دستورات لینوکس در ترمینال برای مدیریت پردازش دادهها را بررسی خواهیم کرد.
دستورات آرشیو و فشردهسازی
برخی از دستورات پایه لینوکس برای آرشیو و فشرده سازی عبارت اند از:
- Tar: برای ایجاد، استخراج و مدیریت آرشیوها استفاده میشود و میتواند چندین فایل و پوشه را در یک بسته واحد جمعآوری کند.
- Gzip: برای فشردهسازی یا کاهش حجم فایلها بهصورت تکفایل استفاده میشود و خروجی آن معمولا با پسوند gz است.
- Unzip: برای بازکردن یا استخراج محتوای فایلهای فشردهشده با فرمت zip به کار میرود و امکان مشاهده محتوا را نیز فراهم میکند.
دستورات مدیریت پکیج ها CentOS / Ubuntu-
دستورات مدیریت پکیجها در لینوکس برای CentOS و Ubuntu عبارت است از:
- yum / dnf: این دو دستور ابزار مدیریت پکیج در CentOS و توزیعهای مبتنی بر RHEL هستند و برای نصب، حذف، بهروزرسانی و جستوجوی بستهها استفاده میشوند. dnf نسخه جدیدتر و سریعتر yum محسوب میشود.
- Apt: این دستور برای مدیریت بسته در Ubuntu و Debian است و برای نصب، حذف، بهروزرسانی سیستم و مدیریت مخازن نرمافزاری بهکار میرود.
دستورات مونت و مدیریت دیسک در لینوکس
دستورات پرکاربرد لینوکس برای مونت و مدیریت دیسک عبارت است از:
- Df: برای نمایش میزان فضای استفادهشده و باقیماندهی دیسکها و پارتیشنهای متصلشده به سیستم استفاده میشود.
- Du: برای محاسبه و نمایش میزان فضای اشغالشده توسط فایلها و پوشهها در مسیرهای مختلف کاربرد دارد.
- mount / umount: برای اتصال (mount) یک پارتیشن، دیسک یا فایلسیستم به مسیر دلخواه در سیستم و جدا کردن آن (umount) از سیستم فایل استفاده میشوند.
دستورات کاربردی دیگر در Linux
برخی از دستورات ضروری لینوکس برای مبتدیان عبارت است از:
- History: این دستور برای نمایش تاریخچه دستوراتی که قبلا در ترمینال اجرا کردهاید استفاده میشود.
- Clear: این دستور برای پاککردن صفحه ترمینال و ایجاد یک محیط تمیز برای ادامهی کار است.
- Man: برای نمایش راهنمای کامل یک دستور و توضیح گزینهها و نحوه استفاده از آن استفاده میگردد.
- Uname: برای نمایش اطلاعات سیستم مانند نوع هسته، نسخه لینوکس یا معماری سیستم به کار میرود.
- reboot / shutdown: دستورات مدیریت خاموشکردن یا راهاندازی مجدد سیستم هستند. reboot برای ریاستارت و shutdown برای خاموشکردن یا زمانبندی خاموشی استفاده میشود.
دستورات ساده لینوکس
معرفی دستورات ساده اما مهم لینوکساجرای دستورات روی سرور مجازی لینوکس آذرآنلاین
به طور کلی آشنایی با پرکاربردترین دستورات لینوکس یک مهارت مهم برای هر کاربر، مدیر سیستم یا کسی است که قصد دارد وارد دنیای حرفهای این سیستمعامل شود. این دستورات بهعنوان ابزارهای اصلی کار در محیط ترمینال عمل میکنند و سرعت، دقت و قدرت بیشتری به کاربر میبخشند.
تسلط بر دستورات پایه لینوکس موجب صرفهجویی در زمان و افزایش بهرهوری میشود. با تهیه یک سرور مجازی لینوکس، میتوانید دستورات را در یک محیط واقعی اجرا کنید، مدیریت سرور را بیاموزید و پروژههای خود را بدون محدودیت پیش ببرید.
سوالات متداول
چرا باید از لینوکس استفاده کرد؟
Linux یک سیستمعامل رایانه بسیار محبوب است. طرفداران زیاد آن تضمینی برای پشتیبانی از این برنامه بوده و میتوانید به سادگی آن را برای خود راه اندازی کنید. امنیت این سیستم عامل متن باز بسیار قوی است و استفاده از آن رایگان است.
آیا برای استفاده از لینوکس باید برنامه نویسی بلد باشیم؟
وجود دانش برنامه نویسی بسیار مفید است اما کاربران عادی نیز میتوانند با استفاده از دستورات ساده کار خود را انجام دهند.
چطور باید به لینوکس دستورات خود را بدهیم؟
برای ارتباط برقرار کردن با این سیستم عامل باید از طریق کدها و دستورات اصلی و به کمک ترمینال این برنامه عمل کنید.
آیا حفظ کردن تمامی این کدها ضروری است؟
برای کار با لینوکس باید از دستورات مستقیم استفاده کرد اما به دلیل زیاد بودن تعداد کدهای موجود امکان حفظ کردن آن برای همه وجود ندارد. کدهایی که در این آموزش مطرح شد جزو مهمترین کدها بوده و پیشنهاد میشود که آنها را یاد بگیرید.
برای نصب یا حذف برنامهها در لینوکس از چه دستوری استفاده کنیم؟
در Ubuntu از apt و در CentOS از yum یا dnf برای نصب، حذف و بهروزرسانی پکیجها استفاده میشود.
چطور میتوانیم یک فایل یا پوشه را در لینوکس فشرده کنیم؟
میتوانید از tar برای ایجاد آرشیو و از gzip برای فشردهسازی استفاده کنید.
من فرزانه یوسفی هستم؛ نویسنده و تولیدکننده محتوای وب. علاقه زیادی به تحقیق و نوشتن دارم و تلاش میکنم مطالب کاربردی و بهروز ارائه کنم تا مطالعه برای خوانندگان لذتبخشتر و مفیدتر باشد.



