Reddit Reddit reviews Learning the bash Shell: Unix Shell Programming (In a Nutshell (O'Reilly))

We found 13 Reddit comments about Learning the bash Shell: Unix Shell Programming (In a Nutshell (O'Reilly)). Here are the top ones, ranked by their Reddit score.

Computers & Technology
Books
Computer Science
Learning the bash Shell: Unix Shell Programming (In a Nutshell (O'Reilly))
O Reilly Media
Check price on Amazon

13 Reddit comments about Learning the bash Shell: Unix Shell Programming (In a Nutshell (O'Reilly)):

u/PinkyThePig · 7 pointsr/sysadmin

Here is your bible: http://www.gnu.org/software/bash/manual/bashref.html

For some things to practice on:

http://adriann.github.io/programming_problems.html
/r/dailyprogrammer

And I find that once you get the 'fundamentals' down, taking similar complexity things from other languages and converting them to the one you are trying to learn is quite helpful.

If you were looking for a physical book, these two books cover quite a bit while being fairly cheap (20ish a piece):

http://www.amazon.com/Classic-Shell-Scripting-Arnold-Robbins/dp/0596005954/ref=cm_cr_dp_asin_lnk
http://www.amazon.com/Learning-bash-Shell-Programming-Nutshell/dp/0596009658

Also, for the one thing that made me go from 'how the fuck do I do that?!?' to 'I got this!' was running man test (man pages for test). I saw the syntax in tons of scripts, but didn't know how to google for it to figure out what it was doing.

EDIT: Forgot to add that if you type just plain help from the command line, you should get a dump of a lot of common commands. Helps if you forget syntax or forget the name of a function or are trying to discover new commands.

u/drelos · 5 pointsr/linux4noobs

> Browsing the surface web i can't find any truly "beginner guides"

https://www.amazon.com/Learning-bash-Shell-Programming-Nutshell/dp/0596009658

u/ProphetPX · 4 pointsr/linux_programming
u/19Kilo · 4 pointsr/networking

The TCP/IP Guide - It's a little dated these days and barely touches IPv6, but it's a good, quick look at a lot of the glue services that you will eventually need to understand and troubleshoot: DNS, SNMP, NTP, etc.

TCP/IP Illustrated, VOL 1 - Here's where we get into the nitty gritty. This shows you what is happening in those packets that cross the wire. Invaluable if you go onto doing Performance Engineering functions later on, but still good.

NMAP Network Scanning - NMAP is a godsend if you don't have remote login rights but you need to see what's happening on the far end of the connection.

Wireshark Network Analysis - Most useful tool in your toolbox, IF you can use it, for proving the negative to your customers. At some point you're going to be faced with an angry mob in Dockers and Polos who want to know "WHY MY THING NOT WORK?". This is the book that will let you point to their box and go "Well, as soon as the far side sends a SYN/ACK your box sends a FIN and kills the connection."

Learning the bash shell - You're a network engineer, you're going to be using Linux boxes as jump boxes for the rest of your life. Shell scripting will let you write up handy little tools to make your life easier. Boss wants to blackhole China at the edge? Write a quick script to pull all of the CN netblocks from the free FTP server APNIC owns, chop it up in sed and AWK, throw a little regex in for seasoning and you're done. And when he comes back in 30 days for an updated list? Boom, it's done even faster.

The vendor specific books are nice, but I can't tell you how many network engineers I've run across who couldn't tell me how DNS worked or how a three way handshake worked or couldn't write a simple script in Bash to bang out 300 port configs in 30 seconds. There are a shit ton of paper CCIEs out there, but those books up there will make you stand out.

u/mexicanseafood · 3 pointsr/linuxquestions

Great post OP. I was/still am in your shoes but maybe a few months ahead of you. A few ideas to get you going:



  1. Learn vim or emacs and if you write any code or doing any webdesign start doing everything in your text editor.



  2. Try and use the command line for as much as possible... e.g. browsing through your file system, copying or moving files, running programs, etc. This is a great book, I just got it recently and it is amazing at much small tricks will boost your efficiency. I installed a drop-down terminal that's pretty sweet. I have it set to drop half way down the screen with a keyboard shortcut.



  3. Add another HDD and figure out how to auto-mount it on each boot and also how to schedule data-backups. Do this from the terminal.



  4. Edit the config file of the bash shell and give it your own personal touch. If you're using grub, edit the config files for it and customize the menu and background.



  5. If you're feeling ballsy, try out a WM instead of a DE and do away with GUI's completely. I found this article on great text based applications for everyday activities in linux.
u/munky9001 · 2 pointsr/sysadmin
u/keeegan · 2 pointsr/linux

I started with no linux knowledge on this book the unix bible. It's got enough information to help you understand how your linux system actually works. From there it's easy to find information on your own by knowing better what to look for and having a better understanding of the information you find. The Orelly bash book is the only other one I've picked up, and it helped me a lot with scripting and has come in handy several times for reference. After that, you'll pretty much know enough to google and find the information you need pretty quickly.

u/Ben_Aperture · 1 pointr/linux

I much appreciate your answer. I will take into account ir. I started using Linux about a year and a half ago, coming from windows. I just thinked that I could find a good alternative for Windows, and I moved to Ubuntu MATE. I was fascinated by its velocity, security and how it's packages worked. At the first time, I was dual-booting, but then I removed windows and started to just use Linux. I've been using Linux casually for a lot of time, and now I'm going serious. I want to learn bash scripting and python. I have got a fantastic Spanish Python book, (I'm learning a lot because of it), and now I'm looking for some bash and Linux books by O'Reilly and I've found this book https://www.amazon.es/gp/aw/d/0596009658/ref=mp_s_a_1_1?__mk_es_ES=%C3%85M%C3%85Z%C3%95%C3%91&qid=1520884449&sr=8-1&pi=AC_SX236_SY340_QL65&keywords=O%27Reilly+bash&dpPl=1&dpID=513EprgSOcL&ref=plSrch and this other one https://www.amazon.es/gp/aw/d/1491927577/ref=mp_s_a_1_3?__mk_es_ES=%C3%85M%C3%85Z%C3%95%C3%91&qid=1520884734&sr=8-3&pi=AC_SX236_SY340_QL65&keywords=O%27Reilly+Linux&dpPl=1&dpID=51AbKrNDvaL&ref=plSrch
Would you recommend me this books to learn?
I'm Spanish, so the prizes should be different

u/mvm92 · 1 pointr/linux4noobs

Linux From Scratch is a little head first, trial by fire, but if you are willing to spend a lot of time getting your system to work, it could be cool. Another distribution to think about is Arch Linux and Gentoo. No matter which distribution you chose to learn on, read through all of the installation instructions, as these will explain why the defaults are as such. Don't just keep hitting enter, you have to read.

In addition, pick up a good Bash reference, like this one or this one (O'Rielly makes good books for this kind of stuff) and learn some Bash as the Bash shell is one of the most powerful aspects of linux.

Another thing that you may want to try is setting up a LAMP stack without following a step by step guide. LAMP meaning Linux, Apache, MySQL, PHP. This is a common configuration for a Linux webserver.

Finally, once you have gotten comfortable with Arch or Gentoo, mix it up. Try debian, or fedora. See and learn how every distribution does things in a slightly different way. Keep trying new things, you will never be done learning.

u/[deleted] · 1 pointr/linux4noobs

Systems (Linux) engineer here.

All of your programs are supported on Linux, so no fear :)

You will need to use a cmd.exe like interface called a terminal and it is infinitely more powerful than cmd.exe (not including powershell).

If you want to get better with bash read this book, but more importantly, if you want to do anything in the system, do as much as possible via commandline, instead of the GUI

I would HIGHLY recommend getting a Lenovo laptop. They are one of the few manufacturers that officially support Linux on their machines and they work really nice, if you have the cash, the X1 carbon is nice.

Honestly the learning curve is different for each individual. You will not be an expert in one month, but you should be familiar enough with it to use it. Remember: Google ALL the things. Seriously, linux has a fantastic community. Stack Overflow, Linuxquestions.org, etc. are some great resources to check out.

u/labmansteve · 1 pointr/sysadmin