شما برای مطالعه این مقاله فقط 7 دقیقه وقت نیاز دارید

screen-command
دسته بندی : آموزش لینوکس

کار با دستور screen در لینوکس برای مدیریت چندین ترمینال

4/5 - (1 امتیاز)

دنیای لینوکس با ترمینال است که معنا پیدا کرده است و مدیریت کارآمد ترمینال برای افزایش راحتی و بهره وری بسیار ضروری است. مخصوصاً هم وقتی که تسک های پیچیده و سنگینی انجام می دهید یا سیستم هایی را به صورت ریموت مدیریت می کنید، حتماً باید توانایی مدیریت چند جلسه ترمینال به صورت یکجا و همزمان را داشته باشید و اینجاست که دستور screen در لینوکس وارد عمل می شود.

دستور screen این امکان را به کاربران لینوکس می دهد که با استفاده از یک جلسه یا session چند پنجره ترمینال ایجاد و مدیریت کرده و به راحتی بین آنها پیمایش کنند.

اگر می خواهید با نحوه استفاده از دستور screen و تمام نکات مهم برای مدیریت موثر چند ترمینال آشنا شوید، در جای درستی قرار دارید چون این آموزش، جواب کاملی برای تمام سوال های شما در مورد دستور screen در لینوکس است.

دستور screen چیست؟

دستور screen به عنوان یک مالتی پلکسر عمل می کند. مالتی پلکسری که چند ترمینال مجازی را از طریق یک ترمینال فیزیکی یا جلسه shell ریموت قابل کنترل می کند.

در واقع، کافیست یک جلسه screen باز کنید و بعد در داخل این جلسه، هر چقد که خواستید پنجره جدید تحت عنوان ترمینال مجازی ایجاد کنید.

البته، کاربردهای دستور screen به همین یک مورد خلاصه نمی شود. انعطاف پذیری که با این دستور تجربه می کنید، خیلی فراتر از ایجاد چند ترمینال است.

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

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

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

مزایای استفاده از دستور screen در لینوکس

با این دستور از مزایای زیادی بهره مند می شود که مهم ترین آنها عبارت اند از:

افزایش بهره وری

با مدیریت چند ترمینال در یک جلسه به راحتی می توانید بین تسک ها سویچ کنید، فرآیندهای در حال انجام را نظارت کنید و تمام دستورات موردنظر خود را بدون نیاز به ترمینال ها یا اتصالات SSH جداگانه اجرا کنید.

حفظ وضعیت ترمینال

دستور screen این امکان را به شما می دهد که بدون خاتمه دادن به یک دستور یا تسک از جلسه خارج شوید و اتصال ریموت خود را قطع کنید و بعداً که دوباره به سرور وصل شدید، دقیقاً از همان جایی که جلسه را متوقف کرده بودید به جلسه خود ادامه دهید. با این کار، فرآیندها و پیکربندی های شما بدون هیچ گونه تغییری به صورت دست نخورده می مانند و موقع از سر گیری جلسه، آماده استفاده شما هستند.

امکان اشتراک گذاری و همکاری

دستور screen این امکان را به کاربران می دهد که همگی با هم به یک جلسه متصل شوند و پروسه برنامه نویسی، خطایابی یا اجرای جلسات آموزشی را با همکاری هم پیش ببرند.

انعطاف پذیری و راحتی

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

نحوه استفاده از دستور screen در لینوکس

برای اینکه از دستور screen استفاده کنید اول باید مطمئن شوید که این دستور روی سیستم شما نصب شده است. اکثر توزیع های لینوکس از این دستور بهره مند هستند و فقط کافیست با استفاده از یک مدیر بسته، پکیج مربوط به این دستور را از مخازن سیستم خود نصب کنید.

نصب دستور screen در اوبونتو یا دبیان

sudo apt-get install screen

نصب دستور screen در centos / RHEL

yum install screen

بعد از اینکه این پکیج را نصب کردید، ترمینال خود را باز کنید و با اجرای دستور زیر، یک جلسه screen جدید باز کنید:

screen

