سلام رفیق! اگه اولین باره که با لینوکس سر و کله میزنی یا حتی اگه قبلاً کار کردی و میخوای یه مرور سریع داشته باشی، جای درستی اومدی. قراره اینجا با هم بریم سراغ اون فرمانهای حیاتی که از همون روز اول کار با لینوکس، حکم دست و پا رو برات دارن. آمادهای؟ بزن بریم!
اصلاً چرا باید ترمینال رو بلد باشی؟
شاید بگی خب من که دارم با رابط گرافیکی کار میکنم، چه نیازی به این صفحه سیاه و سفید و تایپ کردن دارم؟ حق با توئه، رابطهای گرافیکی خیلی کار رو آسون کردن. اما رفیق، ترمینال قلب تپنده لینوکسه! قدرتی که ترمینال بهت میده، هیچ رابط گرافیکی نمیتونه بهش نزدیک بشه. میتونی کارها رو اتوماتیک کنی، چند تا کار رو همزمان انجام بدی و خلاصه، خیلی حرفهایتر عمل کنی.

فرقی نمیکنه توسعهدهنده باشی، مدیر سرور یا حتی یه کاربر عادی که میخواد بیشتر از سیستمش سر در بیاره؛ یادگرفتن دستورات لینوکس یه مهارت حیاتیه. انگار که داری زبان خود سیستم رو یاد میگیری. پس بزن بریم که با هم این زبان رو کشف کنیم و آماده بشیم برای شروع دنیای لینوکس!
اولین قدم: گشت و گذار در فایلها و پوشهها:
اولین کاری که توی هر سیستمی میکنی، چیه؟ خب معلومه، دیدن فایلها و پوشهها! توی لینوکس هم همینطوره. بیایم با چند تا فرمان پایه که برای گشت و گذار توی سیستم فایل لازمت میشن، شروع کنیم.
- `pwd`: این فرمان مخفف "Print Working Directory" هست و بهت میگه الان دقیقاً توی کدوم پوشه از سیستم قرار داری. یه جورایی مثل آدرسدهی توی خونه خودته.
- `ls`: کلمه "list" رو شنیدی؟ این فرمان دقیقاً همون کار رو میکنه؛ لیست فایلها و پوشههایی که توی دایرکتوری فعلیات هست رو بهت نشون میده. اگه `ls -l` رو بزنی، جزئیات بیشتری مثل حجم، تاریخ و صاحب فایل رو میبینی.
- `cd`: این فرمان مخفف "Change Directory" هست و برای تغییر پوشه استفاده میشه. مثلاً `cd Documents` تو رو میبره توی پوشه Documents. اگه `cd ..` بزنی، یه پوشه برمیگردی عقب. با `cd ~` هم مستقیم میری به Home Directory خودت.
- `mkdir`: میخوای یه پوشه جدید بسازی؟ `mkdir my_new_folder` رو بزن و تمام! یه پوشه به اسم `my_new_folder` برات ساخته میشه.
- `touch`: برای ساخت یه فایل خالی از این فرمان استفاده کن. مثلاً `touch my_file.txt` یه فایل متنی خالی برات میسازه.
نکته طلایی: برای اینکه بفهمی یه فرمان چطور کار میکنه یا چه گزینههایی داره، کافیه بعد از اون فرمان، ` --help` رو اضافه کنی. مثلاً `ls --help` کلی اطلاعات مفید بهت میده!

