ارسالی عباس
کار در محیط متنی
سطح: مقدماتی
یک راهبر لینوکس هر کاری را میتواند از طریق کنسول لینوکس انجام دهد. در اغلب موارد، استفاده از کنسول سریعتر از استفاده از یک برنامه گرافیکی است و قابلیتهای بیشتری فراهم می آورد. به علاوه، هر کار کنسولی می تواند در یک اسکریپت جای گرفته و این ویژگی، خود، به خودکارسازی فعالیتها کمک شایانی خواهد نمود. اگر واقعاْ می خواهید محیط لینوکس خود را کنترل نمایید، باید نحوه انجام کارها را از طریق کنسول یاد بگیرید. اگر پیش زمینه ای از DOS یا ویندوز دارید، این مقاله راهنمایی سریع برای شروع کار در کنسول لینوکس می باشد.
دسترسی به یک کنسول
اگر سیستم شما در محیط متنی راه اندازی می شود (پیکربندی متداول کارگزارها به منظور کاهش سربار برای خدمات)، بنابراین آماده کار در کنسول لینوکس خواهید بود. در یک سیستم لینوکس معمولی، میتوانید کنسولهایی با فشاردادن کلیدهای Ctrl+Alt+ (F1-F6) داشته باشید. هر کنسول، یک بخش کاملاْ متفاوت روی سیستم بوده و کاربران متفاوتی میتوانند در یک زمان به آنها دسترسی داشه باشند.
این رفتار چند کنسولی با ویژگی سیستم رومیزی چندگانه در ویندوز متفاوت است. در لینوکس هر کنسول می تواند توسط کاربرانی کاملاْ متفاوت کنترل شود. به عنوان مثال، شما می توانید به عنوان کاربر ریشه وارد کنسول شماره ۱ شده و با نام کاربری jeouser در کنسول شماره ۲ مشغول شوید. هر دو کنسول برنامههای متفاوتی در فضای کاربری خود اجرا خواهند نمود. مشابهاْ، کاربران متفاوتی میتوانند از راه دور به یک سیستم ویندوز وارد شوند. در این حالت نیز، لینوکس قابلیتهای بیشتری فراهم میآورد.
همچنین اگر در محیط گرافیکی باشید، می توانید یک پایانه برای دسترسی به یک صفحه کنسول باز نمایید.
دستورات
از طریق کنسول لینوکس دستورات زیادی را میتوانید اجرا نمایید. برخی از این دستورات، صرفاً برای اسکریپتنویسی کاربرد دارند. در ادامه به دستوراتی که کاربرد بیشتری دارند میپردازیم. خاطرنشان میکنیم که کلیه گزینههایی که با دستورات به کار میروند به حروف بزرگ و کوچک حساسند. مثلا عملکرد –R با –r متفاوت است. دستورات کنسولی همواره با حروف کوچک نوشته میشوند.
-
cd
با این دستور میتوانید در بین دایرکتوریها حرکت کنید. به یاد داشته باشید که لینوکس از “/” استفاده میکند و نه “”.
-
ls
دیدن فهرست فایلها در یک دایرکتوری با استفاده از این دستور امکانپذیر میباشد. این دستور برای مشاهده فایلها، گزینههای زیادی دارد:
فهرست کردن فایلها
ls –l |
فهرستی طولانی شامل اندازه فایلها، تاریخ، زمان و صفات آنها را نشان خواهد داد. |
ls -t |
فایلها را بر حسب زمان مرتب نموده، نمایش میدهد. |
ls –S |
فایلها را بر حسب اندازه مرتب نموده، نشان میدهد. |
ls –r |
با یکی از گزینههای مرتبسازی ترکیب شده، و لیست را برعکس میکند. ls –lt جدیدترین فایلها را در ابتدای لیست نشان میدهد. ls –lrt جدیدترین فایلها را در انتهای لیست نمایش خواهد داد. |
ls –h |
قابل خواندن توسط افراد میباشد. از گزینههای k، M و G نیز برای نمایش اندازه فایل استفاده میشود. |
ls -a |
تمامی فایلهای یک فهرست، حتی فایلهای مخفی، را نشان میدهد. |
-
cp
با این دستور عمل کپی نمودن فایلها را میتوانید انجام دهید. عملکرد این دستور مشابه دستور copy در DOS میباشد. گزینههای لازم و پرکاربرد:
کپی کردن فایلها
cp -R |
فایلها را به صورت بازگشتی کپی میکند. این دستور برای مواقعی کاربرد دارد که کل یک دایرکتوری را کپی میکنید. |
cp -f |
عمل کپی را بالاجبار انجام داده و فایلهای موجود را بدون پرسیدن، بازنویسی میکند. |
cp -l |
به جای کپی کردن فایلها به آنها لینک میدهد؛ در ادامه خواهید دید. |
ایجاد لینک با استفاده از دستور cp
دستور cp را میتوان برای ایجاد یک مجموعه سریع از لینکهای سخت به یک فایل یا یک ساختار فایل به کار برد. با استفاده از گزینه –l لینک کپیکننده تعیین میشود. کلیه فهرستها مانند خودشان ایجاد میشوند، اما همه فایلها به عنوان لینکهای سخت تنظیم خواهند شد.
cp -lR /data/accounting/payroll /data/management/hr
دستور فوق، کلیه ساختار فهرست را از /data/accounting/payroll کپی نموده و به زیر فهرست /data/management/payroll خواهد برد. کلیه فایلها در ساختار فهرست به عنوان لینک تنظیم خواهند شد. این قابلیت، امکان فراهم آوردن دیدهای متفاوت از فایلهای یکسان را با یک فایل سیستم فراهم میآورد، یک تکنیک امنیتی مفید بوده و اجازه دسترسی به فایلها را از یک فهرست متفاوت با کنترلهای دسترسی متفاوتی خواهد داد.
-
mv
با دستور mv میتوان فایلها را جابجا نمود یا تغییر نام داد. این دستور اساسا مانند دستور move در DOS کار میکند، با این استثنا که با ساختارهای فهرست مانند فایلها برخورد نموده و آنها را نیز جابهجا مینماید.
-
cat
محتوای فایلها را با دستور cat میتوانید مشاهده نمایید. این دستور معادل type در DOS میباشد. همچنین محتوای یک فایل را میتواند در فایلی دیگر، در یک صفحه و یا در دستوری دیگر، کپی نماید. Cat مخفف concatenate به معنای الحاق کردن و چسباندن میباشد. این دستور را میتوان برای الحاق چندین فایل با یکدیگر، برای تشکیل یک فایل بزرگتر به کار برد.
-
more
با این دستور اطلاعات را به صورت صفحه به صفحه مشاهده میکنید. این دستور نیز مشابه دستور more در DOS میباشد.
-
less
از less برای مشاهده یک فایل متنی با قابلیت بالا و پایین آمدن در طول فایل و جستجوی کلمات یا عبارات خاص استفاده میشود.
-
vi
برخی از افراد ممکن است بگویند که vi به جای کلمه “virtually impossible” (واقعاً غیر ممکن) نشسته است. vi یک ویرایشگر متن بسیار متداول در یونیکس میباشد و تقریباً در هر محیط مشابه لینوکس موجود میباشد. یک راهنمای آموزشی نصب شده نیز در داخل نسخههای لینوکسی وجود دارد، و به مرور که به کار کردن با آن عادت کنید، میتوانید کارهای غیرقابل پیشبینی با فشردن کمترین کلیدها انجام دهید. حقیقتاً، هیچ ویرایشگر جایگزینی برای vi، به منظور ویرایش رمزهای عبور و فایلهای پیکربندی وجود ندارد.
-
man
با این دستور میتوان مستندات موجود برای هر دستور را مشاهده نمود. Man مخفف کلمه manual (راهنما) میباشد.
-
info
دستور info مشابه دستور man بوده، با این تفاوت که عناوین متن را به صورت لینکهایی نمایش میدهد تا پیدا کردن و جستجو در مستند آسانتر گردد.
کدام پوسته (Shell)؟
یکی از تفاوتهای اساسی بین DOS/ویندوز و لینوکس این است که پوسته فرمان یک لایه کاملاً مجزا از سیستم عامل میباشد. محیط پوسته بر ویژگیهایی که شما دارا هستید، مانند یک خط فرمان قابل ویرایش و تاریخچه حرکت (scrolling) تاثیر میگذارد. پوسته سینتکس لازمه را نیز برای اجرای توابع در اسکرییپتها تعیین میکند. در DOS و ویندوز فقط یک گزینه، فایلهای .BAT، برای اسکریپت کردن وجود داشت. همین یک امکان نیز به خودی خود، کارهای زیادی انجام میداد اما به مقدار زیادی خلاقیت برای نوشتن اسکریپت نیاز داشت. در لینوکس، اسکریپتها میتوانند علاوه بر موارد ابتدایی، شامل حلقهها و بسیاری فعالیتهای پیشرفته، باشند. اگر از قبل در نوشتن فایلهای .BAT مهارت دارید، اسکریپتهای پوسته امکان درخشش بیشتر شما را در این حوزه میدهند.
-
bash
پوسته bash یک نسخه رایگان از پوسته Bourne، اولین پوسته یونیکس، و شامل بسیاری از ویژگیهای اضافه شده میباشد. Bash خطوط فرمان قابل ویرایش، تاریخچه فرمان قابل بالا–پایین رونده و کلید tab به عنوان کامل کننده برای تسهیل در امر تایپ و عدم نیاز به تایپ اسامی طولانی دارد.
-
csh
پوسته C، سینتکسی مشابه C را به کار برده و بسیاری از ویژگیهای خود را از پوسته Bourne برگرفته است، اما از مجموعه متفاوتی از دستورات پوسته داخلی استفاده میکند.
-
ksh
پوسته Korn از سینتکسی مشابه پوسته Bourne استفاده نموده و شامل ویژگیهای کاربرپسند پوسته C میباشد. ksh در بسیاری از اسکریپتهای نصب به کار رفته و احتمالاً روی سیستم نصب میشود، حتی اگر پوسته اولیه شما نباشد.
-
tcsh
پوسته TC نسخه بهبود یافته پوسته C بوده و 100 درصد با آن سازگاری دارد.
-
zsh
پوسته Z نسخه بهبود یافته پوسته Korn بوده و ویژگیهای بسیاری در پوسته bash دارد.
جمعبندی
آموختن نحوه کار با کنسول یکی از مهارتهای ضروری برای راهبر لینوکس میباشد. ابزارهایی برای دوری کردن از کنسول وجود دارد، اما به کار گیری این ابزارها، چیزی جز محدودیت برای شما ندارد. دسترسی به کنسول بسیار ساده بوده و دسترسی به مستندات دستورات نیز با دو دستور man و info امکانپذیر میباشد.