لینوکسی بشیم: آغاز کار با shell

این نوشته رو برای کسایی می‌نویسم که تازه میخوان وارد دنیای لینوکس بشن. ممکنه مهندس sysadmin یا devops بخواید بشید یا شاید برنامه‌نویسی هستید که لازم دارید لینوکس هم یاد بگیرید. یا شاید کلا میخواید از سیستم عامل لینوکسی استفاده کنید. در هر کدام از این حالات فکر می‌کنم این نوشته به دردتون بخوره.

برای این نوشته و دنباله‌های اون فرض بر اینه که آشنایی اولیه با لینوکس و ساختار فایل سیستم اون دارید.

خب حالا چی میخوام بگم؟‌ ۱- یه توضیح کوتاه در مورد شل ۲- معرفی چند شل معروف ۳- اجرای چند دستور ساده به همراه برخی نکات

شل به معنای پوسته هست. در مقابل هسته (kernel). کارش اینه که دستورات رو از من میگیره و به کمک کرنل کارهایی که ازش خواستم رو انجام میده. برنامه‌های مختلفی به عنوان شل نوشته شده؛ از جمله bash، sh و zsh. توی سیستم‌های امروزی اغلب از بش استفاده میشه. ما هم اینجا و آموزش‌های بعدی میخوایم به بش بپردازیم. البته خیلی از دستورها مرتبط به شل خاصی نیستن؛ ولی موقع کار کردن با شل به شکل جدی، تفاوت‌هاشون خیلی به چشم میاد.

حالا بیاید چند تا دستور توی بش اجرا کنیم. بعضی از این این دستورها دستورهای خارجی نام دارن و در هر شلی قابل اجرا هستن. دلیلش هم اینه که معمولا یه برنامه کامپایل شده در سیستم هستن و از طریق شل‌های متفاوت میشه اجراشون کرد. بعضی‌هاشون هم مال خود بش هستن. اولین دستور اینه که ببینیم توی پوشه (directory) فعلی چه فایل‌ها یا پوشه‌هایی هست. این دستور ls هست:

شاید تو نگاه اول نام دستور بی‌معنی به نظر بیاد؛ اما مخفف list هست. خیلی از دستورا تو لینوکس این شکلی هستن؛ چون به زبان c نوشته شدن و تو این زبان گرایش به اینه که نام‌ها clever باشن به جای clear. عادت می‌کنید بهش! در کنار هر دستور معمولا میشه یک سری سوییچ یا پرچم (flag) هم داد. سوییچ‌ها رفتار یک دستور رو تغییر میدن؛ مثلا در مورد ls میتونیم بگیم فایل‌ها و پوشه‌های مخفی رو هم نشون بده. دستور رو با سوییچی که گفتم میزنم:

می‌بینید که با یک خط فاصله یا dash به همراه حرف مورد نظر دستور رو اجرا کردم. a برای all هست که فایلای مخفی رو هم نشون میده. در این جا . همون پوشه فعلیه و .. یه دونه پوشه بالاتره. کاربردشون رو توی دستورای بعدی می‌بینیم. تو لینوکس فایل‌ و پوشه‌ای که با نقطه شروع بشه مخفی حساب میشه. میتونم l هم بذارم یعنی long که اطلاعات بیشتری میده.

دستور دیگه‌ای که خوبه یاد بگیریم pwd هست:

این دستور پوشه‌ای که توش هستیم رو نشون میده. اسمش مخفف print working directory هست. خیلی کوتاه شده!

یه دستور ساده‌ی دیگه cd هست. مخفف change directory. از اسمش معلومه که پوشه‌ای که داخلش هستیم تغییر می‌کنه. تو دستور cd ما بهش آرگومان میدیم و میگیم به فلان جا برو. مثلا من اگر داخل

/home/aliakbar/paasino

باشم با دستور زیر میرم به home:

این که کجا هستم رو با pwd چک کردم. به جای دادن آدرس اصلی میتونستم بگم برو یه دونه پوشه بالاتر با .. :

یا مثلا میتونستم آدرس یه پوشه داخل همین پوشه فعلی رو بدم با استفاده از . :

آخرین دستوری هم که میخوام بگم و اونم آرگومان میگیره cat هست. این دستور محتویات یه فایل رو برامون نمایش میده:

حالا که چن تا دستور دیدیم وقتشه با بش بیشتر آشنا بشیم و کم کم آماده نوشتن shell script بشیم. امیدوارم این مطلب براتون مفید بوده باشه. در مطالب بعدی عمیق تر میشیم و به سمت نوشتن اسکریپت‌های مفید خواهیم رفت.

قسمت بعدی