برنامه نویسی ۱۱۷۰ بازدید

لینوکس سیستم عاملی است که کل وب از آن نیرو می‌گیرد. یادگیری لینوکس برای توسعه‌دهندگان امری ضروری است و باید دست کم ایده‌ای در مورد طرز کار لینوکس و شیوه استفاده از آن داشته باشند. در این مقاله، با 15 نکته و ترفند خط فرمان لینوکس آشنا خواهیم شد. پیش از ادامه بحث باید اعلام کنیم که در این مقاله فرض شده است شما از bash استفاده می‌کنید. bash یک مفسر فرمان است که به صورت پیش‌فرض در همه توزیع‌های عمده لینوکس عرضه می‌شود، بنابراین به جز در مواردی که خودتان به صورت دستی آن را تغییر داده باشید، bash به عنوان مفسر فرمان پیش‌فرض خواهد بود.

علامت تعجب دوبل (!!)

مسلماً بارها پیش آمده است که پس از نوشتن و اجرای یک فرمان بلند متوجه شده‌اید که فراموش کرده‌اید عبارت sudo را در ابتدای فرمان وارد کنید. در این موارد می‌توانید با وارد کردن عبارت !!sudo در خط فرمان، کاری کنید که به جای !! دستور قبلی واردشده در خط فرمان اجرا شود:

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

بازگشت به عقب

هر کس می‌داند که با استفاده از دستور ..cd می‌توان به یک دایرکتوری بالاتر رفت؛ اما شاید ندانید که با وارد کردن دستور – cd می‌توانید به دایرکتوری قبلی بازگردید:

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

رفتن به خانه

احتمالاً می‌دانید که دستور ‍‍~ علامت اختصاری پوشه home است. اما ترفندی نیز وجود دارد که افراد کمی می‌دانند. اگر cd را بدون هیچ چیز اضافی در خط فرمان وارد کنید، به دایرکتوری home خواهید رفت:

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

جستجو کردن

همگان می‌دانند که با فشردن کلید‌های جهتی، می‌توان در سوابق فرمان‌های واردشده در خط فرمان جستجو کرد. اغلب توسعه‌دهندگان تنبل هستند و گاهی تا 15 بار کلید جهت بالا را می‌فشارند تا دستور ls را که قبلاً وارد کرده بودند، پیدا کنند. اما به این منظور می‌توان مسیر آسان‌تری نیز انتخاب کرد و آن کارکرد جستجوی معکوس است. با فشردن کلیدهای Ctrl+R و وارد کردن چند کاراکتر اولیه یک فرمان، جستجوی معکوس اقدام به تکمیل کردن فرمان شما می‌کند و آن را با نمونه‌ای که در تاریخچه خود دارد تطبیق می‌دهد:

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

استفاده مجدد از یک آرگومان

ترفند کارآمد دیگری که معرفی می‌کنیم، میانبر $! است. این میانبر در زمان وارد کردن یک فرمان با آرگومان‌‌های فرمان قبلی جایگزین می‌شود. این ترفند برای نمونه در مواردی مفید است که می‌خواهید یک پوشه بسازید و به داخل آن cd کنید:

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

کپی کردن و چسباندن

احتمالاً متوجه شده‌اید که دستورهای Ctrl+C و Ctrl+V به طور معمول در ترمینال لینوکس کار نمی‌کنند. در اغلب موارد این دستورها با Ctrl+Shift+C و Ctrl+Shift+V جایگزین شده‌اند. دلیل این امر آن است که Ctrl+C از قبل برای خاتمه دادن برنامه اجرایی کنونی مورد استفاده قرار می‌گرفته است.

احراز هویت در SSH بدون رمز عبور

اگر به طور مکرر در یک سرور SSH لاگین می‌کنید، وارد کردن رمز عبور در هر بار کاری آزاردهنده خواهد بود. اما در صورتی که سیستم‌های میزبان و سرور با همدیگر گواهینامه امنیتی مبادله کنند، این مشکل قابل حل است.

ابتدا باید یک گواهینامه امنیتی ایجاد کنیم. به این منظور دستور ssh-keygen را اجرا کنید. این دستور یک جفت کلید خصوصی/عمومی ایجاد کرده و در مسیر ssh/id_rsa./‍~ ذخیره می‌کند. اکنون باید کلید عمومی را با دستور زیر به سرور کپی کنیم:

ssh-copy-id [email protected]_host

در این زمان از شما خواسته می‌شود که رمز عبور سرور را وارد کنید تا کلید عمومی کپی شود. سپس می‌توانید به نیاز به وارد کردن رمز عبور از آن سیستم خاص به سرور لاگین کنید.

نکته: این روش به هیچ وجه امنیت کمتری نسبت به روش احراز هویت معمولی ندارد. حتی در صورتی که سیستم لوکال شما امنیت خوبی داشته باشد، این روش بسیار مطمئن‌تر است. در این حالت، به جز در مواردی که کلید خصوصی شما افشا شود، هیچ روشی برای لاگین به SSH وجود نخواهد داشت.

حفظ حالت اجرایی برنامه در پس‌زمینه

