[FM Discuss] Review of "Introduction to the command line" book

Jaysinh Shukla jaysinhp at gmail.com
Sat Mar 4 01:32:57 PST 2017


On Friday 03 March 2017 05:41 PM, Mick wrote:
>
> Hi there Jaysinh,
>
> Thanks so much for this review. I'll copy and paste it below for 
> others to read.
>
> Thanks also for making a correction. I think this would be a good 
> chance to test out and document our new (more manual) publishing 
> workflow for pdf and epubs.
>
> I also noticed that book isn't on our front page! So a greater incentive.
>
> Thanks
> Mick
>
>
>
> On 03/03/17 07:09, Jaysinh Shukla wrote:
>> Respected members,
>>
>>     I read the book "Introduction to the Command line" written by 
>> this community. I would like to congratulate for noble efforts by 
>> this community. I would be happy to read such good books in upcoming 
>> months. I have blogged book review after reading this book here 
>> http://blog.jaysinh.com/book/review/2017/02/28/book-review-introduction-to-the-commandline.html 
>> . Hope this review will help. Many thanks!
>
>
>   Book review 'Introduction to the Command Line'
>
> Feb 28, 2017
>
> introduction_to_command_line
>
>
>     tl;dr
>
> Every chapter will introduce a bunch of comands and will point to its 
> respective documentation for further learning. You should expect 
> chapters describing from thegrep 
> <https://www.gnu.org/software/grep/manual/grep.html>command toGNU 
> Octave <https://www.gnu.org/software/octave/>which is a scientific 
> programming language. The chapters are independent of each other. The 
> book is must read if you are new to theGNU/Linux 
> <https://en.wikipedia.org/wiki/Linux>command line. If you are at the 
> intermediate level, then too investing time in reading this book will 
> unveil a few surprises for you.
>
>
>     Detailed review
>
> The book is community driven and published underFLOSS Manual 
> <http://flossmanuals.net/>. It is a collaborative effort of theFSF 
> <http://www.fsf.org/>community. The fun part is you can contribute 
> tothis book by adding new chapters or by improving an existing one. I 
> fixed one typo in this book after reading. The best introduction is 
> crafted comparing GUI based image editing tools with the most unknown 
> commandconvert <https://linux.die.net/man/1/convert>. It conveys the 
> importance of command line well to the reader. Initial chapters will 
> present the overview of variousGNU/bash 
> <https://www.gnu.org/software/bash/>commands. From my personal 
> experience, you have to use mentioned commands in this chapter daily. 
> The chapter of Command history shortcuts depicts geeky shell patterns. 
> I will advise not to skip that chapter and read through once. The 
> advanced section was not much advance for me. It demonstratesssh 
> <https://linux.die.net/man/1/ssh>and related commands likescp 
> <https://linux.die.net/man/1/scp>and more. I appreciated the 
> preference of usingGNU Screen 
> <https://www.gnu.org/software/screen/>though I usetmux 
> <https://tmux.github.io/>over it. If you are possessed by moving 
> around on multiple directories simultaneously, then*directory 
> stacks*under*Moving Again*section is worth scanning. This 
> functionality is saving dozens of my keystrokes now. There is one 
> entire division dedicated to various editors. That section is not 
> limited toGNU Emacs <https://www.gnu.org/software/emacs/>orvim 
> <http://vim.org/>, but also briefsGNU NANO 
> <https://www.nano-editor.org/>,Kedit <http://www.kedit.com/>andGedit 
> <https://wiki.gnome.org/Apps/Gedit>. This section does not compare the 
> pros and cons of several editors, but describes basics of each which 
> should be counted as a good part. I skipped this part because I am 
> comfortable withvim <http://vim.org/>editor at present and don’t want 
> to invest much in others.
>
> The scripting section turned out to be the most interesting division 
> for me. Though I was aware about the tools likesed 
> <https://www.gnu.org/software/sed/manual/sed.html>and languageawk 
> <https://linux.die.net/man/1/awk>I was not using them often. Reading 
> their chapters and implementing mentioned examples built little 
> confidence in me. Now I am much comfortable in utilizing them. The 
> irregular*Regular expressions*are everywhere. You should not pass over 
> this section and pay careful attention to various examples. It is 
> worth to invest your time in this segment.
>
> This is not the ending. This book presents a glimpse of various 
> scripting level programming languages likePerl 
> <https://www.perl.org/>,Python <http://python.org/>andRuby 
> <https://www.ruby-lang.org/en/>. Because I am a python developer for a 
> few years and I was not much interested in other languages, I skipped 
> this section. A shallow introduction toGNU Octave 
> <https://www.gnu.org/software/octave/>is nice to study if you are 
> interested in knowing a little about this scientific programming language.
>
>
>       How to read this book?
>
> Do not read to read. This book contains nice shell examples. By merely 
> reading, you will end up without bringing about anything meaningful. I 
> will advise you to interpret the description first, observe the 
> examples and then implement them on your own. If you have any 
> confusions, read the example and description again or obtain help 
> from|man|or|info|are the best options. To remember, I revised the 
> important chapters more than once in a week. It helped me to refresh 
> what I learned before. I will attempt to re-read the important 
> sections once again after a few days to refresh my memory.
>
>
>       What is missing?
>
> Considerably, the book is nicely written, equally distributed and 
> largely acceptable, but I would prefer to have a small set exercises 
> section at the end of each topic. Exercise might help the reader to 
> identify their weak points early and refer on them again if they 
> desire to.
>
>
>       Typo / Mistakes
>
> I didn’t encounter any sever mistakes except one typo. The section 
> of*Userful customizations*on page number 80 of my printed version, 
> contains following example:
>
> |function manyargs { $arg=$1 shift ... } |
>
> Here,*$arg*is a misprint. A shell variable is never assigned with*$*. 
> It should be|args=$1|. I myself has corrected the typographical error 
> in the book. This change will be published maybe in the next release 
> of this book.
>
> If you are encountering any mistakes while reading, I request you to 
> fix the changehere 
> <http://write.flossmanuals.net/command-line/introduction/>. The 
> interface for editing the book is beginner friendly. It took less than 
> 5 minutes to drive the change.
>
>
>       Where to buy/download?
>
>  *
>
>     Buy printed version
>     <https://shop.fsf.org/books-docs/introduction-command-line>.
>
>  *
>
>     Read Online
>     <http://write.flossmanuals.net/command-line/introduction/>.
>
>  *
>
>     Download PDF
>     <http://archive.flossmanuals.net/_booki/command-line/command-line.pdf>
>
>
>
>
>
> _______________________________________________
> Discuss mailing list
> Discuss at lists.flossmanuals.net
> http://lists.flossmanuals.net/listinfo.cgi/discuss-flossmanuals.net

Thanks Mick for your reply. I tried to publish this book after updating 
that change by clicking on the "publish button" but ended with an error. 
I hope that would help to identify the reason. Thanks again!


More information about the Discuss mailing list