منبع اصلی نوشتار زیر در این لینک قرار دارد

stty چیست


stty برای نمایش و تغییر صفات خط فرمان (ترمینال) استفاده می شود. دستور tty را اگر در خط فرمان جاری اجرا کنید نام خط فرمان را که کاربر در حال استفاده از آن است را نشان می دهد ولی از stty برای نمایش تنظیمات یک خط فرمان استفاده می شود. بطور مثال برای نمایش تعداد سطر ها و ستون های ترمینال که می توانیم برای چاپ یک رشته در نقطه ای (وسط) از ترمینال استفاده کنیم. این دستور دارای تعدادی سوئیچ به صورت زیر می باشد.

a- : چاپ تمامی تنظیمات فعلی

stty -a

speed 38400 baud; rows 37; columns 115; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q;
stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts -cdtrdsr
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke

بطور مثال rows و columns به ترتیب تعدا سطر و ستون را نشان می دهند.

g- : چاپ تمامی تنظیمات فعلی به فرم stty-readable .تفاوت این خروجی با حالت قبلی اینکه، خروجی سوئیچ a- قابل خواندن توسط کاربر می باشد.

500:5:bf:8a3b:3:1c:7f:15:4:0:1:0:11:13:1a:0:12:f:17:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0

F- : نمایش یک دیوایس (ترمینال خاص). اگر دستور stty را بدون هیچ پارامتری اجرا کنید اطلاعات ترمینال فعلی (بطور مثال tty2) را نشان می دهد. ولی می توانید از یک ترمینال اطلاعات ترمینال دیگر مانند pts/2 را نشان دهید.

stty -F DEVICE

stty -F /dev/pts/2

stty برنامه ای پیچیده که در اسکریپت ها برای کنترل ترمینال و چگونگی نمایش خروجی استفاده می شود. در خروجی stty -a برخی تنظیمات بصورت key = value هستند که با ; از هم جدا شده اند. برخی دیگر بصورت باینری (on یا off) هستند. یک علامت – (منها، Minus) در جلوی اینگونه تنظیمات به معنی turned off (خاموش) بودن می باشد. تنظیم speed بصورت دو مقداری می باشد.

speed 38400 baud

همچمنین امکان تنظیم و تغییر برخی از کلید ها مانند Ctrl+C یا Delete Key را دارید. این مقادیر بطور مثال برای Ctrl+C به صورت C^ برای تنظیم intr نشان داده میشود. روش تغییر مقادیر این بصورت زیر می باشد.

stty setting value

intr : به معنی Intrrupt و برای متوقف کردن عملیات در حال اجرا. (پیش فرض کلید C^)

erase : به معنی عملیات پاک کردن خط فعلی در خط فرمان ( پیش فرض کلید ?^). همان کلید Backspace برای پاک کردن خط جاری

werase : خط جاری را پاک می کند. (کلید پیش فرض W^)

kill : ارسال سیگنال برای kill کردن. (کلید پیش فرض U^)

eol : مخفف End of File و تعیین کننده پایان یک فایل. (کلید پیش فرض D^). دستور زیر توسط cat از Standard Input کاراکتر هایی را خوانده و بعد از فشردن کلید Ctrl+D پروسه خواندن از ورودی استاندارد به پایان می رسد و در فایل ذخیره می شوند.

cat > filename

susp : مخفف suspend که اجرای برنامه را معلق می کند.بطور مثال زمانی که دستوری مانند find برای جستجو در سیستم فایل را انجام می دهید خط فرمان اسغال می شود و دیگر Prompt ندارید، برای گرفتن دوباره Prompt یا باید find را kill کنید یا اینکه اجرای آنرا فعلن معلق کنید.

برای نمونه تغییر تنظیم intr از Ctrl+C به کلیدی دیگر

stty intr ^I

و باز گرداندن آن به حالت پیش فرض

stty intr ^C

برای تغییر backspace به کاراکتری دیگر مانند # از دستور زیر استفاده کنید.

‘#’ stty erase

و بازگرداندن آن به حالت قبلی (یعنی کلید Backspace) از دستور زیر استفاده کنید.

?^ stty erase



برچسب ها : , , , , , ,

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

به اين صفحه امتياز دهيد