برای اینکه یک جلسه جدیدی ایجاد کنید و اسم خاصی را به آن اختصاص دهید، باید دستور screen را به صورت زیر اجرا کنید:

screen -S session_name

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

مدیریت چند جلسه ترمینال با screen

ابزار screen از الگوی پنجره استفاده می کند. به این صورت که هر پنجره معرف یک ترمینال جداگانه مربوط به جلسه screen است. شما با استفاده از دستورات و کلیدهای ترکیبی به راحتی می توانید پنجره ها را ایجاد کنید، بین آنها سویچ کنید یا آنها را ببندید.

* برای اینکه دستورات و آپشن ها پذیرفته و اجرا شوند، اول باید دکمه ترکیبی Ctrl+A را فشار دهید و بعد دستور موردنظر را وارد کنید.

کلیک کنید  دستور pwd در لینوکس: راهنمای نمایش مسیر دایرکتوری فعلی

برای ایجاد یک پنجره جدید می توانید از کلید ترکیبی استفاده کنید:

Ctrl + A, C

این دستور یک پنجره ترمینال جدید در جلسه screen باز می کند که برای سویچ بین پنجره ها می توانید از کلید ترکیبی زیر استفاده کنید:

Ctrl + A, N

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

Ctrl + A, P

برای بستن پنجره فعلی، از کلیک ترکیبی زیر استفاده کنید:

Ctrl + A, K

اتصال یا جداسازی جلسه اسکرین

با screen به راحتی می توانید بدون اینکه به وضعیت جلسه خاتمه بدهید، جلسه موردنظر را قطع کنید. همچنین، هر موقع که خواستید می توانید به آن جلسه برگردید و از جایی که باقی مانده بودید، ادامه دهید.

برای جداسازی یا قطع یک جلسه screen می توانید از کلیک ترکیبی زیر استفاده کنید:

Ctrl + A, D

اگر بعداً خواستید به ترمینال یا پنجره ای که قطع کرده بودید، برگردید می توانید از دستور زیر استفاده کنید:

screen –r

البته، بعضی وقت ها قطع ناگهانی اتصال یا جداسازی جلسات اسکرین بیشتر باعث می شود که لیستی از جلسه های جدا شده داشته باشید. در این صورت بهتر است لیست جلسات را بررسی کنید و بعد ID جلسه موردنظر را بردارید و به آن متصل شوید.

برای مشاهده لیست جلسات، از دستور زیر استفاده کنید:

screen -ls

بعد، شناسه جلسه مورنظر را بردارید و دستور اتصال screen را به صورت زیر اجرا کنید:

screen -r ID

حرکت بین پنجره ها

دستور screen تکنیک های متنوعی برای حرکت بین پنجره های مربوط به یک جلسه ارائه می دهد. با کلید ترکیبی Ctrl +A و شماره پنجره موردنظر خود می توانید به آن پنجره بروید:

Ctrl + A, 0-9

همچنین، درصورت تمایل می توانید اسم یا شناسه خاصی را به پنجره ها اختصاص دهد تا پیمایش بین آنها راحت تر باشد.

تقسیم جلسه screen

با ویژگی تقسیم جلسه می توانید جلسه اسکرین را به چند بخش تقسیم کنید تا هر بخش میزبان یک پنجره ترمینال باشد. وقتی نیاز به اجرای چند دستور یا نظارت چند فرآیند به صورت همزمان دارید، این قابلیت برای شما بسیار مفید خواهد بود.

برای تقسیم عمودی صفحه، از کلید ترکیبی زیر استفاده کنید:

Ctrl + A, |

این |، حرف l (اِل) انگلیسی نیست. همان پیپ است که با فشردن دکمه Ctrl و بک اسلش تایپ می شود.

این دستور، درست در سمت راست بخش فعلی، یک بخش جدید ایجاد می کند.

برای تقسیم افقی صفحه، از کلید ترکیبی زیر استفاده کنید:

 Ctrl + A, S

کپی و الصاق در دستور screen

