آنچه در مقاله میخوانید
کار با ترمینال یکی از راههای سریع و دقیق مدیریت فایلها و انجام کارهای روزمره در لینوکس است. اگر میخواهید روی رایانهٔ شخصی یا سرور مجازی لینوکسی خود پوشه بسازید، فایلها را جابهجا کنید یا راهنمای یک فرمان را بخوانید، بهتر است ابتدا چند مورد از دستورات کاربردی لینوکس را بشناسید.
در این آموزش دستورات لینوکس، ۱۰ فرمان پایه را با مثال یاد میگیرید و در ادامه، معنی نامها و اختصارهای رایج را مرور میکنیم. این راهنما برای شروع آموزش دستورات ترمینال لینوکس مناسب است و برای انجام مثالها به محیط ترمینال و یک حساب کاربری با دسترسی متعارف به پوشهٔ کاری خود نیاز دارید.
خط فرمان، ترمینال و Shell در لینوکس چه تفاوتی دارند؟
ترمینال محیطی برای نوشتن فرمان و دیدن خروجی آن است. پوسته یا Shell، مانند Bash، دستور واردشده را تفسیر و اجرا میکند. «رابط خط فرمان» یا CLI هم به شیوهٔ تعامل متنی با سیستم گفته میشود؛ بنابراین ترمینال و Shell دقیقاً یک مفهوم نیستند.
فرمانهای این مقاله برای محیطهای رایج GNU/Linux با پوستهٔ Bash نوشته شدهاند و در بسیاری از توزیعها کاربرد دارند. مثالها را بدون علامت # یا $ وارد کنید؛ این علامتها در بعضی آموزشها فقط نماد خط فرمان هستند. نام فایلها و پوشهها نیز به حروف بزرگ و کوچک حساس است.
پرکاربردترین دستورات لینوکس برای مدیریت فایلها و پوشهها
از میان دستورهای لینوکسی فراوان، این ۱۰ فرمان برای شروع کاربرد بیشتری دارند. مثالها مستقل از یکدیگرند، اما اگر میخواهید آنها را پشت سر هم اجرا کنید، ابتدا فایل یا پوشهٔ نامبردهشده را بسازید و از حذف فایلهای مهم خودداری کنید.
1) دستور cd برای جابهجایی بین پوشهها (change directory)
دستور cd (کوتاهشدهٔ Change Directory) مسیر کاری جاری را تغییر میدهد. برای رفتن به پوشهٔ Desktop در مسیر فعلی، از فرمان زیر استفاده کنید؛ البته این پوشه باید در همان مسیر وجود داشته باشد.
cd Desktop
برای بازگشت به پوشهٔ والد از .. استفاده کنید. دستور cd ~ نیز شما را به پوشهٔ خانگی حساب کاربری میبرد.
cd .. cd ~
2) دستور ls برای دیدن فایلها و پوشهها (list directory)
با دستور ls میتوانید محتویات مسیر فعلی را ببینید. اگر به جزئیاتی مانند سطح دسترسی و اندازهٔ فایل نیاز دارید، گزینهٔ -l و برای نمایش فایلهای پنهانِ آغازشده با نقطه، گزینهٔ -a کاربرد دارد.
ls ls -la
3) دستور touch؛ دستور ساخت فایل در لینوکس
یکی از سادهترین روشها برای ایجاد یک فایل خالی، استفاده از touch است. دستور زیر در صورت نبودن فایل، mobinhost.txt را میسازد. اگر فایل از قبل وجود داشته باشد، touch بهطور معمول زمانهای دسترسی و ویرایش آن را بهروز میکند و محتوایش را پاک نمیکند.
touch mobinhost.txt
برای اطمینان از ساختهشدن فایل میتوانید نام آن را با ls -l mobinhost.txt بررسی کنید.
ls -l mobinhost.txt
4) دستور mkdir برای ساخت پوشه (make directory)
فرمان mkdir (کوتاهشدهٔ Make Directory) یک پوشهٔ جدید میسازد. برای ساخت پوشهای به نام MobinHost از فرمان زیر استفاده کنید:
mkdir MobinHost
اگر لازم است چند پوشهٔ تودرتو را یکجا ایجاد کنید، گزینهٔ -p پوشههای میانیِ موجودنبوده را هم میسازد.
mkdir -p MobinHost/backups/daily
5) دستور rm برای حذف فایل (remove)
دستور rm (کوتاهشدهٔ Remove) فایل مشخصشده را حذف میکند. برای مثال، فرمان زیر فایل mobinhost.txt را در مسیر جاری حذف خواهد کرد؛ در صورت نبودن فایل، خطا نمایش داده میشود.
rm mobinhost.txt
هشدار: حذف با rm فایل را به سطل زبالهٔ محیط گرافیکی منتقل نمیکند. این فرمان بهصورت پیشفرض پوشهها را حذف نمیکند و برای حذف بازگشتی پوشه و محتویاتش باید از -r استفاده شود که میتواند اطلاعات زیادی را از بین ببرد. بنابراین پیش از حذف، مسیر و نام هدف را بررسی کنید. برای دریافت تأیید پیش از حذف هر فایل نیز میتوانید از rm -i کمک بگیرید.
rm -i mobinhost.txt
6) دستور mv برای انتقال یا تغییر نام فایل (move file or directory)
فرمان mv (کوتاهشدهٔ Move) فایل یا پوشه را جابهجا میکند و برای تغییر نام نیز به کار میرود. در مثال زیر، نام mobinhost.txt به abc.txt تغییر میکند. توجه کنید فایل مبدأ باید وجود داشته باشد؛ اگر آن را در مثال rm حذف کردهاید، ابتدا دوباره بسازید.
mv mobinhost.txt abc.txt
7) دستور cp برای کپی فایلها (copy)
با cp (کوتاهشدهٔ Copy) میتوانید از یک یا چند فایل نسخهٔ دیگری تهیه کنید. مثال زیر تمام فایلهای دارای پسوند txt. در پوشهٔ جاری را به پوشهٔ MobinHost کپی میکند. دقت داشته باشید که مقصد باید از قبل وجود داشته باشد.
cp *.txt MobinHost/
برای کپیکردن خودِ یک پوشه و محتویاتش، میتوان از گزینهٔ بازگشتی -r استفاده کرد؛ فقط پیش از اجرای آن، مقصد را بررسی کنید تا ناخواسته فایلی بازنویسی نشود.
cp -r MobinHost MobinHost-backup
8) دستور cat برای نمایش محتوای فایل (concatenate)
cat (برگرفته از Concatenate) یکی از دستورات پرکاربرد لینوکس برای نمایش سریع محتوای فایل متنی و کنار هم قراردادن خروجی چند فایل است. برای مشاهدهٔ محتوای test.txt، در صورتی که فایل وجود داشته باشد، از دستور زیر استفاده کنید:
cat test.txt
اگر فایل طولانی است، ابزارهایی مانند less برای مرور مرحلهای مناسبترند.
9) دستور clear برای پاککردن نمای ترمینال
وقتی خروجی فرمانهای قبلی صفحه را شلوغ میکند، clear نمای ترمینال را پاکسازی میکند. این کار فایلها یا فرمانهای اجراشده را حذف نمیکند.
clear
10) دستور man برای خواندن راهنمای فرمانها (Manual pager)
با man (مرتبط با Manual) میتوانید صفحهٔ راهنمای بسیاری از فرمانها و گزینههای آنها را ببینید. مثلاً دستور زیر راهنمای ls را باز میکند. برای خروج از نمای راهنما معمولاً کلید q را فشار دهید.
man ls
در برخی نصبهای حداقلی ممکن است بستهٔ راهنما نصب نباشد. در چنین شرایطی، گزینهٔ help– برای بسیاری از ابزارهای GNU توضیح مختصری ارائه میدهد.
ls --help
چطور مهم ترین دستورات لینوکس را تمرین کنیم؟
برای تمرین بدون دستزدن به فایلهای اصلی، در پوشهٔ خانگی خود یک پوشهٔ آزمایشی بسازید. با pwd مسیر جاری را ببینید، سپس یک فایل خالی ایجاد کنید، آن را کپی کنید و در پایان با ls نتیجه را بررسی کنید. در این تمرین عمداً از حذف فایل استفاده نشده است.
cd ~
mkdir -p linux-practice
cd linux-practice
pwd
touch sample.txt
cp sample.txt sample-copy.txt
ls -l
خروجی ls -l باید نام دو فایل sample.txt و sample-copy.txt را نشان دهد. وجود این فایلها به معنی درستبودن مراحل ساخت و کپی است.
دستورات مخفف لینوکس؛ معنی نام فرمانها و اصطلاحات رایج
ممکن است با ابزارهایی مانند apt، pwd یا ssh کار کرده باشید، اما ندانید نام آنها از کجا آمده است. جدولهای زیر معنی اختصارها یا توضیح رایج نام ابزارها را در چند دسته ارائه میکنند. توجه کنید همهٔ موارد جدولها «دستور» نیستند؛ برخی فناوری، پروتکل یا اصطلاحاند و برخی نامها هم مخفف رسمیِ حرفبهحرف ندارند.
مخفف ابزارهای مدیریت بسته در لینوکس
| نام فرمان یا اصطلاح | معنا / توضیح |
| yum | Yellowdog Updater, Modified |
| dnf | Dandified Yum (نام تاریخی پروژه) |
| apt | Advanced Package Tool |
| rpm | RPM Package Manager؛ نام تاریخی: Red Hat Package Manager |
| dpkg | Debian Package (ابزار مدیریت بستهٔ دبیان) |
| YaST | Yet another Setup Tool |
نام ابزارهای کپی و انتقال فایل
| نام فرمان یا اصطلاح | معنا / توضیح |
| cp | Copy |
| scp | Secure Copy |
| rsync | ابزار همگامسازی فایل؛ نام آن لزوماً یک سرواژهٔ رسمی نیست |
| pssh | Parallel SSH |
| dsh | Distributed Shell؛ نام یکی از ابزارهای اجرای فرمان روی چند میزبان |
نام ابزارهای مربوط به پارتیشن دیسک
| نام فرمان یا اصطلاح | معنا / توضیح |
| fdisk | ابزار مدیریت جدول پارتیشن؛ گاهی Fixed Disk بهعنوان توضیح نامش ذکر میشود |
| parted | ابزار ایجاد و ویرایش پارتیشن؛ نام برنامه است، نه یک مخفف قطعی |
| cfdisk | رابط مبتنی بر curses برای ابزار fdisk |
اختصارات مربوط به فایلسیستم و ذخیرهسازی
| نام فرمان یا اصطلاح | معنا / توضیح |
| udev | سامانهٔ مدیریت دستگاهها در فضای کاربر (userspace /dev) |
| ASM | Automatic Storage Management؛ فناوری مرتبط با پایگاه دادهٔ Oracle، نه دستور پایهٔ لینوکس |
| fsck | File System Check؛ ابزار بررسی سازگاری فایلسیستم |
| lvm | Logical Volume Manager |
| mkfs | Make File System |
| UUID | Universally Unique Identifier؛ نوعی شناسه، نه یک دستور |
| RAID | Redundant Array of Independent Disks؛ فناوری ذخیرهسازی، نه یک دستور |
سایر فرمانها، نامها و کلمات اختصاری رایج
| نام فرمان یا اصطلاح | معنا / توضیح |
| ssh | Secure Shell |
| su | تغییر هویت کاربری؛ معمولاً Substitute User تعبیر میشود |
| tar | Tape Archive |
| sar | System Activity Reporter |
| GRUB | GRand Unified Bootloader |
| dig | Domain Information Groper |
| grep | برگرفته از الگوی g/re/p در ویرایشگر ed |
| LILO | Linux Loader |
| init | Initialization |
| SELinux | Security-Enhanced Linux |
| chmod | Change Mode |
| pwd | Print Working Directory |
| cd | Change Directory |
| xargs | ابزار ساخت آرگومان و اجرای فرمان؛ گسترش قطعی نام مشخص نیست |
| netstat | Network Statistics |
| FTP | File Transfer Protocol |
| du | Disk Usage |
| lsof | List Open Files |
| wc | Word Count |
| SSL | Secure Sockets Layer |
| ps | Process Status |
| SFTP | SSH File Transfer Protocol |
| HTTPS | Hypertext Transfer Protocol Secure |
| GUI | Graphical User Interface |
| UI | User Interface |
| DE | Desktop Environment |
| FQDN | Fully Qualified Domain Name |
| DNS | Domain Name System |
| PHP | PHP: Hypertext Preprocessor |
| HTTP | Hypertext Transfer Protocol |
| LAMPP | Linux, Apache, MySQL, PHP and Perl (نام رایج یک پشته) |
| LAMP | Linux, Apache, MySQL, PHP (نام یک پشتهٔ نرمافزاری) |
| chgrp | Change Group |
| chown | Change Owner |
جمعبندی
برای شروع کار با لینوکس لازم نیست همهٔ فرمانها را حفظ کنید. اگر هدف یادگیری مهمترین دستورات لینوکس برای مدیریت روزمرهٔ فایلها باشد، تسلط بر cd، ls، touch، mkdir، cp، mv، rm، cat، clear و man نقطهٔ شروع مناسبی است. بهتر است هر دستور را ابتدا در یک پوشهٔ آزمایشی اجرا کنید و پیش از استفاده از فرمانهای حذف یا جابهجایی در مسیرهای حساس، نتیجه و مقصد را دوباره بررسی کنید.
اگر با سرور مجازی لینوکس کار میکنید، همین فرمانهای پایه به شما کمک میکنند بدون نیاز به رابط گرافیکی فایلهای پروژه، پوشههای پشتیبان و مسیرهای کاری را مدیریت کنید.












