Reddit mentions: The best unix shell books

We found 36 Reddit comments discussing the best unix shell books. We ran sentiment analysis on each of these comments to determine how redditors feel about different products. We found 10 products and ranked them based on the amount of positive reactions they received. Here are the top 20.

1. Unix Power Tools, Third Edition

    Features:
  • No Starch Press
Unix Power Tools, Third Edition
Specs:
ColorWhite
Height9.19 Inches
Length7 Inches
Number of items1
Weight4.10500731844 pounds
Width2.6 Inches
▼ Read Reddit mentions

2. Unix Shell Programming (3rd Edition)

Unix Shell Programming (3rd Edition)
Specs:
Height8.98 Inches
Length7.32 Inches
Number of items1
Release dateMarch 2003
Weight1.6314207388 Pounds
Width1.03 Inches
▼ Read Reddit mentions

3. UNIX Shells by Example (4th Edition)

UNIX Shells by Example (4th Edition)
Specs:
Height9 Inches
Length7 Inches
Number of items1
Weight3.747858454 Pounds
Width1.75 Inches
▼ Read Reddit mentions

4. Learning Unix for OS X: Going Deep With the Terminal and Shell

O REILLY
Learning Unix for OS X: Going Deep With the Terminal and Shell
Specs:
Height9.19 Inches
Length7 Inches
Number of items1
Release dateFebruary 2016
Weight0.9038952742 Pounds
Width0.54 Inches
▼ Read Reddit mentions

5. UNIX Shell Programming, Revised Edition

UNIX Shell Programming, Revised Edition
Specs:
Height0.84 Inches
Length9.1 Inches
Number of items1
Weight1.81219979364 Pounds
Width7.41 Inches
▼ Read Reddit mentions

6. Beginning Modern Unix: Learn to Live Comfortably in a Modern Unix Environment

    Features:
  • ULTRA EFFECTIVE - Our, LED UV Blacklight bulbs, perform manifolds better than Blacklight Basic types. Creates a more dramatic glow when it falls on pigments in any object, 12 Watt LED UV Blacklight bulb is a perfect step up replacement from a 100W Blacklight Basic ,120W incandescent and 30W CFL Spiral lamp
  • BEST CHOICE FOR DECOR - These bulbs are one of the best choices for creating a Black light party ambience that is sure to fascinate adults and kids alike. It provides an instant fun party effect with no hassle - just decorate your room or hall with paint, artwork, glow sticks, plants, candles, food items, glow jewellery, tonic water filled bottles, or anything with high phosphorous counts to maximise the glow effect. Ideal for pubs, bars, night clubs and home decors.
  • QUICK COUNTERFEIT DETECTION - These Blacklight blue led bulbs can also be used for quick document verification as many of the identity cards like Driving license have markers that fluorescent when illuminated by long wave UV light. Similarly, the currency notes have a well recognized glowing pattern that can help identify the authentic currency quickly and easily.
  • SUPERIOR QUALITY - Our Bulbs are made under a superior level of quality control and have a long life of up to 25,000 hours. Moreover, since is well beyond the visible spectrum, it can produce clearer, cleaner more vivid colors, without a violet glow which is the case with this BLB bulbs, giving you far better results.
  • 100% RISK-FREE SATISFACTION GUARANTEE - We also offer you 100% risk-free satisfaction guarantee to let you buy with confidence; no questions asked. However, we are quite sure that you will have a lot of fun and memorable parties with the help of these bulbs and would love yourself for the decision of buying these
Beginning Modern Unix: Learn to Live Comfortably in a Modern Unix Environment
Specs:
Height10 Inches
Length7.01 Inches
Number of items1
Release dateAugust 2018
Weight1.83424601984 Pounds
Width1 Inches
▼ Read Reddit mentions