کپی/پیست از بایدهای کاربران سیستم های کامپیوتری است که در جلسه screen هم می توانید از این قابلیت استفاده کنید. برای ورود به حالت کپی، می توانید از کلید ترکیبی زیر استفاده کنید:

Ctrl + A, [

بعد از اینکه در این حالت قرار گرفتید، می توانید با استفاده از دکمه های جهت دار (بالا و پایین)، بخش متنی موردنظر را انتخاب کنید و بعد با فشردن دکمه enter، این متن را کلیبورد screen کپی کنید.

برای الصاق یا paste کردن این تکه متن می توانید از کلید ترکیبی زیر استفاده کنید:

Ctrl + A, ]

بستن جلسه اسکرین

برای بستن جلسه screen، اول باید همه پنجره های مربوط به آن را با کلید ترکیبی زیر ببندید:

Ctrl + A, K

بعد از اینکه همه پنجره ها را بستید، خود جلسه هم به طور خودکار بسته می شود.

نکات و ترفندهای دستور screen

با این ترفندها می توانید تجربه استفاده درست تری از این دستور داشته باشید:

سفارشی سازی دستور screen

اگر دوست دارید این دستور را مطابق با نیازهای خود پیکربندی کنید، می توانید فایل پیکربندی .screenrc را ایجاد کنید و با استفاده از این فایل بخش های مختلف را سفارشی سازی کنید. تعریف کلیدهای سفارشی، تغییر عنوان های پیش فرض پنجره ها و … از جمله کارهایی است که می توانید برای سفارشی سازی ابزار screen انجام دهید.

گزارش گیری جلسه

دستور screen، گزینه ای را برای فعال کردن گزارشات جلسه ارائه می دهد و شما با استفاده از آن می توانید تمام ورودی ها و خروجی ها را در یک فایل ذخیره کنید. این ویژگی برای کارهایی مثل نگهداری تاریخچه، خطایابی، اشتراک گذاری یک نسخه از جلسات با دیگران مفید است.

اشتراک گذاری و همکاری

برای اشتراک گذاری یک جلسه با کاربران دیگر می توانید اسم یا ID جلسه را به آنها بدهید. آنها از دستور reattach برای پیوستن به جلسه استفاده کنند.

ادغام با سایر ابزارهای لینوکس

در صورت تمایل می توانید دستور screen را با ابزارهای دیگر ادغام کنید تا عملکرد آن را به سطح موردنظر خود برسانید. به عنوان مثال، می توانید از SSH برای اتصال به سرور ریموت و شروع جلسه screen استفاده کنید و مزایای این دو ابزار را ترکیب کنید.

کلام آخر

دستور screen یکی از قدرتمندترین دستورات لینوکس است که مدیریت چند ترمینال به صورت همزمان را راحت تر می کند. با استفاده از ویژگی های این ابزار می توانید بهره روی کار خود را افزایش دهید، وضعیت جلسات را حفظ کنید و هر زمان که خواستید آن را با همکاران یا سایر کاربران به اشنراک بگذارید. فرقی نمی کند که یک کاربر ساده هستید یا به عنوان ادمین یا توسعه دهنده از ترمینال لینوکس استفاده می کنید، تسلط داشتن به این دستور، تاثیر زیادی در ارتقا تجربه لینوکس شما دارد.

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

سوالات متداول:

نه، این دستور برای مدیریت جلسات ترمینال طراحی شده است و برای انتقال فایل باید از دستورات دیگری مثل scp یا rsync استفاده کنید.

بله، این دستور بیشتر برای مدیریت ریموت ترمینال ها مفید است چون امکان جداسازی یا اتصال مجدد جلسات را فراهم می کند.

بله شما با ایجاد فایل پیکربندی .screenrc می توانید کلیدها را به شکل دلخواه خود سفارشی سازی کنید.

این دستور با اکثر توزیع های محبوب مثل اوبونتو، CentOS، Debian و Fedora سازگار است.

مطالب مشابهی که شاید علاقمند باشید

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

دیدگاه های شما

برای دریافت این مقاله لطفا ایمیلتان را وارد کنید

می توانید مقاله را دانلود کنید یا پرینت بگیرید