اگر در حال یادگیری لینوکس هستید، پس از یادگیری محیط گرافیکی آن مهمترین بخش کار با لینوکس کار با شل و دستورات لینوکس می باشد.در این مقاله و مقاله های بعدی سعی داریم سری دستورات مهم و کاربردی در گنو/لینوکس را به همراه سوئیچ های مهم آن آموزش دهیم.
نکات مهمی وجود دارد که بایستی قبل از شروع کار با لینوکس بدانید:
۱- همه چیز در لینوکس فایل محسوب می شود.
۲- نام فایل ها در لینوکس می تواند تا ۲۵۵ کاراکتر باشد ولی بهتر است که برای نامگذاری فایل ها تا ۸۰ کاراکتر در نظر بگیریم.
۳- تمامی نام ها در لینوکس به حروف کوچک و بزرگ حساس هستند یعنی بین LINUX و linux تفاوت وجود دارد.
دستور LS :
ls یکی از مهمترین دستوراتی است که در لینوکس وجود دارد. دستوری که محتویات موجود در یک پوشه را برای شما لیست می کند و بی شک یکی از دستوراتی است که بسیار زیاد از آن استفاده می کنید.
فرمت دستور : ls switch /path
ls -R : مشاهده محتویات پوشه به همراه پوشه های داخل پوشه اصلی .
**ls -l :**مشاهده محتویات پوشه ها با جزئیات (شامل فهرست مجوزها،مالکیت ها، تاریخ و زمان و…) بر اساس حروف الفبا با ایجاد دو کاراکتر فاصله بین هر ستون
**ls -1 :**مشاهده محتویات پوشه ها فقط در یک ستون بدون نمایش جزئیات
**ls -m :**مشاهده محتویات پوشه ها بر اساس نام با کاراکتر جداکننده”،”
**ls -a :**مشاهده همه فایل ها (حتی فایل های مخفی) موجود در یک پوشه
**ls -F :**مشاهده تمامی محتویات یک پوشه به صورتی که می توانید نوع فایل را از روی نمادی که در انتهای نام فایل نشان می دهد تشخیص دهید.
انواع نماد ها و نوع فایل ها در بخش زیر لیست شده است:
* : فایل اجرایی
/ : پوشه
@ : Symbolik link
= : سوکت
**ls -t :**مشاهده محتویات پوشه ها با مرتب سازی بر اساس تاریخ و زمان که به شدت در هنگام مشاهده لاگ های یک سرور، مورد استفاده قرار می گیرد.
**ls -S :**مشاهده محتویات پوشه ها بر اساس اندازه
**ls -h :**مرتب سازی و نمایش محتویات پوشه به همراه حجم فایل به صورت K,M,G بایت
استفاده ترکیبی از سوئیچ های دستور ls می تواند کمک موثری در لیست کردن سریع فایل های موردنظر دارد.
**دستور pwd :**نمایش مسیر جاری
دستور cd : تغییر مسیر جاری به مسیر دلخواه
دستور .. cd : بازگشت به یک مسیر بالاتر از مسیر جاری
**دستور ~ cd :**رفتن به home directory کاربر جاری
دستور mkdir : ایجاد کردن یک پوشه خالی در مسیر جاری
**دستور mkdir -p :**ایجاد کردن پوشه های فرعی داخل یک پوشه
**دستور mkdir -v :**ایجاد کردن پوشه همراه با نمایش عملیات انجام شده
**دستور cp :**کپی کردن فایل از یک مسیر به مسیر دلخواه
دستور cp -R : کپی کردن محتویات یک پوشه به همراه زیر پوشه هایش
**دستور cp -v :**کپی کردن محتویات یک پوشه به همراه نمایش عملیات انجام شده
دستور cp -i : کپی کردن محتویات یک پوشه و نمایش اخطار در صورتی که فایلی هم نام با فایل کپی شده در مسیر مقصد وجود داشته باشد.
دستور touch : این دستور بدون هیچ سوئیچی یک فایل با نامی که جلوی دستور می نویسید برایتان ایجاد می کند.
**دستور mv :**انتقال دادن فایل از یک مسیر به مسیر دلخواه و همچنین تغییر نام یک فایل
**دستور rm :**حذف کردن فایل های موردنظر
**دستور rm -rf :**حذف کردن فایل ها و پوشه های موردنظر
**دستور <sudo <command :**این دستور فرمان مورد نظر را با عنوان کاربر root اجرا می کند. این دستور مانند run as administrator در ویندوز عمل می کند.
دستور su : سوئیچ و لاگین با یک user دیگر در شل لینوکس
دستور su -l : سوئیچ و لاگین با یک user دیگر در شل لینوکس به همراه متغیرهای محیطی آن کاربر خاص که البته برای کاربر root می توانید با زدن – su به کاربر root با متغیرهای محیطی مربوطه تبدیل شوید.
** دستور <man <command :**شما می توانید برای مشاهده جزئیات پارامترهای دیگر هر فرمان از این دستور استفاده کنید. دستورات بالا همگی با پارامترهای مهم ذکر شده اند که با استفاده از این دستور می توانید سایر پارامترها را مشاهده کنید.
نکته مهم : در تمامی دستورات گفته شده و دستوراتی که از این پس در ادامه دوره آموزش لینوکس خواهیم داشت می توانید از کاراکترهای جایگزینی * و ؟ هم استفاده کنید. کاراکتر * به معنای هر تعداد کاراکتر و شامل هر چیزی می تواند باشد و کاراکتر ؟ فقط شامل یک کارکتر می باشد. برای مثال برای حذف تمامی فایل ها و پوشه هایی که با حرف c شروع می شوند می توانید دستور *rm -rf c را وارد کنید.
آموزش دستورات لینوکس و به دنبال آن نصب و راه اندازی سرویس های مختلف روی لینوکس را می توانید از طریق این سری آموزش ها دنبال کنید.
در بخش اول آموزش لینوکس با دستورات پایه ایی و اصلی شل آشنا شدیم. در این بخش نیز ادامه دستورات بخش اول را با هم یاد می گیریم. در این بخش به همراه آموزش دستورات پایه ایی برای هر دستور مثالی تصویری جهت سهولت در یادگیری هم آورده شده است.
دستور man :
بدست آوردن اطلاعات در مورد دستورهای مختلف در لینوکس
man -k : بدست آوردن اطلاعات در مورد دستوری که نام آن را نمی دانید ولی عملکرد آن را می دانید.
man -f : شرح مختصری در مورد دستوری که کاربرد آن را نمی دانید ولی نام آن را می دانید.
man -u : بروز رسانی بانک اطلاعاتی دستور man، بهتر است قبل از استفاده از دستور man این دستور را به کار ببریم.
دستور whereis :
پیدا کردن مسیر اجرایی دستورات و فایل های منبع آن. این دستور ابتدا مکان فایل های منبع را گزارش می دهد سپس محل فایل های اجرایی و در نهایت مکان صفحات راهنما را نمایش می دهد توسط این دستور می توان ازمحل دقیق نصب برنامه روی سیستم آگاهی پیدا کرد.
**whereis -b:**پیدا کردن فایل های اجرایی
whereis -m: پیدا کردن صفحات راهنما
whereis -s: پیدا کردن فایل های منبع دستور
دستور whatis:
مانند دستور man -f اطلاعاتی در مورد دستورات به ما می دهد.
**whatis -w:**بدست آوردن اطلاعاتی در مورد دستور با استفاده از wildcard ها و regular expression ها
دستور apropos:
بدست آوردن اطلاعاتی در مورد دستورات با استفاده از خصوصیات و توضیحات دستور
دستور which:
توسط دستور whereis -b محل فایل های اجرایی را به دست می آوریم، ولی دستور which به ما می گوید که در صورت اجرای دستور، کدام نسخه از برنامه اجرا خواهد شد.
دستور cat:
این دستور محتویات فایل متنی را نمایش داده و سپس خط فرمان را نشان می دهد. می توانید همزمان چندین فایل متنی را با هم باز کنید. به این ترتیب که نام فایل ها را جلوی دستور cat می آورید.
cat -n file: نمایش محتویات فایل ها به همراه شماره گذاری سطرهای فایل
دستور less :
این دستور برای خواندن فایل های بسیار طولانی مثل لاگ فایل ها بسیار مفید است این دستور در هر لحظه یک صفحه را به شما نمایش می دهد. برای خروج از حالت نمایشی این دستور از کلید q استفاده می کنیم.
less -N file: نمایش محتویات فایل ها به همراه شماره گذاری سطرهای فایل
**less file:**برای ویرایش کردن فایل متنی که با less باز شده است کلید v را می فشاریم less تبدیل به یک ویرایشگر متنی می شود که می توان فایل موردنظر را ویرایش نمود. همچنین برای مشاهده راهنمای less می توان از کلید h استفاده کرد.
نکته: به صورت پیش فرض editorای که برای ویرایش کردن فایل های متنی با less تعریف شده، nano است که می توانید این editor را توسط دستور ذیل تغییر دهید.
export EDITOR=vim
نکته مهمی که وجود دارد این است که این دستور برای همیشه editor را عوض نمی کند. هر بار که less را خاتمه می دهید بایستی دستور فوق را اجرا نمایید. برای جلوگیری از این حالت می توانید دستور export EDITOR=vim را در .bashrc اضافه کنید.
دستور head :
این دستور ۱۰ خط از ابتدای فایل موردنظر را به شما نمایش می دهد و سپس خط فرمان را برمی گرداند، می توانید ۱۰ خط از ابتدای چندین فایل را با جدا کردن نام فایل ها از هم نمایش دهید.
**head -n num:**می توانید با مشخص کردن عدد num، تعداد موردنظر خطوط فایل متنی را برای نمایش مشخص کنید.
head -c: می توانید تعداد بایت مشخصی از یک فایل را نمایش دهید.
دستور tail :
این دستور ۱۰ خط از انتهای فایل موردنظر را به شما نمایش می دهد و سپس خط فرمان را بر می گرداند. می توانید ۱۰ خط از انتهای چندین فایل را با جدا کردن نام فایل ها از هم نمایش دهید.
tail -n num : می توانید با مشخص کردن عدد num، تعداد موردنظر خطوط فایل متنی را نمایش دهید.
**tail -c :**می توانید تعداد بایت مشخصی از یک فایل را نمایش دهید.
**tail -f :**نمایش محتویات فایل همزمان با تغییراتی که در فایل به وجود می آید که این دستور به شدت در خواندن لاگ فایل ها و کار با برنامه کاربرد دارد.
نکته: برای جستجوی یک عبارت خاص در متن های طولانی می توانید با تایپ / و سپس عبارت موردنظر جستجوی خود را انجام دهید.