مدیریت فایلها، کپی، جابجایی و حذف:
حالا که میتونی توی سیستم فایل بچرخی و پوشه و فایل بسازی، نوبت به مدیریت اونها میرسه. کپی کردن، جابجا کردن یا حذف کردن فایلها کارهایی هستن که روزمره باهاشون سروکار داری.
- `cp`: این فرمان برای کپی کردن فایلهاست. مثلاً `cp file1.txt /home/user/Documents/` فایل `file1.txt` رو کپی میکنه توی پوشه `Documents`. اگه بخوای یه پوشه رو با تمام محتویاتش کپی کنی، باید از `cp -r folder1 /home/user/backup/` استفاده کنی.
- `mv`: برای جابجا کردن (move) یا تغییر نام (rename) فایلها و پوشهها استفاده میشه. `mv old_name.txt new_name.txt` اسم فایل رو عوض میکنه و `mv file.txt /home/user/Archive/` فایل رو به پوشه `Archive` منتقل میکنه.
- `rm`: این فرمان برای حذف فایلهاست. `rm unwanted_file.txt` فایل رو حذف میکنه. مواظب باش! `rm` خیلی قدرتمنده و فایلهای حذف شده رو نمیتونی برگردونی. اگه بخوای یه پوشه رو با تمام محتویاتش حذف کنی، باید از `rm -r folder_to_delete` استفاده کنی.
یه نکته خیلی مهم: وقتی با `rm` کار میکنی، همیشه با احتیاط باش. یه اشتباه کوچیک میتونه فاجعهبار باشه! برای همین، قبل از حذف کردن فایلهای مهم، همیشه یه بکآپ داشته باش. اگه درباره بکآپگیری میخوای بیشتر بدونی، میتونی به این دوره سری بزنی.
دیدن محتوای فایلها و پیدا کردنشون:
فایلها رو ساختی و جابجا کردی، حالا چطور محتویاتشون رو ببینی یا یه فایل خاص رو پیدا کنی؟ اینجاست که فرمانهای `cat`، `less` و `find` به کارت میان.
- `cat`: مخفف "concatenate" هست و محتوای یه فایل رو مستقیم توی ترمینال بهت نشون میده. مثلاً `cat my_notes.txt`.
- `less`: اگه فایل خیلی بزرگ باشه و `cat` همه رو یهو نشون بده، ممکنه سخت باشه. `less` بهت اجازه میده محتوای فایل رو صفحه به صفحه ببینی. با Space میری صفحه بعد و با `q` خارج میشی.
- `grep`: این فرمان برای جستجو توی محتوای فایلهاست. مثلاً `grep "error" /var/log/syslog` توی فایل `syslog` دنبال کلمه "error" میگرده و خطوطی که این کلمه رو دارن، بهت نشون میده.
- `find`: برای پیدا کردن فایلها و پوشهها بر اساس نام، حجم، تاریخ و کلی معیار دیگه استفاده میشه. مثلاً `find . -name "*.log"` توی دایرکتوری فعلی و زیرشاخههاش دنبال همه فایلهای با پسوند `.log` میگرده.
نکته طلایی: استفاده از Pipe ( | ) یه قابلیت فوقالعاده توی ترمیناله. میتونی خروجی یه فرمان رو ورودی فرمان دیگه قرار بدی. مثلاً `ls -l | grep ".txt"` لیست فایلها رو میگیره و بعد فقط فایلهای متنی رو از بینشون فیلتر میکنه. قدرت واقعی لینوکس اینجاست!
نصب و مدیریت نرمافزارها: (بسته به توزیع لینوکس شما):
یکی از بهترین بخشهای لینوکس، مدیریت ساده نرمافزارهاست. هر توزیعی (مثل اوبونتو، فدورا، آرچ) سیستم مدیریت بسته خودش رو داره. ما اینجا چند تا از رایجترینها رو معرفی میکنیم.
- برای توزیعهای مبتنی بر دبیان (مثل اوبونتو):
- `sudo apt update`: لیست بستههای موجود رو بهروزرسانی میکنه.
- `sudo apt upgrade`: بستههای نصب شده رو بهروز میکنه.
- `sudo apt install package_name`: یه بسته جدید رو نصب میکنه. مثلاً `sudo apt install htop`.
- `sudo apt remove package_name`: یه بسته رو حذف میکنه.
- برای توزیعهای مبتنی بر ردهت (مثل فدورا، CentOS):
- `sudo dnf update`: لیست بستهها رو بهروزرسانی میکنه.
- `sudo dnf install package_name`: یه بسته جدید رو نصب میکنه.
- `sudo dnf remove package_name`: یه بسته رو حذف میکنه.
فراموش نکن که `sudo` رو قبل از این فرمانها بذاری. `sudo` به معنی "superuser do" هست و بهت اجازه میده فرمان رو با دسترسی مدیریت اجرا کنی. چون نصب و حذف نرمافزارها نیاز به دسترسی بالا داره.

