{"id":54426,"date":"2022-02-02T03:01:33","date_gmt":"2022-02-01T17:01:33","guid":{"rendered":"http:\/\/www.rjmprogramming.com.au\/ITblog\/?p=54426"},"modified":"2022-01-27T20:54:30","modified_gmt":"2022-01-27T10:54:30","slug":"linux-type-ahead-buffer-primer-tutorial","status":"publish","type":"post","link":"https:\/\/www.rjmprogramming.com.au\/ITblog\/linux-type-ahead-buffer-primer-tutorial\/","title":{"rendered":"Linux Type Ahead Buffer Primer Tutorial"},"content":{"rendered":"<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/Linux\/type_ahead_buffer.png\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Linux Type Ahead Buffer Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/Linux\/type_ahead_buffer.png\" title=\"Linux Type Ahead Buffer Primer Tutorial\"  style=\"float:left;\" \/><\/a><p class=\"wp-caption-text\">Linux Type Ahead Buffer Primer Tutorial<\/p><\/div>\n<p>Lots of operating system command lines offer a <a target=_blank title='Keyboard buffer information from Wikipedia ... thanks' href='https:\/\/en.wikipedia.org\/wiki\/Keyboard_buffer'>&#8220;type ahead buffer&#8221;<\/a>.  We can think of operating system command lines for &#8230;<\/p>\n<ul>\n<li>Linux or unix<\/li>\n<li>macOS or Mac OS X<\/li>\n<li>Open VMS or VAX\/VMS<\/li>\n<li>Windows via DOS<\/li>\n<\/ul>\n<p> &#8230; that have good working type ahead buffers, and we want to appeal now to Operating System &#8220;operators&#8221; here, for when an organized and timely set of procedures did not do exactly what you&#8217;d hoped, perhaps because the data behind it was inapplicable.  We have this happens with our RJM Programming domain web server overnight crontab jobs that sometimes complete for the day, but we remain with a problem we use an ssh based command line on our CentOS Linux web server&#8217;s command line to fix as the rerunning, manually of three different crontab jobs, one repeated to sandwich between the other two, to end up with &#8230;<\/p>\n<ol>\n<li>command to create useful temporary file ; <\/li>\n<li>command for recent posts for non-mobile platforms (ends by deleteing )useful temporary file&#8221; above, after reading it for useful information) ; <\/li>\n<li>(rerun of) command to create useful temporary file ; <\/li>\n<li>command for recent posts for mobile platforms (ends by deleteing )useful temporary file&#8221; above, after reading it for useful information) ; <\/li>\n<li>exit<\/li>\n<\/ol>\n<p>What&#8217;s with the &#8220;;&#8221; characters above?  Well, to usefully use a type ahead buffer you&#8217;ll probably be stringing several command line commands together for your one &#8220;type ahead buffer&#8221; which works because, at least for Linux\/unix\/DOS\/macOS\/Mac OS X the character to separate commands is the &#8220;;&#8221; semicolon, as you can see derived from a &#8220;crontab -l&#8221; basis in <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/Linux\/type_ahead_buffer.png\" title=\"Click picture\">today&#8217;s tutorial picture<\/a>.<\/p>\n<p>What&#8217;s with the &#8220;exit&#8221; command above?  Well, if you are happy to leave &#8220;and forget&#8221; this &#8220;type ahead buffer&#8221;&#8216;s work as it works for you, the ideal &#8220;tidy up&#8221; for our &#8220;ssh based command line on our CentOS Linux web server&#8217;s command line to to &#8220;exit&#8221; or logout, on completion.<\/p>\n<p>We used to, in VAX\/VMS, sometimes type in the &#8220;Return&#8221; keys rather than the &#8220;;&#8221; keys above and the &#8220;type ahead buffer&#8221; was large enough to be &#8220;typing blind&#8221; ahead of the command even registering with the operating system (while the last command ahead of the &#8220;Return&#8221; key press was being performed by VAX\/VMS operating system command line), but we&#8217;d save such &#8220;daredevil&#8221; tactics for boring repetitive tasks that were not mission critical.  Typically, it would be an &#8220;Oh &#8230; but I forgot &#8230; such and such&#8221; reaction leading up to this.<\/p>\n<p>Cute, huh?!<\/p>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d54426' onclick='var dv=document.getElementById(\"d54426\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/command-line\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d54426' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Lots of operating system command lines offer a &#8220;type ahead buffer&#8221;. We can think of operating system command lines for &#8230; Linux or unix macOS or Mac OS X Open VMS or VAX\/VMS Windows via DOS &#8230; that have good &hellip; <a href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/linux-type-ahead-buffer-primer-tutorial\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,29,37],"tags":[168,2698,233,234,274,2147,358,3884,672,673,3885,707,878,2269,2738,3420,1319,3886,1339,1362,1386],"class_list":["post-54426","post","type-post","status-publish","format-standard","hentry","category-elearning","category-operating-system","category-tutorials","tag-buffer","tag-carriage-return","tag-command","tag-command-line","tag-crontab","tag-delimiter","tag-dos","tag-exit","tag-key","tag-keyboard","tag-keyboard-buffer","tag-linux","tag-open-vms","tag-operator","tag-procedure","tag-return","tag-tutorial","tag-type-ahaed-buffer","tag-unix","tag-vax","tag-vms"],"_links":{"self":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/54426"}],"collection":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/comments?post=54426"}],"version-history":[{"count":12,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/54426\/revisions"}],"predecessor-version":[{"id":54524,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/54426\/revisions\/54524"}],"wp:attachment":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/media?parent=54426"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/categories?post=54426"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/tags?post=54426"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}