فرمانها و دستورات مهم خط فرمان لینوکس

در این مقاله به بررسی برخی از مهمترین دستورات مورد نیاز برای استفاده در کامند لینوکس می پردازیم.
این دستورات در اکثر توزیع های لینوکس همچون خانواده ردهت - دبیان و ... در خانواده دسکتاپ و یا سرور کاربرد دارد.

اطلاعات سیستم

  • date – تاریخ و ساعت جاری را نمایش می‌دهد.
  • cal – تقویم ماه‌ها را نمایش می‌دهد.
  • uptime –  زمان روشن بودن سیستم و کاربران فعال را نشان می‌دهد.
  • w – کاربران جاری که از سیستم استفاده می‌کنند را همراه با توضیحاتی درباره استفاده آن‌ها نشان می‌دهد. دستور شامل اطلاعات خروجی دستور ‌uptime نیز هست.
  • whoami – کاربر جاری که شما اکنون از طریق آن با سیستم کار می‌کنید را نمایش می‌دهد.
  • finger user – اطلاعاتی درباره کاربری user (به جای آن نام‌کاربری مورد نظر را بنویسید) در اختیار شما می‌گذارد.
  • uname – نام سیستم یونیکس شما که همان لینوکس است را نمایش می‌دهد.
  • uname -a – دستور uname همراه با سویچ a اطلاعات تکمیلی از سیستم‌عامل شما شامل نسخه کرنل لینوکس را نمایش می‌دهد.
  • cat /proc/cpuinfo – نمایش اطلاعات پردازنده (CPU).
  • cat /proc/meminfo – نمایش اطلاعات حافظه اصلی (RAM).
  • df – مقدار استفاده از دیسک‌های حافظه را نمایش می‌دهد.
  • du – مقدار فضای استفاده شده تمامی دایرکتوری ها
  • free – نمایش فضاهای خالی و استفاده شده حافظه رم و سواپ (swap)

دستورات فایل

  • ls – گرفتن لیست محتویات مسیر جاری شامل پوشه و فایل ها.
  • ls -– دستور ‌ls همراه با سویچ l لیست محتویات مسیر جاری را با اطلاعات کامل نمایش می‌دهد.
  • ls -laC – مانند دستور ls -l است اما اطلاعات را به صورت ستونی نشان می‌دهد.
  • ls -– سویچ f در دستور ls لیست محتویات را همراه با فرمت فایل‌ها نمایش می‌دهد.
  • ls -al – سویچ a در دستور ls لیست فایل‌ها را همراه با فایل‌های مخفی نشان می‌دهد. (فایل و پوشه مخفی در لینوکس یک نقطه قبل نام خود دارند)
  • cd dir – تغییر مسیر جاری به شاخه مورد نظر (بجای dir پوشه مورد نظر را وارد کنید)
  • cd – مسیر جاری را به مسیر اصلی (home) بر می‌گرداند. (مسیر اصلی برای هر کاربر متفاوت است که پوشه‌های شخصی و تنظیمات در آن‌جا قرار می‌گیرند).
  • mkdir dir – ساخت یک شاخه (به جای dir نام پوشه که می‌خواهید بسازید را بنویسید).
  • pwd – مسیر جاری را نشان می‌دهد.
  • rm name – حذف (پاک کردن) فایل یا دایرکتوری مورد نظر (به جای name نام فایل یا پوشه نوشته می‌شود).
  • rm -r dir – حذف یک دایرکتوری با محتویات درون آن (به جای dir نام پوشه را بنویسید).
  • rm -f file – اجبار کردن به حذف یک فایل برای مواقعی که فایل به دلایلی حذف نمی‌شود (نام فایل بجای file نوشته می‌شود).
  • rm -rf dir – اجبار کردن به حذف یک دایرکتوری برای مواقعی که آن به دلایلی حذف نمی‌شود (نام پوشه بجای dir نوشته می‌شود).
  • cp file1 file2 – کپی کردن فایل در مسیر دیگر (file1 نام و مسیر فایل مبدا و file2 نام و مسیر فایل مقصد است).
  • cp -r dir1 dir2 – کپی کردن پوشه در مسیر دیگر (dir1 نام و مسیر پوشه مبدا و dir2 نام و مسیر پوشه مقصد است).
  • cp file dir – کپی کردن فایل مورد نظر در مسیر دیگر با همان نام (file نام فایل و dir مسیر پوشه مقصد است).
  • mv file dir – جابجایی (مانند cut) کردن فایل مورد نظر در مسیر دیگر با همان نام (file نام فایل و dir مسیر پوشه مقصد است).
  • mv file1 file2 – جابجایی کردن فایل به مسیر دیگر (file1 نام و مسیر فایل و file2 نام و مسیر فایل در مقصد است).
  • ln -s file link – ساخت لینک سیمبولیک از فایل در مسیر مورد نظر (file نام و مسیر فایل یا پوشه و link نام و مسیر لینک است).
  • touch file – ساخت یک فایل.
  • cat > file – نوشتن متن در فایل.
  • cat file – نمایش محتویات یک فایل یا فراخوانی آن.
  • more file – نمایش محتویات فایل به صورت کم کم (برای فایل با محتویات زیاد).
  • command | more – نمایش خروجی دستور به صورت کم کم.
  • less file – نمایش محتویات فایل به صورت صفحه به صفحه (برای فایل با محتویات زیاد).
  • command | less – نمایش خروجی دستور به صورت صفحه به صفحه.
  • head file – نمایش ۱۰ خط اول محتویات یک فایل.
  • head -20 file – نمایش ۲۰ خط اول محتویات یک فایل.
  • tail file – نمایش ۱۰ خط آخر محتویات یک فایل.
  • tail -20 file – نمایش ۲۰ خط آخر محتویات یک فایل.

