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

فصل 16- فرمان‌ها، برنامه‌ها و فیلترهای خارجی

‎16.7‎- فرمان‌های کنترل ترمینال

فرمان اثرگذار بر ترمینال یا کنسول

tput

ترمینال را مقدار دهی اولیه کنید و/یا اطلاعات در باره آن را از فایل terminfo اخذ کنید. گزینه‌های متنوع، انجام برخی عملیات ترمینال را اجازه می‌دهند: ‎tput clear‎ معادل clear است، ‎tput reset‎ معادل reset است.

bash$ tput longname
xterm terminal emulator (X Window System)

صادر کردن فرمان ‎tput cup X Y‎ اشاره‌گر را به مختصات ‎(X,Y)‎ در ترمینال جاری حرکت می‌دهد. به طور معمول برای پاک کردن صفحه ترمینال، فرمان clear بر این فرمان مقدم می‌شود.

برخی گزینه‌های جالب برای tput عبارتند از:

  • bold، برای متن پر رنگ

  • smul، برای خط کشیدن زیر متن در ترمینال

  • smso، برای معکوس کردن رنگ متن و زمینه

  • sgr0، برای تنظیم مجدد پارامترهای ترمینال (به عادی)، بدون پاک کردن صفحه نمایش

اسکریپت‌های نمونه با کاربرد tput:

  1. مثال ‎36-15‎

  2. مثال ‎36-13‎

  3. مثال ‎A-44‎

  4. مثال ‎A-42‎

  5. مثال ‎27-2‎

توجه نمایید که stty مجموعه فرمان‌ قدرتمندتری برای کنترل ترمینال ارایه می‌کند.

infocmp

این فرمان اطلاعات گسترده‌ای درباره ترمینال جاری در خروجی چاپ می‌کند. این فرمان به بانک اطلاعات terminfo مراجعه می‌کند.

bash$ infocmp

#       Reconstructed via infocmp from file:
 /usr/share/terminfo/r/rxvt
 rxvt|rxvt terminal emulator (X Window System), 
        am, bce, eo, km, mir, msgr, xenl, xon, 
        colors#8, cols#80, it#8, lines#24, pairs#64, 
        acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, 
        bel=^G, blink=\E[5m, bold=\E[1m,
        civis=\E[?25l, 
        clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M, 
        ...

reset

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

clear

فرمان clear فقط صفحه متن در کنسول یا در یک xterm را پاک می‌کند. اعلان و اشاره‌گر در گوشه سمت چپ بالای صفحه نمایش یا پنجره xterm دوباره ظاهر می‌گردند. این فرمان می‌تواند در خط فرمان یا در یک اسکریپت به کار برود. مثال ‎11-26‎ را ببینید.

resize

فرمان‌های لازم برای تنظیم ‎$TERM‎ و ‎$TERMCAP‎ را با رونوشت برداری از اندازه (ابعاد) ترمینال جاری، بازتاب می‌دهد.

bash$ resize

 set noglob;
 setenv COLUMNS '80';
 setenv LINES '24';
 unset noglob;

script

این برنامه تمام ضربه کلیدهای کاربر در خط‌فرمان روی یک کنسول یا پنجره xterm (مترجم: وتمام پیامدهای ناشی از آنها بر روی کنسول یا پنجره) را ثبت می‌کند (ذخیره در یک فایل). این فرمان، در واقع، رکوردی از یک نشست ایجاد می‌کند.
(مترجم: با تعیین نام فایل به عنوان شناسه فرمان، این رکورد در فایل تعیین شده ذخیره خواهد شد، اما اگر شناسه به کار نرود در فایلی با نام typescript در دایرکتوری جاری ثبت می‌کند. استفاده از گزینه ‎-a‎ برگرفته از append باعث می‌شود اگر فایل از قبل موجود باشد، به صورت رکوردی در انتهای فایل اضافه شود. مطابق شیوه پسندیده مرسوم، گزینه ‎-h‎ برگرفته از help نیز راهنمای کاربرد فرمان را ارایه می‌کند.)