اگر برنامه‌ای را در ترمینال اجرا کرده‌اید، به محض این که آن «نشست» (Session) ترمینال خاتمه یابد، برنامه بسته خواهد شد. برای جلوگیری از این وضعیت و حفظ برنامه در حال اجرا باید از دستور nohup استفاده کنید که اختصاری برای عبارت no hang up است.

برای نمونه برای انتقال فایل‌ها از سرور با استفاده از دستور scp، برای این که مطمئن باشیم، این انتقال حتی در صورتی که به صورت تصادفی پنجره ترمینال بسته شد، ادامه خواهد یافت، می‌توانیم از دستور زیر استفاده کنیم:

nohup scp very-big-file.mkv [email protected]:~/very-big-file.mkv

دستور nohup یک فایل به نام nohup.out ایجاد می‌کند که خروجی دستور را ذخیره می‌کند.

پاسخ مثبت

اگر برخی اسکریپت‌های bash برای خودکارسازی کارهای خود می‌نویسید، ممکن است از وارد کردن عبارت yes برای همه دستورها و اجرا کردن آن‌ها خسته شوید. برای گریز از این پاسخ مثبت به همه دستورها می‌توانید از عبارت | yes به صورت زیر استفاده کنید:

yes | apt-get update

اگر می‌خواهید پاسخ no بدهید، می‌توانید از عبارت | yes no استفاده کنید.

لاگین به عنوان root

با این که این رویه مناسبی نیست، اما گاهی چاره دیگری وجود ندارد. با این حال، بهترین گزینه بعدی استفاده از sodu su است. دستور su شما را به عنوان کاربر root وارد سیستم می‌کند و sudo نیز به عنوان root اجرا خواهد شد. از این رو نیازی به وارد کردن رمز عبور root برای آن نخواهید داشت. به علاوه در برخی توزیع‌ها رمز عبور root غیر فعال شده است و از این رو این تنها گزینه ممکن است:

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

لاگ‌آوت

سریع‌ترین روش برای خروج از SSH ،SFTP ،root یا هر نشست ترمینال دیگر استفاده از کلیدهای ترکیبی Ctrl+D است. این دستور در مواردی که باید اتصال‌های SSH زیادی را مدیریت کنید و امکان وارد کردن دستور exit وجود ندارد، مفید خواهد بود.

فایل‌های مشترک

اگر حریم خصوصی برای شما مهم است، این ترفند مناسبِ شما است. دستور rm به طور گسترده برای حذف کردن فایل‌ها استفاده می‌شود، اما این دستور در عمل فایل‌ها را پاک نمی‌کند. حتی پس از استفاده از این دستور، امکان استخراج داده‌ها با استفاده از نرم‌افزار خاص وجود دارد. برای حذف کامل فایل و پر کردن جای آن با کاراکترهای صفر باید از دستور shred به صورت زیر استفاده کنید:

shred -zvu <filename>

حفاظت از فایل‌ها با رمز عبور در VIM

اگر جزء آن دسته از افراد هستید که از vim استفاده می‌کنید، باید بدانید که امکان حفاظت از فایل‌ها در این نرم‌افزار با استفاده از تعیین رمز عبور وجود دارد. به این منظور باید از دستور زیر استفاده کنید:

vim +X filename

همچنین می‌توانید داخل vim مستقیماً دستور x: را وارد کنید.

لیست کردن کاربران

اگر دغدغه‌های حریم خصوصی دارید، ممکن است بخواهید بررسی کنید چه کسی در یک زمان خاص وارد سیستم شده است. به این منظور می‌توانید از دستور w برای لیست کردن همه کاربرانی که هم اینک در سیستم وارد شده‌اند استفاده کنید. به علاوه امکان نوشتن یک اسکریپت خاص نیز وجود دارد که این دستور را در زمان‌های معین اجرا کرده و در صورت وجود مورد مشکوک، نتایج را به یک ایمیل ارسال می‌کند.

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

برای نمایش اطلاعات سیستم یک روش زیبا، نصب و استفاده از فرمان screenfetch است:

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

نکته اضافی

اگر حس تنهایی می‌کنید، می‌توانید با یک گاو جالب صحبت کنید. برای نمونه برای این که عبارت Hello world را بیان کنید، می‌توانید از دستور زیر کمک بگیرید:

echo "Hello world" | cowsay

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

سخن پایانی

از این که این راهنما را تا انتها مطالعه کردید، متشکریم. امیدواریم این مقاله مورد توجه شما قرار گرفته باشد. هر گونه نظر یا پیشنهاد خود را می‌توانید در بخش نظرات این نوشته با ما و دیگر خوانندگان مجله فرادرس در میان بگذارید.

اگر این مطلب برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

==

بر اساس رای ۲ نفر
آیا این مطلب برای شما مفید بود؟
شما قبلا رای داده‌اید!
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.

«میثم لطفی» در رشته‌های ریاضیات کاربردی و مهندسی کامپیوتر به تحصیل پرداخته و شیفته فناوری است. وی در حال حاضر علاوه بر پیگیری علاقه‌مندی‌هایش در رشته‌های برنامه‌نویسی، کپی‌رایتینگ و محتوای چندرسانه‌ای، در زمینه نگارش مقالاتی با محوریت نرم‌افزار با مجله فرادرس همکاری دارد.

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد.

مشاهده بیشتر