پروانه فایل

  • chmod octal file – تغییر مجوز یک فایل با استفاده از کد دسترسی
    • مجوز یک فایل سطح دسترسی یک فایل را مشخص می‌کند. سطح دسترسی می‌تواند خواندنی (عدد ۴)، نوشتنی (عدد ۲) و اجرا (عدد ۱) باشد که سطح دسترسی یک فایل با جمع کردن این اعداد بدست می‌آید. یعنی سطح دسترسی ۷ تمامی مواد را شامل می‌شود.
    • هر فایل دسترسی آن برای سه دسته کاربری روت، گروه و عمومی تعریف می‌شود که از روش عددی بالا استفاده می‌کند و این سه عدد کنار هم سطح دسترسی یک فایل را مشخص می‌کنند. مثال‌های زیر را مشاهده کنید.
  • chmod 777 file – مجوز خواندن، نوشتن و اجرا فایل را به سه دسته روت، گروه و عمومی می‌دهد.
  • chmod 755 file – مجوز خواندن، نوشتن و اجرا برای کاربری روت و مجوزهای خواندن و اجرا برای کاربران گروه و عمومی.

فشرده سازی

به صورت پیش‌فرض لینوکس از فشرده‌سازی با فرمت tar استفاده می‌کند که دستورات کار با آن را نیز پشتیبانی می‌کند. لینوکس از فشرده‌ساز Gzip برای کار با فایل‌های فشرده با فرمت tar.gz و gz فشرده‌ساز Bzip2 برای کار با فایل‌های فشرده با فرمت tar.bz2 استفاده می‌کند.

  • tar cf file.tar files Create a tar named file.tar containing files
  • tar xf file.tar – استخراج محتویات فایل فشرده.
  • tar czf file.tar.gz files – ساخت فایل فشرده با فرمت ‌tar.gz از فایل‌ها توسط فشرده‌ساز Gzip.
  • tar xzf file.tar.gz – استخراج محتویات فایل فشرده با فرمت tar.gz توسط فشرده‌ساز Gzip.
  • tar czf file.gz files – ساخت فایل فشرده با فرمت ‌gz از فایل‌ها توسط فشرده‌ساز Gzip.
  • tar xzf file.gz – استخراج محتویات فایل فشرده با فرمت gz توسط فشرده‌ساز Gzip.
  • tar cjf file.tar.bz2 – ساخت فایل فشرده با فرمت ‌tar.bz2 از فایل‌ها توسط فشرده‌ساز.
  • tar xjf file.tar.bz2 – استخراج محتویات فایل فشرده با فرمت tar.bz2 توسط فشرده‌ساز Bzip2.

جستجو و Sort

  • grep pattern files – جستجوی عبارت در فایل مورد نظر.
  • grep pattern dir – جستجوی عبارت در فایل‌های موجود در شاخه مورد نظر.
  • grep -r pattern dir – جستجوی عبارت در فایل‌های موجود در شاخه مورد نظر به صورت بازگشتی.
  • command | grep pattern – جستجوی عبارت در خروجی دستور.
  • locate file – یافتن فایل مورد نظر ما در مسیر جاری.
  • find ‌dir -name filename – یافتن فایل مورد نظر ما در شاخه مورد نظر.
  • find ”*filename*” – جستجوی تمامی فایل‌هایی که نام آن‌ها شامل نام فایل مورد نظر ما است (در مسیر جاری).
  • updatedb – ساختن یا به‌روز رسانی دیتابیس فایل‌های سیستمی شاخه روت لینوکس.
  • locate filename – جستجوی فایل با ‌‌locate. فرض شده است که قبلا از دستور updatedb استفاده کرده‌اید.
  • which filename – نمایش شاخه بالایی فایل مورد نظر (پوشه‌ای که فایل ما در آن قرار دارد).

