CLEAR(1) دستورات کاربر CLEAR(1)

clear - پاک کردن صفحه ترمینال

clear [-Ttype] [-V] [-x]

دستور clear در صورت امکان صفحه ترمینال شما را پاک می‌کند، از جمله بافر پیمایش به عقب (scrollback buffer) ترمینال (اگر قابلیت گسترش‌یافته “E3” تعریف شده باشد). دستور clear نوع ترمینال را در محیط از طریق متغیر محیطی TERM بررسی کرده و سپس در پایگاه داده terminfo جستجو می‌کند تا نحوه پاک کردن صفحه را تعیین نماید.

دستور clear در خروجی استاندارد می‌نویسد. می‌توانید خروجی استاندارد را به یک فایل تغییر مسیر دهید (که از پاک شدن واقعی صفحه توسط clear جلوگیری می‌کند)، و سپس با اجرای دستور cat روی آن فایل، صفحه را در آن لحظه پاک کنید.

نوع ترمینال (type) را مشخص می‌کند. به‌طور معمول این گزینه غیرضروری است، زیرا مقدار پیش‌فرض از متغیر محیطی TERM گرفته می‌شود. اگر -T مشخص شود، متغیرهای پوسته LINES و COLUMNS نیز نادیده گرفته خواهند شد.
نسخه ncurses استفاده‌شده در این برنامه را گزارش داده و خارج می‌شود.
تلاش برای پاک کردن بافر پیمایش به عقب ترمینال با استفاده از قابلیت گسترش‌یافته “E3” را انجام ندهد.

دستور clear نخستین بار در 2.79BSD مورخ ۲۴ فوریه ۱۹۷۹ ظاهر شد. سپس در ویرایش هشتم یونیکس (1985) ارائه گردید.

شرکت AT&T برنامه دیگری از BSD به نام (tset) را برای ساخت دستور جدیدی (tput) اقتباس کرد و از آن برای جایگزینی دستور clear با یک اسکریپت پوسته که tput clear را فراخوانی می‌کرد استفاده نمود، مانند:


/usr/bin/tput ${1:+-T$1} clear 2> /dev/null
exit

در سال ۱۹۸۹، هنگامی که Keith Bostic دستور tput در BSD را بازبینی کرد تا آن را مشابه tput در AT&T سازد، یک اسکریپت پوسته برای دستور clear افزود:


exec tput clear

باقی‌مانده اسکریپت در هر مورد یک اطلاعیه حق نشر است.

دستور clear در ncurses در سال ۱۹۹۵ با اقتباس از دستور اصلی clear در BSD (البته به همراه terminfo) آغاز شد.

افزونه E3 بعداً ارائه شد:

•
در ژوئن ۱۹۹۹، xterm یک افزونه برای توالی کنترلی استاندارد پاک کردن صفحه ارائه داد. به جای پاک کردن تنها بخش قابل مشاهده صفحه با استفاده از:


printf '\033[2J'

امکان پاک کردن بافر پیمایش به عقب (scrollback) فراهم شد با:


printf '\033[3J'

این مورد در XTerm Control Sequences به عنوان قابلیتی که از xterm سرچشمه گرفته مستند شده است.
  • چند توسعه‌دهنده ترمینال دیگر نیز این ویژگی را پذیرفتند، مانند PuTTY در سال ۲۰۰۶.
  • در آوریل ۲۰۱۱، یک توسعه‌دهنده Red Hat وصله‌ای برای هسته لینوکس ارسال کرد که درایور کنسول آن را برای انجام همین کار تغییر داد. تغییر لینوکس، بخشی از انتشار 3.0، نامی از xterm نبرد، اگرچه در گزارش باگ Red Hat (شماره 683733) که منجر به این تغییر شد به آن اشاره شده بود.
  • مجدداً، چند توسعه‌دهنده ترمینال دیگر این ویژگی را پذیرفتند. اما گام مرتبط بعدی تغییر در برنامه clear در سال ۲۰۱۳ برای ادغام این افزونه بود.
  • در سال ۲۰۱۳، افزونه E3 در دستور tput با پارامتر “clear” نادیده گرفته شده بود. این مسئله در سال ۲۰۱۶ با سازماندهی مجدد tput جهت به اشتراک‌گذاری منطق آن با clear و tset برطرف شد.

نه استاندارد IEEE Std 1003.1/The Open Group Base Specifications Issue 7 (POSIX.1-2008) و نه X/Open Curses Issue 7 هیچ‌کدام دستورات tset یا reset را مستند نمی‌کنند.

مورد دوم دستور tput را مستند می‌کند که می‌تواند برای جایگزینی این ابزار از طریق اسکریپت پوسته یا با یک نام مستعار (مانند یک پیوند نمادین) جهت اجرای tput به عنوان clear استفاده شود.

توماس ای. دیکی (Thomas E. Dickey) و بنیاد نرم‌افزارهای آزاد (Free Software Foundation, Inc.).

گزارش اشکالات به: https://invisible-island.net/ncurses/ncurses.html

حق نشر © 2018-2021,2022 Thomas E. Dickey
حق نشر © 1998-2016,2017 Free Software Foundation, Inc.
مجوز MIT/X11: این نرم‌افزار به صورت رایگان به هر شخصی که نسخه‌ای از آن را دریافت می‌کند واگذار می‌شود.

tput(1), terminfo(5), xterm(1).

این سند ncurses نسخه 6.4 (وصله 20221231) را توصیف می‌کند.

ncurses 6.4