1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2<html xmlns="http://www.w3.org/1999/xhtml"> 3<head> 4<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 5<meta name="theme-color" content="#3e4495" /> 6<meta property='og:type' content='website' /> 7<title>Publications [ steve-parker.org ]</title> 8
9<script src="/js/jquery-1.5.1.min.js" type="text/javascript"></script>
9 10 11<!--<link href='http://fonts.googleapis.com/css?family=Ubuntu:300,400,500,700&v2' rel='stylesheet' type='text/css'>--> 12 13<link href='/css/ubuntu/stylesheet.css' rel='stylesheet' type='text/css'> 14<link href="/css/screen.css" rel="stylesheet" type="text/css" /> 15<link href="/css/menu.css" rel="stylesheet" type="text/css" /> 16<link href="/css/footmenu.css" rel="stylesheet" type="text/css" /> 17<link rel="stylesheet" type="text/css" href="/css/stickyfooter.css"/> 18 19<link rel="stylesheet" type="text/css" href="/prettify/prettify.css">
20<script src="/prettify/prettify.js" type="text/javascript"></script>
vendor: 83 bytes, lines 20-22
20 21 <script src="https://www.google.com/recaptcha/api.js" async defer></script> 22
22<script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>
22 23 24
25<script src="/js/menucontrol.js" type="text/javascript"></script>
25 26 27<!--[if !IE 7]> 28 <style type="text/css"> 29 #wrap {display:table;height:100%} 30 </style> 31<![endif]--> 32 33</head> 34<body onload="prettyPrint()"> 35<div id="wrap"> 36 <div id="main"> 37 <div id="content"> 38 39<h1>Publications</h1> 40<p>Publications by Steve Parker</p> 41<p>You can also view the Author Page at <a href="http://amazon.com/author/unixsteve">http://amazon.com/author/unixsteve</a>.</p> 42<h2>Shell Scripting: Expert Recipes for Linux, Bash and more</h2> 43<a href="#preview_shell_scripting">Preview</a> 44<img style="float:right" src="ss-small.jpg"> 45<p>Published: August 2011.<br/> 46Format: Paperback, eBook<br/> 47Pages: 600<br/> 48RRP: £39.99 / â¬40.00 / $49.99<br/> 49<a href="http://eu.wiley.com/WileyCDA/WileyTitle/productCd-1118024486,descCd-description.html">Wiley.com</a> 50<br/> 51<a href="https://www.amazon.com/dp/1118024486/ref=as_li_qf_sp_asin_til?tag=steveparkeror-20&camp=14573&creative=327641&linkCode=as1&creativeASIN=1118024486&adid=1TRFV7NB5E0NTHQWV4CV&&ref-refURL=http%3A%2F%2Fsteve-parker.org%2Fpublications%2F">Amazon.com</a> 52</p> 53 54<h2>Shell Scripting Tutorial</h2> 55<a href="#preview_shell_scripting_tutorial">Preview</a> 56<img style="float:right" src="sst.jpg"> 57<p>Published: Mar 2013<br/> 58Format: Online, PDF, eBook, Paperback<br/> 59Pages: 85<br/> 60PDF: <a href="http://gum.co/shellscript">http://gum.co/shellscript</a> 61<br/> 62<a href="https://www.amazon.com/dp/B00C2EGNSA/ref=as_li_ss_til?tag=steveparkeror-20">Amazon Kindle</a> 63<br/> 64<a href="https://www.amazon.com/Shell-Scripting-Tutorial-Steve-Parker/dp/1499546653">Paperback (USA)</a><br /> 65<a href="https://www.amazon.co.uk/Shell-Scripting-Tutorial-Steve-Parker/dp/1499546653">Paperback (UK)</a><br /> 66For Paperback copies in other countries, search for ISBN 1499546653 or ISBN 978-1499546651.<br /> 67<br/> 68<a href="http://nixshell.wordpress.com/2013/03/29/shell-scripting-tutorial-on-kindle/">More information</a> 69</p> 70 71<h2>How to Create an RPM</h2> 72<h3>A practical guide to creating a Linux RPM</h3> 73<a href="#preview_rpm">Preview</a> 74<img style="float:right" src="rpm.jpg"> 75<p>Published: March 2016<br/> 76Format: Paperback, eBook<br/> 77<a href="http://amzn.to/1TtU9Av">amzn.com/B01CBZ6SXY</a><br /> 78<a href="http://amzn.to/1LdrOfp">amazon.co.uk/dp/B01CBZ6SXY</a><br /> 79 80<!-- 81<h2>How to Build a LAMP (Linux, Apache, MySQL, PHP) Server</h2> 82<h3>From Initial Installation to Designing and Building a Working Application</h3> 83<a href="#preview_lamp">Preview</a> 84<img style="float:right" src="lamp-all.png"> 85<p>Published: June 2013<br/> 86Format: Online, PDF, Paperback, eBook<br/> 87<a href="http://steve-parker.org/lamp/">http://steve-parker.org/lamp/</a> 88<br /> 89<a href="http://www.amazon.com/gp/product/B00DAI6ATO/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=B00DAI6ATO&linkCode=as2&tag=steveparkeror-20">http://amzn.com/B00DAI6ATO</a><br/> 90<a href="http://www.amazon.co.uk/gp/product/B00DAI6ATO/ref=as_li_ss_tl?ie=UTF8&camp=1634&creative=19450&creativeASIN=B00DAI6ATO&linkCode=as2&tag=steveparkeror-21">http://amazon.co.uk/dp/B00DAI6ATO</a><br/> 91</p> 92<div clear="both"> </div> 93<hr /> 94--> 95 96<a name="preview_shell_scripting"></a> 97<h1>Preview the "Shell Scripting" book</h1> 98<iframe type="text/html" width="336" height="550" frameborder="0" allowfullscreen style="max-width:100%" src="https://read.amazon.com/kp/card?asin=B005J58LSO&preview=inline&linkCode=kpe&ref_=cm_sw_r_kb_dp_iJ6Zwb1J2XF65&tag=steveparkeror-20" ></iframe> 99 100<a name="preview_shell_scripting_tutorial"></a> 101<h1>Preview the "Shell Scripting Tutorial"</h1> 102<iframe type="text/html" width="336" height="550" frameborder="0" allowfullscreen style="max-width:100%" src="https://read.amazon.com/kp/card?asin=B00C2EGNSA&preview=inline&linkCode=kpe&ref_=cm_sw_r_kb_dp_mM6Zwb14V1JYP&tag=steveparkeror-20" ></iframe> 103 104<a name="preview_rpm"></a> 105<h1>Preview the "How to Create an RPM" book</h1> 106<iframe type="text/html" width="336" height="550" frameborder="0" allowfullscreen style="max-width:100%" src="https://read.amazon.com/kp/card?asin=B01CBZ6SXY&preview=inline&linkCode=kpe&ref_=cm_sw_r_kb_dp_W5k4wb1VQPPK3" ></iframe> 107 108<a name="preview_lamp"></a> 109<h1>Preview the "How to Build a LAMP Server" book</h1> 110<iframe type="text/html" width="336" height="550" frameborder="0" allowfullscreen style="max-width:100%" src="https://read.amazon.com/kp/card?asin=B00DAI6ATO&preview=inline&linkCode=kpe&ref_=cm_sw_r_kb_dp_4M6Zwb1BJ3WCC&tag=steveparkeror-20" ></iframe> 111 112 113 <DIV id="subheadTop">Publications</DIV> 114 115 116 <div id="socialTop"> 117 118 <A href="https://twitter.com/home?status=Publications - http://steve-parker.org/publications/" target="_blank"><img src="/img/twitter.png" width="23" height="23" alt="Share on Twitter" border="0"/></A> 119<A href="https://www.facebook.com/share.php?u=http://steve-parker.org/publications/?&t=Publications" target="_blank"><img src="/img/facebook.png" width="24" height="23" border="0" alt="Share on Facebook"/></A> 120<A href="http://www.linkedin.com/shareArticle?mini=true&url=http://steve-parker.org/publications/&title=Publications&summary=A%20Bourne%20Shell%20Programming/Scripting%20Tutorial%20for%20learning%20about%20using%20the%20Unix%20shell.%20Learn%20Linux%20/%20Unix%20shell%20scripting%20by%20example%20along%20with%20the%20theory.%20We%27ll%20have%20you%20mastering%20Unix%20shell%20scripting%20in%20no%20time!" target="_blank"><img src="/img/linkedin.png" width="24" height="23" alt="Share on LinkedIn" border="0"/></A> 121<a rel="me" href="https://social.linux.pizza/@unixsteve"><img src="/img/mastodon.png" width="23" height="23"></a> 122 123 </div> 124 125 </div> 126 127 <div id="sidebar"></div> 128 129 <div id="header"> 130 <div id="sitemenu"><ul class="menu"><li class="menuitem"><a href="/" rel="nofollow">Home</a></li><li class="menuitem hasChildMenu"><a href="/sh/sh.shtml" rel="nofollow">Tutorials, Articles and Publications</a><ul><li class="menuitem"><a href="/sh/sh.shtml" rel="nofollow">
130Shell Scripting Tutorial</a></li><li class="menuitem"><a href="/articles" rel="nofollow">Articles</a></li><li class="menuitem"><a href="/linux/" rel="nofollow">Linux Tips</a></li><li class="menuitem"><a href="/publications" rel="nofollow">My Publications</a></li></ul></li><li class="menuitem hasChildMenu"><a href="/book" rel="nofollow">Shell Scripting: Expert Recipes</a><ul><li class="menuitem"><a href="https://www.amazon.com/gp/product/1118024486/ref=as_li_tf_tl?ie=UTF8&tag=steveparkeror-20&linkCode=as2&camp=217145&creative=399373&creativeASIN=1118024486" rel="nofollow">Shell Scripting On Amazon USA</a></li><li class="menuitem"><a href="https://www.amazon.co.uk/dp/1118024486/ref=as_li_tf_til?tag=steveparkeror-21&camp=1406&creative=6394&linkCode=as1&creativeASIN=1118024486&adid=0W3RN3982XER7Z4GHTW1&" rel="nofollow">Shell Scripting On Amazon UK</a></li><li class="menuitem"><a href="https://facebook.com/shellscript" rel="nofollow">Shell Scripting On Facebook</a></li><li class="menuitem"><a href="https://steve-parker.org/book" rel="nofollow">Shell Scripting Table of Contents</a></li><li class="menuitem"><a href="/publications" rel="nofollow">My Publications</a></li></ul></li><li class="menuitem hasChildMenu"><a href="/cv/" rel="nofollow">My CV</a><ul><li class="menuitem"><a href="/cv/" rel="nofollow">Read Online</a></li><li class="menuitem"><a href="/cv-steve-parker.doc" rel="nofollow">Download .DOC</a></li><li class="menuitem"><a href="/cv-steve-parker.pdf" rel="nofollow">Download .PDF</a></li></ul></li></ul></div> 131 </div> 132 133 134 <DIV id="leftBar"> 135 136 137<p> 138<a target='_blank' href="http://amzn.to/2mPhTlK"><center><img src='/img/shellscripting.jpg' width='159px' height='200px' alt='Shell Scripting: Expert Recipes for Linux, Bash and more'></center><br/>Shell Scripting: Expert Recipes for Linux, Bash and more</a> is my 564-page book on Shell Scripting. The first half covers all of the features of the shell in every detail; the second half has real-world shell scripts, organised by topic, along with detailed discussion of each script.</center> 139</p> 140<p> </p> 141<p> </p> 142<p> </p> 143<p> </p> 144<p> </p> 145<p> 146<a target="_blank" href="http://amzn.to/2mPj2tK"><center><img src='/img/tutorial.jpg' width='125px' height='200px' alt='Shell Scripting Tutorial'></center><br/>Shell Scripting Tutorial</a> is my Shell Scripting tutorial, in 88-page Paperback and eBook formats. Convenient to read on the go, and in paperback format good to keep by your desk as an ever-present companion.</center></a><br/> 147 148 149<p> </p> 150<p> </p> 151<p> </p> 152<p> </p> 153<p> </p> 154 155<br/>My Shell Scripting Tutorial is also available in PDF form at Gumroad: 156<a class="my-gumroad-button" href="https://gum.co/shellscript" target="_blank">Get my Shell Scripting Tutorial as a PDF for only $5</a> 157</p> 158 159 160 161 </DIV> 162 163 164 165 </div> 166 167 168</div> 169 170 171 172 173<div id="footer"> 174 175 <div id="footercontent"> 176 <!-- skip foot menu 177 <div id="footmenu"> 178 <--?php echo $mb->buildFooterMenu(); ?> 179 </div> 180 <div id="socialFoot"> 181 <--?php include($_SERVER['DOCUMENT_ROOT'] . '/php/socialicons.php'); ?> 182 <div/> 183 --> 184 185 <div id="copy"> 186 All Content © Steve Parker 2000 - 2026 unless otherwise indicated. 187 </div> 188 189 </div> 190 191</div>
192<script>
vendor: 339 bytes, lines 192-198
192 193 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 194 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 195 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 196 })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 197 198 ga('create', '
198UA-270530-1
vendor: 14 bytes, lines 198-199
198', 'auto'); 199
199ga('require', 'displayfeatures'); 200 ga('send', 'pageview'); 201 202</script>
202 203<!-- Place this tag after the last plusone tag -->
204<script type="text/javascript"> 205 window.___gcfg = {lang: 'en-GB'}; 206 207 (function() { 208 var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; 209 po.src = 'https://apis.google.com/js/plusone.js'; 210 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); 211 })(); 212</script>
212 213
214<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"8d7381f2841049f7bfec19d948654d2e","r":1,"spa":2}' crossorigin="anonymous"></script>
214 215</body> 216</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.