شبکه

  • ifconfig – نمایش لیست آی پی تمامی دستگاه‌های متصل (وایرلس، کارت شبکه، شبکه‌های وی‌پی‌ان  و …).
  • ping host – گرفتن پینگ از هاست مورن نظر.
  • whois domain – گرفتن اطلاعات دامنه (مالک دامنه، آی‌پی، دی‌ان‌اس سرور و …).
  • dig domain – دریافت اطلاعات DNS دامنه.
  • dig -x host – مشاهده میزبان به صورت معکوس.
  • wget file – دانلود یک فایل از اینترنت.
  • wget -c file – ادامه دانلود کردن یک دانلود متوقف شده. 

SSH

پروتکل SSH برای ارتباط و کنترل با سیستم از راه دور استفاده می‌شود که پیش‌فرض از پورت SSH با شماره 21 استفاده می‌کند. بیشتر برای کنترل سرور توسط کاربری از راه دور استفاده می‌شود.

  • ssh user@host – اتصال به میزبان مورد نظر با نام کاربری مورد نظر (بعد از آن پسورد آن نام کاربری از شما پرسیده می‌شود).
  • ssh -p port user@host – اتصال به میزبان با نام کاربری توسط شماره پورت مشخص
  • ssh-copy-id user@host – اضافه کردن کلید برای اتصال کاربر از این سیستم راه دور. (برای مواقعی که نمی‌خواهیم پسورد را در هر اتصال وارد کنیم. ارسال پسورد اصلی امنیت میزبان را به خطر می‌اندازد اما کلید ساخته شده فقط برای سیستم جاری و نام کاربری مورد نظر اعتبار دارد).

مدیریت کاربران

  • adduser accountname – ساخت یک کاربر جدید در سیستم لینوکس خود.
  • passwd accountname – تغییر گذرواژه (password) کاربر مورد نظر.
  • su – ورود به خط فرمان با کاربری روت (کاربر روت مجوز دسترسی به تمامی فایل‌ها و تنظیمات سیستم را دارد).
  • exit – خروج از خط فرمان با کاربر جاری.

شروع و پایان

  • shutdown -h now – خاموش کردن سیستم.
  • halt – توقف تمام پردازش‌ها (مانند خاموش کردن سیستم است).
  • shutdown -r 5 – راه‌اندازی مجدد (ریست کردن) سیستم در مدت ۵ دقیقه بعد.
  • shutdown -r now – ریست کردن سیستم لینوکس.
  • reboot – راه‌اندازی مجدد سیستم لینوکس

نصب برنامه ها

  • به صورت عادی اگر سورس برنامه در اختیار ما باشد به شاخه سورس رفته و دستورات زیر را برای نصب اعمال می‌کنیم.
    • ./configure
    • make
    • make install
  • اگر از توزیع‌های خاص لینوکس استفاده می‌کنید از دستورات زیر (یا دستورات خاص آن توزیع) برای نصب بسته نرم‌افزاری تهیه شده برای آن توزیع استفاده کنید.
    • dpkg -i pkg.deb – نصب بسته نرم افزاری دبیان – برای توزیع‌های دبیان، ابونتو، مینت و … .
    • rpm -Uvh pkg.rpm – نصب بسته نرم افزاری RPM – برای توزیع‌های ردهت، فدورا و … .

مدیرت پردازش ها

  • ps – نمایش پردازش های فعال جاری.
  • top – نمایش تمام پردازش های در حال اجرا.
  • kill pid – از بین بردن پردازش مورد نظر با شناسه pid.
  • killall proc – از بین بردن تمام پردازش هایی با نام ‌proc. در اجرای آن احتیاط کنید.
  • bg – نمایش پردازش های متوقف شده (stop) یا مکث کرده (puse) در بخش کارهای پس‌زمینه و ادامه اجرا پردارش های مکث کرده.
  • fg – آوردن کارهای به تازگی انجام شده در بخش کارهای پیش‌زمینه

آموزش نحوه عملکرد دستورات

  • apropos subject – لیست صفحات کتابچه راهنما برای موضوع مورد نظر.
  • man -k keyword – نمایش صفحات شامل کلمه کلیدی مورد نظر.
  • man command – نمایش کتابچه راهنما برای دستور مورد نظر.
  • man -t man | ps2pdf – > man.pdf  – ساخت فایل pdf از صفحه کتابچه راهنما.
  • which command – نمایش مسیر کامل دستور مورد نظر.
  • time command – نمایش زمان طول کشیدن دستور مورد نظر.
  • whereis app – نمایش مسیر بالقوه برنامه مورد نظر.
  • which app – نمایش میسر برنامه app که به صورت پیش‌فرض اجرا می‌شود.
توسعه دهندگان
محمد مهدی سفیداری