کمک خواستن از خود لینوکس: فرمان `man`:
اگه یه فرمان رو فراموش کردی یا میخوای جزئیات بیشتری در موردش بدونی، خود لینوکس یه راهنمای عالی داره: فرمان `man`. این فرمان مخفف "manual" هست و صفحات راهنمای (man pages) هر فرمان رو بهت نشون میده.
مثلاً `man ls` رو توی ترمینال بزن. میبینی که یه صفحه کامل با تمام گزینهها و مثالهای مربوط به فرمان `ls` باز میشه. با کلیدهای جهتنما میتونی بالا و پایین بری و با `q` ازش خارج بشی. این همون چیزیه که بهش میگن "خودآموزی"! برای اطلاعات بیشتر، میتونی سری به صفحات راهنمای لینوکس بزنی.
فرمانهای متفرقه و کاربردی که باید بدونی:
غیر از اون فرمانهایی که تا الان گفتیم، چند تا فرمان دیگه هم هستن که خیلی به کارت میان و کار رو برات راحتتر میکنن. اینا رو هم به لیستت اضافه کن.
- `clear`: صفحه ترمینال رو پاک میکنه و از بالا شروع میکنی. خیلی وقتا که صفحه شلوغ میشه، به درد میخوره.
- `history`: تمام فرمانهایی که قبلاً اجرا کردی رو بهت نشون میده. میتونی با کلیدهای جهتنما (بالا و پایین) هم بین فرمانهای قبلی جابجا بشی.
- `df -h`: فضای خالی دیسک رو به صورت "human-readable" (قابل فهم برای انسان) بهت نشون میده.
- `du -sh *`: حجم پوشه فعلی و فایلهاش رو بهت میگه. این فرمان برای پیدا کردن فایلهای حجیم خیلی مفیده.
- `top` یا `htop`: اطلاعات مربوط به پردازشهای در حال اجرا، مصرف رم و CPU رو به صورت لحظهای بهت نشون میده. `htop` یه نسخه پیشرفتهتر و گرافیکیتر از `top` هست.
یادت نره، کلید `Ctrl+C` برای متوقف کردن یه فرمان در حال اجرا استفاده میشه. اگه یه فرمان گیر کرد یا نمیخوای ادامه پیدا کنه، از این ترکیب کلید استفاده کن.
حرف آخر: شروع کن و تمرین کن!
خب رفیق، تا اینجا یه عالمه فرمان کاربردی و اساسی لینوکس رو با هم مرور کردیم. شاید اولش گیجکننده به نظر برسه، اما بهت قول میدم با تمرین و تکرار، این فرمانها برات مثل آب خوردن میشن. هر روز سعی کن چند تا از این فرمانها رو توی ترمینال بزنی و باهاشون بازی کنی. بهترین راه یادگیری، عمل کردن و تجربهست.
لینوکس یه دنیای بزرگه و این فقط نوک کوه یخ بود. اما با همین فرمانها، میتونی خیلی از کارهای روزمره رو با سرعت و قدرت بیشتری انجام بدی. اگه سوالی داشتی یا خواستی بیشتر یاد بگیری، حتماً به بخش بلاگ لینوکس Knowxis سر بزن. موفق باشی!
چرا باید از ترمینال لینوکس استفاده کنم؟
ترمینال لینوکس به شما قدرت و انعطافپذیری بالایی برای کنترل سیستم میدهد. میتوانید کارهای پیچیده را اتوماتیک کنید، چندین عملیات را همزمان انجام دهید و به ابزارهای قدرتمندی دسترسی پیدا کنید که در رابطهای گرافیکی موجود نیستند. این یک مهارت ضروری برای توسعهدهندگان و مدیران سیستم است.
چگونه میتوانم راهنمای یک فرمان را در ترمینال ببینم؟
برای دیدن راهنمای هر فرمان، کافی است از فرمان `man` استفاده کنید. مثلاً `man ls` تمام گزینهها و نحوه استفاده از فرمان `ls` را به شما نشان میدهد. همچنین، میتوانید از `command_name --help` برای راهنمایی سریعتر استفاده کنید.
چه تفاوتی بین `cp` و `mv` وجود دارد؟
`cp` برای "کپی کردن" فایلها یا پوشهها استفاده میشود، به این معنی که یک نسخه جدید از منبع در مقصد ایجاد میشود و منبع اصلی دستنخورده باقی میماند. اما `mv` برای "جابجا کردن" (move) یا "تغییر نام" (rename) استفاده میشود؛ در این حالت، فایل یا پوشه از مکان اصلی خود برداشته شده و به مقصد منتقل میشود یا نامش تغییر میکند.
چگونه یک پوشه را با تمام محتویاتش حذف کنم؟
برای حذف یک پوشه به همراه تمام فایلها و زیرپوشههای داخل آن، باید از فرمان `rm -r directory_name` استفاده کنید. گزینه `-r` به معنی "recursive" است. همیشه قبل از استفاده از `rm -r` مطمئن شوید که میخواهید آن پوشه را حذف کنید، زیرا این عمل غیرقابل بازگشت است.
هنوز نظری ثبت نشده. اولین نفر باشید.