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.
O Reilly Media
macOS Support Essentials
Learning the bash Shell
Learning Unix for OS X
UNIX and Linux System Administration Handbook
What's New in macOS
(edit: ...if that's what you're going for)
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.> Browsing the surface web i can't find any truly "beginner guides"
https://www.amazon.com/Learning-bash-Shell-Programming-Nutshell/dp/0596009658
well i don't know if it is the "best", but i liked O'Reilly's book on "Learning BASH"
https://www.amazon.com/Learning-bash-Shell-Programming-Nutshell/dp/0596009658/ref=sr_1_1?ie=UTF8&qid=1540957983&sr=8-1&keywords=learning+bash
​
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.
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:
>but they're very simple, repetitive tasks that I may have done many times.
http://www.amazon.ca/Learning-bash-Shell-Unix-Programming/dp/0596009658/ref=sr_1_2?ie=UTF8&qid=1342611985&sr=8-2
http://www.amazon.ca/Windows-PowerShell-Administrators-Pocket-Consultant/dp/0735625956/ref=sr_1_3?ie=UTF8&qid=1342612010&sr=8-3
So now that you only have regular tasks to do. Time to work on only 1 thing at a time.
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.
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
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.
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.
This was how I learned BASH in a hurry:
http://www.amazon.com/Learning-bash-Shell-Programming-Nutshell/dp/0596009658