7. Shell Scripting Recipes: A Problem-Solution Approach (Expert's Voice in Open Source)

Used Book in Good Condition
Shell Scripting Recipes: A Problem-Solution Approach (Expert's Voice in Open Source)
Specs:
Height9.25 Inches
Length7.52 Inches
Number of items1
Weight1.82542752936 Pounds
Width1.01 Inches
▼ Read Reddit mentions

8. Learning the bash Shell, 2nd Edition

Used Book in Good Condition
Learning the bash Shell, 2nd Edition
Specs:
Height9.19 Inches
Length7 Inches
Number of items1
Weight1.1904962148 Pounds
Width0.81 Inches
▼ Read Reddit mentions

9. Beginning Unix

    Features:
  • Used Book in Good Condition
Beginning Unix
Specs:
Height9.299194 Inches
Length7.59841 Inches
Number of items1
Release dateApril 2005
Weight1.93565866036 pounds
Width0.948817 Inches
▼ Read Reddit mentions

10. Learning Unix for OS X: Going Deep With the Terminal and Shell

    Features:
  • IDW Publishing
Learning Unix for OS X: Going Deep With the Terminal and Shell
Specs:
Height9.19 Inches
Length7 Inches
Number of items1
Weight0.9 Pounds
Width0.6 Inches
▼ Read Reddit mentions

🎓 Reddit experts on unix shell books

The comments and opinions expressed on this page are written exclusively by redditors. To provide you with the most relevant data, we sourced opinions from the most knowledgeable Reddit users based the total number of upvotes and downvotes received across comments on subreddits where unix shell books are discussed. For your reference and for the sake of transparency, here are the specialists whose opinions mattered the most in our ranking.
Total score: 14
Number of comments: 3
Relevant subreddits: 1
Total score: 11
Number of comments: 1
Relevant subreddits: 1
Total score: 6
Number of comments: 2
Relevant subreddits: 2
Total score: 3
Number of comments: 1
Relevant subreddits: 1
Total score: 3
Number of comments: 1
Relevant subreddits: 1
Total score: 2
Number of comments: 2
Relevant subreddits: 1
Total score: 2
Number of comments: 1
Relevant subreddits: 1
Total score: 2
Number of comments: 1
Relevant subreddits: 1
Total score: 1
Number of comments: 1
Relevant subreddits: 1
Total score: 1
Number of comments: 1
Relevant subreddits: 1

idea-bulb Interested in what Redditors like? Check out our Shuffle feature

Shuffle: random products popular on Reddit

Top Reddit comments about Unix Shell:

u/two-gun · 29 pointsr/linux4noobs

Sorry for getting all dramatic, but for me you're asking a red pill/blue pill question. I applaud your curiosity and can only recommend you follow your gut and take the red pill. The truth is by asking the question you already know what to do next. Just keep going. However I'll give you a few ideas because you got me excited.

  1. Get in touch with your osx terminal
  2. Get linux ASAP
  3. Learn the command line

    OSX Terminal


    Underneath the shiny GUI surface of your mac you have an incredible unix style OS just waiting to be played with and mastered. A few tips to get you going.


    Download iTerm 2. Press cmd-return, cmd-d and command-shift-d.


    Congrats. you now have a hollywood hacker style computer

    Copy and paste this line into your terminal and say yes to xcode.


    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

    Awesome you now have homebrew. A linux style package manager.

    May as well get cask too.


    brew install caskroom/cask/brew-cask

    Now you can install programs by typing a couple of words.

    try

    brew cask install virtualbox

    Get Linux ASAP


    Linux is relatively easy to get up and running and awesome fun. try any of these options

  • Download virtual box and install a 'virtual machine' to run linux on your mac (see above).
  • Buy a Raspberry Pi.
  • Create a bootable usb and install refind on your mac.
  • Take a friends old laptop and install linux on it from your live usb distro.

    If any of the above seems slightly daunting don't sweat it. Be confident and you may just surprise yourself at how much you can learn in such a short amount of time.

    Learn the command line


    The command line opens up the wonderfully powerful and creative world of unix. Push on.

  • Get the basics down with codecademy
  • Play with some books (this or this for eg)
  • Watch some youtube videos (this guy's good for webdev)
  • Learn a text editor (Try Vim. You already have it. Type 'vimtutor' in your terminal to get started)

    Play, Play, Play


    Do what gets you excited.

    I got a big kick out of learning ssh and then pranking my friends with commands like

    say hello friend, i am your computer. i think your friend two-gun is very handsome. Is he single?

    or

    open -a "Google Chrome" https://www.youtube.com/watch?v=X0uYvQ_aXKw

    Do what you find fun. Oh and check out Richard Stallman. He's a good egg.

    Enjoy.

    edit-0

    forgot iTerm link

    edit-1

    Wow! Gold! Ha! Thank you. This is so unexpected! I'd like to thank the academy, my agent, my mom...

u/construkt · 4 pointsr/IWantToLearn

The best thing you can do is read (at least that is the way I learn the most, the fastest)! That being said, there are tons of free videos on youtube that go over networking and how it works. Figure out ways to apply your knowledge by setting up a network of your own and making it rad.

I think learning unix/linux is the way to go if you are into servers, but that is my bias. I am not a fan of Windows. In reality, you end up doing a lot of the same tasks when adminning, regardless of platform. Servers are just computers that run services (like http, ftp, nntp, email, etc). You basically just have to learn how to install, configure and run those services and learn best practices about installing and configuring the OS to do what you want it to do the best.

I highly recommend going into linux/unix adminning. I am not a huge windows fan. That being said, there are jobs there and if you can tolerate working with windows, it might not be a bad route to go if you want to be an admin for the rest of your life. I think nix admins end up doing more development work in the long run (which is more fun imo). As far as learning nix, I highly recommend unix power tools. I am sure there are tons of tutorials as well, but this book gives you a good idea about how to interact with the command line and gives you a great introduction to many of the tools available to you and when to use them. Setting up servers just means installing some services and getting them running in a smart way. There is usually a lot of documentation available for the service you are downloading and about how to configure it.

Regarding programming, pick a language and start using it for everything you can! When you install a service, pick a program that is made in that language to run on it (i.e., install/configure apache and then run a program written in python on it!). I highly recommend starting out with python, but choose whatever you want. Python has a ton of free documentation and ton of well-written apps available. Its syntax rules will force you into writing better looking code, which will carry over to other languages you will learn in the future. Learn python the hard way, dive into python, MIT OCW, Khan Academy. Pick an open source project and start helping out any way you can! At first, it might just be updating documentation, then you might fix some small/easy bugs and soon you will be fixing things and helping direct the way you want to see the project go (or perhaps start your own project!).

If it gives you any hope - I have worked it helpdesk, sys admin jobs, run IT departments and now work as a programmer, all without (much) formal training. I have taken courses over the years, but I think you can a lot just by reading, watching videos and then finding ways to apply that knowledge!

edit: I don't know where you live, but if you can, find local user groups to participate in and talk to locals. You may be able to find a job in the field and have a real way to apply that knowledge on a daily basis.

If you have any questions or need ideas about projects to start, please feel free to ask.

u/[deleted] · 7 pointsr/learnprogramming

I'm 43 and became specialized in a narrow range of products. on the one hand, if you need someone who knows about this stuff, I'm one of the most knowledgeable you can find.. on the other, I've become so specialized it's starting to hurt me career/ financially.

a friend of mine just got another startup going. he's a backend php developer and they needed more of a systems/ sysadmin person in a part time role to setup all the tools and the production environment. he asked if I'd be into it and I said yes - I was eager to learn new skills and aware I'd be blowing away cobwebs and kick starting brain cells etc. but dived in.

I've learned more in the last few months than I've learned in the last 5 years and it's been awesome. I read and really enjoyed [Code] (http://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/0735611319/ref=sr_1_1?s=books&ie=UTF8&qid=1334526682&sr=1-1), I'm almost finished working through [learning the bash shell] (http://www.amazon.com/Learning-bash-Shell-2nd-Edition/dp/1565923472) and plan on working through [C programming] (http://www.amazon.com/C-Programming-Language-2nd-Edition/dp/0131103628/ref=sr_1_1?s=books&ie=UTF8&qid=1334526363&sr=1-1) after that.

one thing, I used to be a Java programmer a decade ago. I read computer articles out of curiosity and will buy the occasional computer book for fun.

backing up - I've realized in the last few years that for me one very important skill is the skill of learning. getting your brain back into a state where it absorbs new information easily and likes it can be an uphill climb once you start back after a break of a decade or more.. but I'm resigned to always working on new stuff, deepening my technical knowledge, studying music, I want to do woodwork and organic gardening, learn piano, etc. after a while you start seeing deeper connections between areas of specialization - and that's pretty cool :)

u/liaobaishan · 1 pointr/learnprogramming

I've been a web developer for two years and can tell you what I learned over time that led to me getting an internship at a software company. I didn't major in computer science but I did eventually go to a bootcamp.

I'll note that I'm not a huge fan of that flowchart, because it's backwards. You need to be familiar with what all those tools can accomplish, but I don't think anybody is capable of holding expert-level competence in so many areas at the same time. The key is getting to the point where you know or can figure out what tool will be required for any given task. For example, I don't really know much about Websockets, but I know that I'd probably need them if I wanted to build a chat application.

Anyway, here's my learning track in terms of programming

Pre-2011: Excel formulas

First programming I ever did for a bunch of random things, and at this time I didn't realize I wanted to be in software development yet.

2011-2013: SQL

Started with the DBA where I was working sending me a Word document with some common queries I could run in a SQL client so I could answer other people's questions and same him time. Over time I learned how to change the queries and then write my own. This book helped: https://www.amazon.com/SQL-Queries-Mere-Mortals-Hands/dp/0321444434/ref=sr_1_2?ie=UTF8&qid=1494701750&sr=8-2&keywords=sql+queries+for+mere+mortals

2013-2014: Java, shell scripting, other unix/linux related things

Took a programming class using Java and a shell scripting class in a local university's online program. Used these books:

https://www.amazon.com/Java-Introduction-Problem-Solving-Programming/dp/0132162709/ref=sr_1_14?ie=UTF8&qid=1494701761&sr=8-14&keywords=introduction+to+programming+with+java
https://www.amazon.com/Unix-Shell-Programming-Stephen-Kochan/dp/0672324903/ref=sr_1_6?ie=UTF8&qid=1494701778&sr=8-6&keywords=unix+programming

I think Java is a very good first object oriented language to learn, even though most bootcamps want to do either Ruby or Javascript. Ruby (and Rails) have a little too much syntax sugar and other shortcuts that make it hard for a beginner to understand, and JavaScript is just plain weird (along with its ecosystem, which requires knowing a little history of the language and why it is the way it is).

2015: Ruby, Rails, a little JS. Attended a bootcamp and got my first job.

2016: ReactJS, actually understanding JS

2017: More JS, and now learning Elixir and the Phoenix framework.



As I mentioned before, these languages and frameworks are just tools. The way I've learned has been to do projects, figure out what tools would be necessary to accomplish all the functionality, and then slowly make progress on learning how to use those tools, eg, copy/pasting, modifying code other people have written, and then finally taking the training wheels off.

u/cheeseprocedure · 9 pointsr/sysadmin
  1. Make sure you have backups that do not reside on the VPS. (Look into rsync/rdiff-backup if you're unfamiliar with them.)
  2. Don't run X on your production server ;)
  3. Keep up on security updates. If you're on Ubuntu, for example, you can subscribe to the relevant mailing lists (http://www.ubuntu.com/usn) and set up a cron entry to update your apt repository/email you with available updates (Google "ubuntu server update notification" for umpteen thousand helpful writeups).
  4. Ideally you'd have a testbed (whose OS/software configuration is the same as the VPS) where updates are applied and ensure services keep ticking along afterwards; that may be overkill, but it's good practice :)
  5. Keep your system configuration files in a source control system; etckeeper is a great option: http://evilrouters.net/2011/02/18/using-etckeeper-with-git-on-ubuntu
  6. Use keys for SSH login.
  7. Don't run services as root.
  8. Don't allow root to login via SSH.
  9. There's many tools for automatically parsing/acting upon syslogs; check out logwatch, fail2ban, and OSSEC.
  10. If you're running third-party Web packages (WordPress, PHPbb, etc.), keep them up to date. They're a big, fat, juicy target for script kiddies and botnets.
  11. Pick this up for some light reading: http://www.amazon.com/Power-Tools-Third-Shelley-Powers/dp/0596003307
u/sanedave · 5 pointsr/unix

The approach I took is to start with commands and languages using regular expressions: find, grep, sed, awk, python or perl, etc. These are very powerful and useful commands.

Two books I highly recommend are [Unix Shells by Example] (http://www.amazon.com/UNIX-Shells-Example-4th-Edition/dp/013147572X/ref=sr_1_1?ie=UTF8&qid=1374157897&sr=8-1&keywords=unix+shells) and [A Practical Guide to Linux] (http://www.amazon.com/Practical-Guide-Commands-Editors-Programming/dp/013308504X/ref=sr_1_1?s=books&ie=UTF8&qid=1374157979&sr=1-1&keywords=practical+guide+to+linux)

Also check out (PDF warning!) [Advanced Bash Guide] (www.tldp.org/LDP/abs/abs-guide.pdf)

These all are excellent, and very useful.

u/gtranbot · 3 pointsr/learnprogramming

For an intro to general Unix wizardry, I'd recommend Unix Power Tools. It covers all the basic Unix tools, and shows how they can be used together effectively.

To be a real Unix master, you should also learn Perl. If you want to go farther and master Perl you can't go wrong with that.

Once you know the basics of Perl, get the Perl Cookbook, which has many great recipes for doing things like in your list. In fact, if I recall, that very example might be in the book; if not, one very close to it is.

I always had a hard time learning from man pages. They're great for reference once you've already got your bearings, but in my opinion these books will serve you far better.

u/doublenns · 2 pointsr/linuxadmin

Read "The Linux Command Line" from cover to cover (it's free). You'll easily be a beginner shell scripter by then and probably a better Linux user overall. The book is also an easy read.

From there go into "Unix Shell Programming". If you reduce the gap between the 2 books, the 2nd book will also be an easy (yet somewhat dry) read.

Try to build some small projects while going thru the material. If you use it you'll be more apt to retain the info.

That's what I did. Took me 2 months of reading afterhours of my full time job. By the time the 2 months was up I surprisingly knew more shell scripting than most Linux Admins I've met since. (Admittedly, a lot of people in IT really don't know as much as they try to make it seem.) The only thing missing was experience and projects to use as practice.

Edit: You probably would do really well getting a LinuxAcademy subscription for a year and go thru as much as possible.

u/gnemmi · 3 pointsr/BSD

This is a pretty solid book for beginners that has gone under everyone's radar so far: https://www.amazon.com/Beginning-Modern-Unix-Comfortably-Environment/dp/1484235274/ref=mp_s_a_1_2?keywords=beginning+modern+unix&qid=1573610363&sr=8-2

In all honesty ... personally I always found that one of the nicest things about any BSD is that any old UNIX book still applies, at least for the most part.

u/Jeff-J · 3 pointsr/Gentoo

Books that I find very useful:

Beginning Portable Shell Scripting: From Novice to Professional

From Bash to Z Shell: Conquering the Command Line

Unix Power Tools, Third Edition

The UNIX Programming Environment

Running Linux (mine is old, but still useful)

I have bought lots of other useful books from O'Reilly.

Anything written by Michael W Lucas.

u/RunninADorito · 1 pointr/cscareerquestions

Here's the one I was thinking of: http://www.amazon.com/Unix-Power-Tools-Third-Edition/dp/0596003307


You don't need the book, but I like learning from practical examples and then using that as a jumping off point. If you like starting with examples for learning - this is the book for you.

u/Corlam · 1 pointr/linux4noobs

This is the book I normally point folks to. It has, in my opinion, some of the best explanation for regular expressions that I've run across, and hits on basically all the behind the scenes stuff you'd want to know.

Edit: Unfucked my formatting.

u/lilgreenwein · 1 pointr/unix

If you're looking for a book I highly recommend Unix Shells by Example:

http://www.amazon.com/UNIX-Shells-Example-4th-Edition/dp/013147572X/ref=la_B001H9RV1E_1_2?ie=UTF8&qid=1346897356&sr=1-2

I like it because it's light on the banter and explanation that's so common with tech books, and heavy on the examples. It's had a permanent spot on my work bookshelf for the last 10 years

u/7amza2 · 1 pointr/linuxadmin

ok, is this book is good to master bash ?

u/rbatra · 1 pointr/learnprogramming

UNIX Shells by Example by Ellie Quigley is a great text to pick up shell scripting.

u/BrotherChe · 3 pointsr/Unexpected

Just because textbooks and reference books can be dry doesn't mean they're not creative.

Here's another and another. O'Reilly published books have a couple clever or "funny" ones.

u/mpasteven · 1 pointr/programming

Buy this book: <https://www.amazon.com/Unix-Shell-Programming-Stephen-Kochan/dp/0672324903> and learn how the POSIX shell can make your life easier.

u/SubGothius · 2 pointsr/linux4noobs

You got your URL and link-text swapped, should go like this:

This is the book I normally point folks to

u/solid7 · 1 pointr/learnprogramming

It will teach you the semantics of the posix interface and introduce you to some canonical utilities. That information is relevant today (we still use sed, make, etc..). Given the choice, I'd probably opt for a book specific to linux, freebsd, etc.. kernels alongside something like unix power tools.

u/ucsdrake · 3 pointsr/linuxquestions

I realize this has more than the OP was looking for (ie the other shells). but UNIX Shells By Example is by far my favourite book I've come across in terms of learning scripting, might want to check it out.

u/wyatt8740 · 2 pointsr/linux

Unix Shell Programming (3rd Edition), by Stephen Kochan (old bell labs employee):

http://www.amazon.com/Unix-Shell-Programming-3rd-Edition/dp/0672324903

u/joedonut · 1 pointr/linuxadmin

UNIX Shells by Example by Ellie Quigley. Reviews here.

u/goomba870 · 2 pointsr/linuxmasterrace

> unix power tools book

This?

u/rez9 · 1 pointr/linux

So basically read the O'Reilly books: Learning the Unix... and Unix Power Tools.

u/ReddestDream · 2 pointsr/jailbreak

>What exactly do you mean by watching it to see CPU? I'm quite familiar with Top -u, but is there a way to view just that processes CPU? I kind of want to watch it through my computer while browsing and see what happens.

You need to get its PID first. My favorite way to do that is with System Status from the App Store, which lists running processes with PIDs (although you can't kill them or anything).

Then use:

top -pid PID

To see just that process's stats.

>Does that Jetslammed tweak have anything related to this or help this?

Jetslammed can change a launchdaemon's HighWaterMark RAM limit, the limit of sustained RAM usage at which Jetsam automatically kills the daemon.

http://newosxbook.com/articles/MemoryPressure.html

The HWM can also be changed manually, but, in the end, it doesn't really help that much unless a daemon is only dying due to exceeding its HWM.

It can still be killed for other reasons if the system is low on memory.

It doesn't actually keep discoveryd from EVER being killed, so it doesn't really solve the issue of very large hosts (>300 KB) files causing random website disconnects due to discoveryd dying, leading to DNS failure.

It really just fixes it so that you can have Wifried and a small ad blocking hosts file at the same time since Wifried + even a small hosts file (like Light UHB) will cause discoveryd to use about 9-10 MB, exceeding the 8 MB HWM limit for a long period of time, causing discoveryd to be automatically killed, causing Wifried to re-initialize Wifi, causing random Wifi disconnects, which is even more problematic than even a DNS failure.

Wifried with Jetslammed raises the HWM for discoveryd to 12 MB from 8 MB, preventing the HWM killing of discoveryd with Wifried + small ad blocking hosts file. A large hosts file will exceed even this new limit, but, in that case, where discoveryd uses 20 MB or more, it will be killed by the system anyway for other reasons not related to the HWM.

>So do I have the correct Light UHB? Is that the one you use? I guess I might try reinstalling and maybe see. Haven't had an issue since its crash and (haven't checked today) haven't seen it anywhere near the top when running "top".

I use Light Untrusted Hosts. I've watched discovery's PID for about a month now. It's not being jetsam killed anymore even if I load a LOT of tabs and really stress it out. It never goes over 8 MB (the HWM) for any sustained period of time (even 8 MB requires A LOT of DNS activity), and never reaches enough RAM usage that the system would think to kill it to free memory (10-20 MB). Gamed (the GameCenter daemon) uses more memory than discoveryd with Light UHB . . .

>-unrelated- I love learning about all this stuff and your fountain of knowledge so far. Mind if I asked where you learned so much? I've been learning a lot about daemons lately, especially locationd and backboardd. I'm just curious as to where I can learn more about this stuff, learn how to read crash logs as so far it's just from the little experience I have, etc. I just can't find any good resources..

I've used OS X since it was in beta, and iOS is secretly just OS X in disguise with a TouchUI, a few processes missing, and a few processes added.

This book has been helpful to me in understanding jailbreaking, although it is a bit dated:

http://www.amazon.com/iOS-Hackers-Handbook-Charlie-Miller/dp/1118204123

Also a bit dated, but you may like it if you have a Mac:

http://www.amazon.com/Learning-Unix-OS-Going-Terminal/dp/1449332315/ref=sr_1_1?s=books&ie=UTF8&qid=1418694791&sr=1-1&keywords=OS+X+unix

This wiki is also good. Many devs post on it:

https://theiphonewiki.com/wiki/Main_Page