Skip to content
HomeVideosBooks
AllTopicsTrends
BlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    Cover of UNIX Shell programming

    UNIX Shell programming

    Stephen G. Kochan · 1985

    Unix Shell Programming is a tutorial aimed at helping Unix and Linux users get optimal performance out of their operating out of their operating system. It shows them how to take control of their systems and work efficiently by harnessing the power of the shell to solve common problems. The reader learns everything he or she needs to know to customize the way a Unix system responds. The vast majority of Unix users utilize the Korn shell or some variant of the Bourne shell, such as bash. Three are covered in the third edition of Unix Shell Programming. It begins with a generalized tutorial of Unix and tools and then moves into detailed coverage of shell programming. Topics covered include: regular expressions, the kernel and the utilities, command files, parameters, manipulating text filters, understanding and debugging shell scripts, creating and utilizing variables, tools, processes, and customizing the shell.

    Systems & OSProgramming
    Open LibraryAmazon
    Stats for nerds
    4recommend
    6mentions
    5people
    2014–2023years
    83% recommend17% neutral

    Mentions per year

    2014201520162017201820192020202120222023

    What Hacker News says

    1. vram22May 2023
      More info for some of them that I gave incomplete info for above, after googling:

      https://www.amazon.in/Sql-Professionals-Swapna-Kishore/dp/00...

      https://www.amazon.in/Object-Primer-Agile-Model-Driven-Devel...

      https://www.amazon.in/Unix-Shell-Programming-Stephen-Kochan/...

      https://www.amazon.in/Designing-Object-Oriented-Software-Reb...

      https://www.amazon.in/Object-Oriented-Analysis-Applications-...

      thread
    2. tristorSep 2021
      I don't have any one complete book that I can recommend, and I don't even really have a great reading list for this. But I'll make an attempt to share what I think is useful as a starting point.

      1. Systems Operations is first and foremost about understanding systems, in all of their complexity, which means understanding the internals of your OS primarily.

      2. Performance and networking, in particular, are super important areas to focus on understanding when it comes to learning the topic to help with software development.

      3. A lot of it is about understanding concepts in abstract and being able to extrapolate to other situations and apply these concepts, so there's actually quite a lot of useful information that can be learned on one OS and still applied to another OS (or on one game engine and applied to another, et al).

      Here's a few books I think are worth reading, not in any particular order of prevalence, but loosely categorized

      Databases:

      High Performance MySQL: https://www.amazon.com/gp/product/1449314287/

      SQL Queries for Mere Mortals: https://www.amazon.com/gp/product/0321992474/

      The Art of SQL: https://www.amazon.com/gp/product/0596008945/

      Networking:

      TCP/IP Illustrated: https://www.amazon.com/exec/obidos/ISBN=0201633469/wrichards... (updates on author's site at http://www.kohala.com/start/tcpipiv1.html)

      The TCP/IP Guide: https://www.amazon.com/TCP-Guide-Comprehensive-Illustrated-P...

      UNIX Network Programming: https://www.amazon.com/dp/0131411551

      Beej's Guide to Network Programming: http://beej.us/guide/bgnet/

      Operating Systems:

      Operating Systems Concepts: https://www.amazon.com/Operating-System-Concepts-Abraham-Sil... (various editions, I have the 7th edition... I recommend you find the latest)

      Modern Operating Systems: https://www.amazon.com/Modern-Operating-Systems-Andrew-Tanen... (the "Tanenbaum Book")

      Operating Systems Design and Implementation: https://www.amazon.com/Operating-Systems-Design-Implementat-... (the other one, the "MINIX Book")

      Windows Internals:

      Part 1: https://www.amazon.com/Windows-Internals-Part-architecture-m...

      Part 2: https://www.amazon.com/Windows-Internals-Part-2-7th/dp/01354... (I had the pleasure of being taught from this book by Mark Russinovich and David Solomon at a previous employer, was an amazing class and these books are incredible resources even applied outside of Windows, we used 5th edition, I linked 7th, which has the 2nd part pending publication).

      MacOS Internals:

      Part 1: https://www.amazon.com/MacOS-iOS-Internals-User-Mode/dp/0991...

      Part 2: https://www.amazon.com/MacOS-iOS-Internals-II-Kernel/dp/0991...

      Part 3: https://www.amazon.com/MacOS-iOS-Internals-III-Insecurity/dp...

      Linux Kernel Programming:

      Part 1: https://www.amazon.com/Linux-Kernel-Development-Cookbook-pro...

      Part 2: https://www.amazon.com/Linux-Kernel-Programming-Part-Synchro...

      The Linux Programming Interface: https://www.amazon.com/Linux-Programming-Interface-System-Ha...

      General Systems Administration:

      Essential Systems Administration: https://www.amazon.com/gp/product/0596003439/

      UNIX and Linux Systems Administration Handbook: https://www.amazon.com/UNIX-Linux-System-Administration-Hand...

      The Linux Command Line and Shell Scripting Bible: https://www.amazon.com/Linux-Command-Shell-Scripting-Bible/d...

      UNIX Shell Programming: https://www.amazon.com/Unix-Shell-Programming-Stephen-Kochan...

      BASH Hackers Wiki: https://wiki.bash-hackers.org/

      TLDP Advanced BASH Scripting Guide: https://tldp.org/LDP/abs/html/

      The Debian Administrator's Handbook: https://debian-handbook.info/browse/stable/

      TLDP Linux System Administrator's Guide: https://tldp.org/LDP/sag/html/index.html

      Performance & Benchmarking:

      Systems Performance: https://www.amazon.com/Systems-Performance-Brendan-Gregg-dp-... (this is Brendan Gregg's book where you learn about the magic of dtrace)

      BPF Performance Tools: https://www.amazon.com/Performance-Tools-Addison-Wesley-Prof... (the newer Brendan Gregg book about BPF, stellar)

      The Art of Computer Systems Performance Analysis: https://www.cse.wustl.edu/~jain/books/perfbook.htm (no longer available from Amazon, but is available direct from publisher. This is basically the one book you should read about creating and structuring benchmarks or performance tests)

      I guess that's a "reading list", but this is just a small part of what you need to know to excel in systems operations.

      I would say for the typical software developer writing web applications, the most important thing to know is how databases work and how networking works, since these are going to be the primary items affecting your application performance. But there's obviously topics not included in this list that are also worth understanding, such as browser/DOM internals, how caching and CDNs work, and web-specific optimizations that can be achievable with HTTP/2 or QUIC.

      For the average software developer writing desktop applications, I'd say make sure you /really/ understand OS internals... at the base everything you do on a computer system is based on what the OS provides to you. Even though you are abstracted (possibly many layers) away from this, being able to peel back the layers and understand what's /really/ happening is essential to writing high-quality application code that is performant and secure, as well as making you a champ at debugging issues.

      If you're trying to get into systems operations as a field, this is just a brush over the top surface and there's a lot deeper diving required.

      thread
    3. mauvehausMay 2018
      I'll call out another book for being a great piece of technical writing: Unix Shell Programming[0]. It similarly follows the structure of introduction, complete description (if not full-depth out of necessity), intermediate, and advanced techniques, and some reference material.

      The running example throughout the book is to build an address book program called "rolo" (Rolodex, get it?), and the authors do a nice job of progressively building the features while illustrating useful techniques that are generally applicable.

      I've not read the 3rd edition, but I can vouch for the fact that the 2nd would be getting a little dated by now. Still, it's well-written, well-structured, and a great introduction to most of the shell concepts that you use.

      [0] https://www.amazon.com/Unix-Shell-Programming-Stephen-Kochan...

      thread
    4. runjakeJun 2017
      Pick up a copy of UNIX Shell Programming by Stephen Kochan. Very approachable and lots of good practical examples. Augment it with 'man bash' and Googling.
      thread
    5. runjakeJan 2014
      FYI, Perl not PERL.

      Perl -> Programming Perl & Perl Cookbook. Unsure how relevant these still are as "Modern Perl" is the big paradigm now.

      Shell -> UNIX Shell Programming by Stephen Kochan. I got around in shell before this, but his book make me effective and competent.

      thread
    6. nobody9999Sep 2020
      >Kids today no longer know the shell.

      Sounds like Kochan and Wood[0] need some love (and royalties).

      Or is learning stuff deprecated these days?

      [0] https://www.amazon.com/Unix-Shell-Programming-Stephen-Kochan...

      thread

    Related

    Cover of Linux command line and shell scripting bible
    2011–2021

    Linux command line and shell scripting bible

    Richard Blum
    2 recommend · 4
    Cover of UNIX
    2010–2026

    UNIX

    Brian W. Kernighan
    14 recommend · 28
    Cover of Advanced UNIX programming
    2010–2024

    Advanced UNIX programming

    Marc J. Rochkind
    12 recommend · 26
    Cover of Unix System Administration Handbook
    2009–2026

    Unix System Administration Handbook

    Evi Nemeth
    6 recommend · 12
    Cover of Linux Kernel Programming
    2018–2025

    Linux Kernel Programming

    Kaiwan N Billimoria
    4 recommend · 5
    Cover of The UNIX programming environment
    2007–2026

    The UNIX programming environment

    Brian W. Kernighan
    86 recommend · 215
    Cover of The art of UNIX programming
    2007–2026

    The art of UNIX programming

    Eric S. Raymond
    85 recommend · 238
    Cover of Unix Network Programming
    2009–2026

    Unix Network Programming

    W. Richard Stevens
    54 recommend · 78