محیط لینوکس، CLI و فایلها
محیط Linux
Linux هستهای است که توزیعها آن را همراه ابزارها و Package Manager ارائه میکنند. در درس قبل یک VM آزمایشی Ubuntu Server ساختیم؛ همین محیط VM برای این درسها مناسب است. WSL، یک سرور آزمایشی یا یک سیستم Linux شخصی نیز قابل استفادهاند.
ترمینال برنامهای است که دستور را به shell میفرستد. در بیشتر توزیعها، shell پیشفرض کاربر Bash است. prompt زیر را در نظر بگیرید:
بخش پیش از @ نام کاربری، بخش بعد از آن hostname، و ~/project دایرکتوری فعلی است. علامت $ یعنی کاربر عادی هستید؛ prompt با # معمولاً نشان میدهد shell با دسترسی root اجرا شده است. کارهای روزمره را با کاربر عادی انجام دهید و فقط هنگام نیاز از sudo استفاده کنید.
هر دستور معمولاً این شکل را دارد:
برای مثال، در دستور زیر ls دستور، -l گزینه و ~/project آرگومان است:
راهنمای خود سیستم
نیازی نیست گزینههای همهٔ دستورها را حفظ کنید؛ ابتدا راهنمای محلی سیستم را بررسی کنید:
برای خروج از man کلید q را بزنید. apropos با یک عبارت، صفحههای راهنمای مرتبط را پیدا میکند؛ ممکن است در بعضی سیستمها ابتدا پایگاه دادهٔ آن نیاز به بهروزرسانی داشته باشد.
مسیرها و پیمایش دایرکتوریها
دایرکتوری ریشه با / شروع میشود. مسیرهای شروعشده با / مطلق هستند و از هر دایرکتوری به همان مکان اشاره میکنند. مسیرهای دیگر نسبی هستند و نسبت به دایرکتوری فعلی تفسیر میشوند.
pwdمسیر فعلی را نمایش میدهد...دایرکتوری والد و.دایرکتوری فعلی است.~میانبری برای دایرکتوری خانگی کاربر فعلی است.cd -به دایرکتوری قبلی برمیگردد.
فایلهای نامگذاریشده با . در ابتدای نام، پنهان هستند. برای دیدن آنها از -a استفاده کنید و برای اطلاعات بیشتر مانند مالک و مجوزها، -l را اضافه کنید:
مدیریت فایل و دایرکتوری
دستورهای پایهٔ زیر را در یک دایرکتوری آزمایشی امتحان کنید:
mkdir -pدایرکتوریهای والد لازم را نیز ایجاد میکند و اگر دایرکتوری از قبل وجود داشته باشد خطا نمیدهد.cpکپی وmvجابهجایی/تغییر نام انجام میدهد.rmdirفقط دایرکتوری خالی را حذف میکند.rmحذف دائمی میکند؛ سطل بازیافتی در کار نیست. پیش از حذف، مسیر را باpwdو فایلها را باlsبررسی کنید.
برای حذف یک درخت دایرکتوری از rm -r استفاده میشود، اما rm -rf را به یک عادت تبدیل نکنید. استفاده از مسیر کامل، بازبینی نام دایرکتوری و آپشن -i برای حذف تعاملی فایلها خطاهای پرهزینه را کمتر میکند:
خواندن و انتخاب فایل
برای فایلهای کوتاه از cat و برای فایلهای بلند از less استفاده کنید. less فایل را صفحهبهصفحه باز میکند و با / میتواند در آن جستوجو کنید.
نام فایلها را میتوانید با glob انتخاب کنید. shell پیش از اجرای دستور، این الگوها را به نام فایلهای منطبق تبدیل میکند:
*هر تعداد نویسه را میپذیرد.?دقیقاً یک نویسه را میپذیرد.[0-9]یکی از نویسههای بازه را میپذیرد.
همیشه نام فایلهای دارای فاصله یا نویسههای ویژه را quote کنید. در کار عملی، نام فایل را طوری انتخاب کنید که ساده و قابل پیشبینی باشد:
منابع یادگیری
مستندات و مقالات
- The Linux Command Line for Beginners - Ubuntu — شروعی کوتاه برای کار با ترمینال
- ۱۰۳.۱ - کار در خط فرمان - کتاب LPIC1 جادی — مقالهٔ مرتبط با shell، متغیرهای محیطی و history
ویدیو
- Command Line Basics for Beginners - Full Course - freeCodeCamp — آموزش عملی مقدماتی برای پیمایش فایلسیستم و کار با فایلها و دایرکتوریها
- کار کردن در خط فرمان - درک مفهوم شل (پوسته) و بش و دستورات مقدماتی - جادی — آشنایی مقدماتی با خط فرمان، Bash و دستورات مقدماتی
- کار در خط فرمان - درک متغیرهای محیطی پوسته و استفاده از تاریخچه - جادی — آشنایی با متغیرهای محیطی shell،
$PATHو استفاده ازhistory