Best computer network administration books according to redditors
We found 604 Reddit comments discussing the best computer network administration books. We ranked the 98 resulting products by number of redditors who mentioned them. Here are the top 20.
Here's my list of the classics:
General Computing
Computer Science
Software Development
Case Studies
Employment
Language-Specific
C
Python
C#
C++
Java
Linux Shell Scripts
Web Development
Ruby and Rails
Assembly
​
You should be aiming to eventually get a position as a Security Operations Center (SOC) analyst.
A SOC analyst position gives you some insight into a whole range of different information security problems and practices. You'll see incoming recon and attacks, your org's defenses and responses, and the attacker's counter responses. You'll get experience using a SIEM. You'll become familiar with all of the tools in place and start to figure out what works and what doesn't. You'll learn the workflow of a security team and what the more senior engineers do to protect the enterprise. After a couple of years, you'll probably have a much better idea about your own interests and the path you want to pursue in your career.
Here's how you get there:
Step 0: Make a habit of using spellcheck, then proofreading what you've written.
Step 1: Get the Network+ certification (Skip the A+, it's a waste of time for your purposes). You MUST understand IPv4 networking inside and out, I can't stress that enough. A used Net+ study guide on Amazon should be less than $10. Professor Messer videos are great and free: https://www.youtube.com/user/professormesser
Mike Meyers has about the best all in one Network + book out right now, you can get that from Amazon. You can also check out Mike Meyers' channel on Youtube, he has a lot of Network+ videos: https://www.youtube.com/watch?v=TcIV\_qc-eOU
Step 2: Start learning some basic Linux. The majority of business computing is done on a unix type platform, this will not change anytime soon.
For Linux, I'd highly recommend "Unix and Linux System Administration Handbook" by Evi Nemeth, et al. The information is presented in a way that is comprehensible to regular people. You can get a used copy of the fourth edition for about $15.00. The second edition got me through my first three jobs back in the day :) https://www.amazon.com/UNIX-Linux-System-Administration-Handbook/dp/0131480057/ref=sr_1_fkmrnull_1?keywords=evi+nemeth+4th+edition&qid=1551450119&s=gateway&sr=8-1-fkmrnull
Step 3: Get a techie job, probably in entry level tech support or helpdesk. You have to do a year or two here to get some practical experience.
Step 4: Get the Security+ certification.
Step 5: While in your tech support job try to do every security related task you can.
Step 6: Attend Bsides conferences (very cheap), there is almost certainly one within a couple hours of you.http://www.securitybsides.com/w/page/12194156/FrontPage
Step 7: Join a local hackers group similar to NoVA Hackers or Dallas Hackers.
Step 8: Network with everyone you can at security conferences and in your hackers group.
Step 9: After you get those certs and some technical work experience, apply for every SOC position you can.
Step 10: Take the free online Splunk class while you're waiting.
Step 11: Keep going until you get that SOC analyst job.
Guess what, you're an infosec professional!
That SOC analyst job should pay between $50K and $60K. You'll stay there for a year to eighteen months and get a couple more certifications, then leave for a new job making $75K to $85K. After five years in the tech/cybersecurity industry you should be at $100K+.
Okay. It was /u/iconrad. Here is the thread:
https://www.reddit.com/r/linuxadmin/comments/2s924h/how_did_you_get_your_start/cnnw1ma
Also, I highly, highly recommend buying "The linux command line". Its a book aimed at beginners that will teach you the why, what and how of linux like no other. Its also free on the authors site in true libre fashion.
Seth published an O'Reilly book and they also work with ICE. Wonder if he's going to yank his book too?
I'm not sure I'd consider Powershell devops than a core Windows administration tool. Devops to me would be like Chef, Puppet, Ansible, Salt, etc. (Puppet I think would be good for a Windows person to learn.)
You can do Powershell in a month of lunches: https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
You can do the Microsoft Virtual Academy as well: https://mva.microsoft.com/en-us/training-courses/getting-started-with-powershell-3-0-jump-start-8276
Powershell is very object oriented and pipelined, it's not a bunch of "++1, !, +3," style of true programming. It's more of a "get-aduser doej"
A lot of the commands are the same syntax prefixes, like "get" and "export".
Don't be discouraged, envision yourself knowing this inside and out in a year, and your mind will work you toward this goal.
What, specifically, do you work with that you think can benefit from scripting?
Powershell in a month of lunches is apparently quite good, that will cover Powershell from the basics to relatively advanced concepts, although I don't recall it covers AD.
Once you have a grasp of PowerShell, the AD modules are not much trouble to learn at all, MCSA should at least cover some of that.
Also - Take a look under the "resources" tab on the right of this sub.
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.
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
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.
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...
Amazon UK links:
Master PowerShell tricks (Volume 1)
Master PowerShell Tricks (Volume Book 2)
Master Storage Spaces Direct (Volume Book 1)
MS Virtual Academy Powershell Jumpstart
Powershell in a Month of Lunches by Don Jones
PowerScripting Podcast
/r/Powershell
Learn how to access all service guides and manuals.... Learn unix/linux basics. Maybe build a small home lab, you can buy cheap servers and networking equipment online. Never say "I don't know" say "I will have to do some research". Nobody knows everything... Google is your friend.... When you are at work do not browse this sub.. Start reading up on that things they want you to work on now.......I am not an admin but work in data centers every day fixing servers. Been in the industry for 13 years.... still get worried about people finding out I have no idea what I am doing lol
Great Guide
UNIX and Linux System Administration Handbook
https://www.youtube.com/playlist?list=PL6D474E721138865A
https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
I like a nice ham sandwich for a lunch point.
As far as getting into PS. This is the usual recommendation.
https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
Enjoy your book and sandwich.
https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
I've heard good things about this.
Here is a "curriculum" of sorts I would suggest, as it's fairly close to how I learned:
Generally you'll probably want to look into IA-32 and the best starting point is the Intel Architecture manual itself, the .pdf can be found here (pdf link).
Because of the depth of that .pdf I would suggest using it mainly as a reference guide while studying "Computer Systems: A Programmers Perspective" and "Secrets of Reverse Engineering".
Of course if you just want to do "pentesting/vuln assessment" in which you rely more on toolsets (for example, Nmap>Nessus>Metasploit) structured around a methodology/framework than you may want to look into one of the PACKT books on Kali or backtrack, get familiar with the tools you will use such as Nmap and Wireshark, and learn basic Networking (a simple CompTIA Networking+ book will be a good enough start). I personally did not go this route nor would I recommend it as it generally shys away from the foundations and seems to me to be settling for becoming comfortable with tools that abstract you from the real "meat" of exploitation and all the things that make NetSec great, fun and challenging in the first place. But everyone is different and it's really more of a personal choice. (By the way, I'm not suggesting this is "lame" or anything, it was just not for me.)
*edited a name out
> had any tips for solidifying the foundations.
I strongly recommend the book How Linux Works by Brian Ward, at No Starch Press. 392 pages.
Update: Here's a sample chapter Disks and Filesystems
While published in 2015, most of it is still very relevant. Page for page, it's the best Linux book I've encountered. Topics range from simple to complex, and intuitively organized as well. I found it applicable, of course, to most of Arch.
Good luck.
I have the UNIX and LINUX System Administration Handbook It's awesome and has a pirate boat on the front, so you know it's good. It's great for best practices type stuff, and there's a little bit of sysadmin humor mixed in.
I also have the Linux Command Line and Shell Scripting Bible which is good for CLI reference.
Other than that, you can find a ton of stuff on the web. Is there anything in particular you are looking for?
I highly recommend doing these things
Buy/Read this:
http://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
Look this over:
https://technet.microsoft.com/en-us/scriptcenter/dd742419.aspx
Check out the hey script guy columns
Last browse the script repository for examples
https://gallery.technet.microsoft.com/scriptcenter/site/search/?f%5B0%5D.Type=ScriptLanguage&f%5B0%5D.Value=PowerShell&f%5B0%5D.Text=PowerShell
Pick up Powershell in a month of lunches and grab a free month trial of pluralsight. Two great resources for learning the basics.
For your lab, check on your local craigslist; someone is always getting rid of some gear there. If not there try EBay, can’t swing a dead cat without hitting a CCNA lab kit like these: Cisco Lab Kit
Once you have lab equipment, get some windows servers spun up as that will make learning powershell both applicable and rewarding to you.
The Practice of System and Network Administration, Second Edition
UNIX and Linux System Administration Handbook - 4th Edition
[TCP/IP Illustrated, Volume 1: The Protocols - 2nd Edition] (http://www.amazon.com/gp/aw/d/0321336313/)
These should be part of every ops department's library, if not already in your own personal one.
Even more formatting fun!
By the way, thank you for this list.
Learn PowerShell in a Month of Lunches is one of the most widely-recommended books on starting PowerShell. I'd recommend following along and physically typing commands in to see what happens - don't just read it.
Alternatively, if you've got the time, one of the most comprehensive introductions is the Microsoft Virtual Academy course on PowerShell 3.0. Don't worry - even though PowerShell 5.0 has been released, this is still very relevant information. It's long - almost 8 hours of videos - but these guys know what they're talking about and they explain it quite well.
Beyond that, check out the resources in the sidebar of this sub. There are a couple other intro books and guides, as well as a lot of script resources to look at.
Finally, once you have a feel for what the language is, the best way to discover what the language can do is to find something you already do a lot, and figure out a way that PowerShell can automate that process. It sounds like your senior engineers have some examples of this already, but don't be afraid to expriment. I have to produce a lot of Excel reports, so the PSExcel module for PowerShell lets me automatically create those reports.
Hope that helps!
For anyone who reads this and goes "Wow! What else can powershell do that I haven't heard about??"
https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
I don't really have many good resources for you. I don't read a lot of technical books or websites/blogs outside of my day-to-day job. I've heard some pretty amazing things about Site Reliability Engineering and Effective DevOps, but I have yet to read either of them.
Overall, as you move forward in your career, I would encourage you to learn as much as you can about the ecosystem your code lives in. A lot of people who go into DevOps have really broad and comprehensible knowledge about the entire stack, all the way from networking and servers, to writing code, to building/deploying/hosting that code, to performance tuning that code, to logging and monitoring issues within the code, etc. Some developers really get stuck on "well, I've written the application, so I'm done, right?" but really there's a lot more to it and that's what DevOps people know and do.
cc him on code reviews for your day to day scripts and proactively go over the small ones with him, line by line, a few times a week.
I have a list of exercises(pm me if you are intested) from: http://www.amazon.com/UNIX-Linux-System-Administration-Handbook/dp/0131480057 -- I assign 4 of these exercises weekly and go over it in 1:1s. Buy him a few books, and explain that you can't send him to a conference because of budget issues this year, but you want to invest in his career development -- it will go along way to building the mentor-mentee relationship.
The thing I like about this book, its age does give a good historical perspective, but the questions at the end of the chapters are easily adapted into good questions to fit a particular environment.
I've used this approach to bring up 3 jr linux sysadmins so far.
”How Linux Works” is one of the better in depth explanations of Linux I've read.
It's written in a way that anyone can read and understand it, but it gets pretty deep into Linux under the hood.
Yep, if you're a Windows admin you need to learn powershell.
This is a great book to get started.
My buddy used this. He highly recommended it to me.
https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
Don't use batch. It's outdated and should only be used for compatibility with very old versions of Windows.
PowerShell is the right way to to do this. I'm assuming when you say "create 20 users in Windows Server 2012" you are referring to Active Directory (AD) users, and not local users. You'll want to use the New-ADUser cmdlet to create the AD users. For importing from a csv file, you will need to use the Import-Csv cmdlet.
I won't tell you how to write the script, you should learn that on your own. The two cmdlets I mentioned should point you in the right direction. If you know nothing about PowerShell and need to learn the basics then get the book Learn PowerShell in a Month of Lunches. The book will teach you everything you need to know to get started with PowerShell.
http://www.amazon.com/Linux-System-Administration-Handbook-Edition/dp/0131480057
This has been one of my favorite books: http://www.amazon.com/Linux-Bible-Christopher-Negus/dp/111821854X/
And I read through this entire book: http://www.amazon.com/UNIX-Linux-System-Administration-Handbook/dp/0131480057/
They are both great!
Edit: I can't type much because my internet is going out regularly at the moment, otherwise I'd love to elaborate further.
> windows server/services?
Microsoft's TechNet and MSDN are Microsoft's main reference portals for operations and development, respectively.
For structured learning, Microsoft offers their MCSE Program. Each exam covers a specific topic, and there are learning objectives and links to reference material available. Microsoft Press will usually have a self-study guide available for each exam.
There's also the Microsoft Virtual Academy, but I've never used it and can't vouch for its quality. Of course, it's free, so....
> linux server/common services? (Could be distro specific)
For professional use, the most commonly used Linux distributions are RHEL/CentOS and Ubuntu. (Debian is also popular, but it's close enough to Ubuntu that you can lump the two together.)
Both RHEL and CentOS have documentation available:
RHEL Documentation Page
Ubuntu Server Guide
RHEL's documentation is far more thorough and complete. However, Ubuntu has community support in the form of the Ubuntu Forums and Ask Ubuntu, and I've personally found it easier and faster to find specific information and solutions for Ubuntu.
For structured learning, Red Hat has a certification track available (which is obviously focused on Red Hat technologies), and LPI has a certification track that is more vendor-neutral. There are self-study books available for Red Hat's certifications, but they are all outdated for the current exams, and I don't recommend buying them until they're revised for RHEL 7.
For self-study, the closest thing to a Linux system administration bible that currently exists is the UNIX and Linux System Administration Handbook. However, it's a bit dated in certain respects.
Linux support and documentation, like its development, is spread out over the Internet. If you're looking for how to do something, usually the best place to start is Google. Searching for "[stuff] Ubuntu" or "[things] CentOS" will usually send you to the right place. Stack Exchange is also a pretty good resource:
> Networking
Networking education is split into two worlds: theoretical/academic computer networking, and practical, vendor-specific networking.
For theoretical networking, your best bet is to pick up a textbook. We recently had a thread discussing recommendations.
For practical, vendor-specific networking, the big player is Cisco. Cisco has a certification track available with course objective and reference materials. For self-study, anything written by Wendell Odom is gold; however, bear in mind that you really need a lab for self-study to be effective.
Other companies, like Juniper or HP, also have networking certifications available, but I only recommend them as a supplement.
Lastly, while I describe Cisco's training as "practical," that doesn't mean that the theoretical aspect of networking is unimportant for a professional. There is an industry-wide push toward software-defined networking, and if your SO wants to get in on that, she'll need to have a firm understanding of computer networking theory.
> NetSec
Hardcore NetSec isn't really my field, but /r/netsec has a Getting Started Guide with some resources available.
I've heard that this is the best handbook for UNIX/Linux administration:
http://www.amazon.com/Linux-System-Administration-Handbook-Edition/dp/0131480057
2nd this.
The Linux Command Line. Author offers free PDF for download or you can support and buy from amazon.
http://linuxcommand.org/tlcl.php
 
https://www.amazon.com/Linux-Command-Line-Complete-Introduction/dp/1593273894/r
If you want him to get a firm grasp on it, There's this book as well: http://www.amazon.com/Linux-System-Administration-Handbook-Edition/dp/0131480057
A friend of mine works for one of the guys who wrote it and my understanding is that it's teaches you more than you thought you knew about linux.
I suggest getting a copy of the UNIX and Linux System Administration Handbook.
You just have to jump in and do stuff. Using it as your primary OS or always for a particular task (e.g. always use it for internet browsing) is a good way to become familiar with a linux desktop environment.
As for the command, whenever you want to:
Try to make all of that happen in a command-line/terminal. If you can't figure out a command/program's parameters, check the man (manual) file using the 'man' command ('man <command name>).
For some command command references:
https://files.fosswire.com/2007/08/fwunixref.pdf
http://cc.iiti.ac.in/lcommands.pdf
http://www.pixelbeat.org/cmdline.html
http://www.computervillage.org/articles/CommandLine.pdf
It may seem silly and retro/outdate, but PRINT out a reference sheet. If it's less than 10 pages it's hardly an environmental crisis.
http://linuxcommand.org/index.php
[ Do some basic software development: hello world, a calculator, a text adventure game, dice roller ]
Also install some software development tools and write some basic C/C++ programs and learn about make files. Most of the times installing new software from source is as simple as downloading the source, extracting it, and then running a number of tasks via the make file (e.g. configure, make, make install, etc).
Learning how to compile basic programs on the command line will make compiling other programs from source a little less opaque. The compiler produces object files from source code and links them to produce an executable file.
[ Install some software from source ]
http://www.thegeekstuff.com/2012/06/install-from-source/
https://www.linux.com/learn/intro-to-linux/2017/3/how-install-packages-source-linux
Sticking to simpler software with fewer dependencies (libraries and other software that your new software depends* upon to function properly) is recommended as you should encounter fewer errors if any.
You can always skip this stuff and use a package manager (command line or GUI) if that suits you more.
https://help.ubuntu.com/community/AptGet/Howto
https://www.lifewire.com/guide-to-synaptic-package-manager-2205707
[ Reading ]
If you can tolerate reading books and are willing to spend some money, these may be of use to you:
Linux Pocket Guide, 3rd Edition: Essential Commands (By: Daniel Barrett)
O'Reilly Media
http://shop.oreilly.com/product/0636920040927.do
Linux in a Nutshell, 6th Edition: A Desktop Quick Reference (By Stephen Figgins, Arnold Robbins, Ellen Siever, Robert Love)
O'Reilly Media
http://shop.oreilly.com/product/9780596154493.do
If the price is an issue, shop on amazon and search ebay for a used copy. For the pocket reference at least a lot of stuff is likely to very much the same even in a previous revision/edition.
https://www.amazon.com/Linux-Pocket-Guide-Essential-Commands/dp/1491927577/
^ currently ~$10 on Amazon
https://www.amazon.com/Linux-Nutshell-Desktop-Quick-Reference/dp/0596154488/
^ currently ~$28 on Amazon
I'd strongly recommend the pocket guide and the other reference may be of some use as well.
P.S.
If you aren't sure what Linux "distribution" you should install and use I'd strongly recommend a Debian derivative (a version or variant of Linux that's based on the Debian distribution) or another popular one so you will be able to benefit from common tutorials and the familiarity with it that others users have when you end up needing help.
Debian
Ubuntu
Linux Mint
You can search for other Linux distributions, debian-based and not, using the search tool at https://distrowatch.com/
the operating system will sometimes page out parts of applications which are probably not going to be doing a lot of work -- a lot of background services and system applications will just sit idle for very long periods at a time -- and free up the RAM they'd otherwise be occupying to do other things. (if you want to see the pager at work, go download Process Explorer and look at the columns "Private Bytes" and "WS Private". "Private Bytes" is the amount of memory each application needs for its own private use; "WS Private" is the amount that the memory manager thinks it's entitled to, given its activity patterns and the system's current memory pressure. you can also pull up Performance Monitor, and look at the paging file usage counter under "Paging File > % Usage > Total", to see how much of your paging file is in use at any given time.)
as for what that RAM can be used for, off the top of my head:
http://en.wikipedia.org/wiki/Prefetcher) which monitors your usual use cases and speculatively loads files off the disk to help you get stuff done faster by having the files you need to do it pre-cached in RAM. the less RAM it has to play with, the less it can improve your performance.
there's a lot more about the design and implementation of Windows in Windows Internals by Russinovich, Solomon, and Ionescu, which I heartily recommend. (there's a sixth edition which is half-released right now and covers Windows 7, but the rest won't be out for a few more months.)
the easiest way is to strictly identify which part is really the variable:
foo=test
cp $foofile testdir/. # cp: missing destination file operand after 'testdir/.' ($foofile doesn't exist and expanded to null, not enough required params for cp)
cp "$foofile" testdir/. # cp: cannot stat '': No such file or directory ($foofile still doesn't exist, but expanded to '' due to double quotes usage - good practice)
cp ${foo}file testdir/. # will compy 'testfile' if exists
Also it is usefull to access command line params from inside the script if there are more than 9 params, to access 10th param use ${10}
and here is some list i noticed for myself of how to use this braces, while reading this book - would recommend:
Sorry for formating issues, reddit treats spaces and new lines in special way..
variable substitution:
substitution:
Bash supports various variables substitutions:
$a - will be substituted with 'a' value
${a} - same as $a but could be concatenated w/ string w/o spaces:
${a}.txt - will be expanded in a_value.txt
${11} - 11th positional parameter given to script from shell
${var:-word} - if 'variable' is set, the result will be its value
if 'variable' is unset - the result will be 'word'
$(var:=word} - if variable is set results in its value substituted
if variable is unset, it will be assigned to 'word'
such assignment will not work for positinal params(see 'shift')
and other special variables
${var:?word} - if variable is unset error with reason 'word' will be
generated, exit code of such construct will be 1
${var:+word} - if 'variable' is set, the result will be 'word',
(but variable's value will not be changed)
otherwise result will be EMPTY string
Example:
$ echo ${variable:-ls} - variable unset - ls used
> ls
$ export variable=1
$ echo ${variable:-ls} - variable is set- its value used
> 1
$ echo ${variable:+ls} - variable is set - ls used
> ls
$ echo ${variable1:+ls} - variable unset - empty line used
>
${!prefix} or ${!prefix@} - returns NAMES of existing variables
that starts from 'prefix.
Example:
$ echo ${!BASH}
> BASH BASHOPTS BASHPID BASH_ALIASES BASH_ARGC BASH_ARGV BASH_CMDS
string variables substitution:
${#var} - returns length of string in variable's value
Example:
$ var=123456789 #this could be interpreted as a string too now
> 9 #string length is 9
${#} or $# or ${#@} or ${#} - returns number of positional parameters
of the script being executed
${var:number} - return string from number to the end, spaces trimmed
variable is unchanged.
Example:
$ var="This string is to long."
$ echo ${var:5} #returns string from 5th symbol
> string is to long.
Example: spaces are trimmed:
$ echo ${var:5} | wc -c #count chars
$ 19
$ echo ${var:4} | wc -c #return starts from space
$ 19 #space is trimmed so same number of chars
${var: -number} - return string from end to number, spaces trimmed
NOTE - space between ':' and '-' signs
Example:
$ echo ${var: -5}
> long.
${var:number:length} - return string from number till end of lenth
Example:
$ echo ${var:5:6}
> string
${var: -number: -length} - return string number between number(from the
end) and length (also from the end)
NOTE: number must be > than length
Example:
$ echo ${var: -18: -2} #var is This string is to long.
> string is to lon
${@} - return all values of positional params
leaving spaces inside strings (like "$@" ) - bcs it know how
many arguments script has
${} is the same form, it seems
${@:num} - displays values of positional params but from num
$(@:1) - works same as ${@}
${@: -2} works , but starts from the end
${@:num:length} - same as with strings but with positional params
${@: -num: -length} - same as with strings but with positional params
${param#pattern} - finds shortest match and deletes it (lazy match)
Example:
foo="file.txt.gz"
${foo#.}
>txt.gz
${param##pattern} - finds longest match and deletes it (greedy match)
Example
${foo##.}
>.gz
${param%pattern} - same as # but deletes from the end of the file
Example:
foo=file.txt.gz
${foo%.} - note . instead of . in # example
>file.txt
${param%%pattern} - same as ##
${foo%%.}
>file
Search and replace:
${param/pattern/string} - replaces first occurance of pattern with string
${param//pattern/string} - replaces all occurances of pattern with string
${param/#pattern/string} - replaces only if at the beginning of the line
${param/%pattern/string} - replacesonly if at the end of the line
Tanenbaum's textbook is par for the course THE best low-level exploration of the fundamental concepts of operating systems. It is, however, HIGHLY theoretical, and requires a solid base of knowledge prior to even starting it. It also is not useful for learning specifics about every day tasks.
This is a phenomenal introduction to the concepts and some of the practice of Linux:
http://www.amazon.com/How-Linux-Works-Superuser-Should/dp/1593275676/ref=sr_1_1?ie=UTF8&amp;qid=1454103950&amp;sr=8-1&amp;keywords=how+linux+works
And here is a practical-first exploration of how to use Linux:
http://www.amazon.com/Linux-Command-Line-Complete-Introduction/dp/1593273894/ref=sr_1_3?ie=UTF8&amp;qid=1454103950&amp;sr=8-3&amp;keywords=how+linux+works
I would highly recommended reading these two books, then picking up a copy of Tanenbaum's, and finally this:
http://www.amazon.com/s/ref=nb_sb_ss_i_2_9?url=search-alias%3Daps&amp;field-keywords=unix+and+linux+system+administration+handbook&amp;sprefix=linux+sys%2Caps%2C204&amp;rh=i%3Aaps%2Ck%3Aunix+and+linux+system+administration+handbook
If you actually study and practice implementing the topics discussed in these four books then you will have a far better understanding than 90% of the Linux users I've interacted with.
This is the best book. Sets a firm foundation that you get nowhere else.
How Linux Works, 2nd Edition: What Every Superuser Should Know
https://www.amazon.com/dp/1593275676/
Link for those curious. Thanks for the tip!
Also, there's a CBT Nuggets video series on Powershell for those who dig CBT Nuggets kind of learning.
-get a VM and install Ubuntu to mess around and get used to the environment. The VM will keep you from damaging anything and acts as a failsafe.
-I also suggest reading about how to use BASH. This will help you familiarize yourself with Linux. This book is amazing.
It depends on what you already know.
&#x200B;
Do you have any prior programming experience? If not, start there. My no. 1 recommendation here would be Allen B. Downey's free Think Python book. Others might come along and recommend something like SICP, which is a good book, but perhaps a bit hard for an absolute beginner. Downey also has a version of his book that uses Java, so if you know for a fact that this is the language your introductory programming class will be using, then that could be a better option (Python is a simpler language, which makes it easier for you to focus on the actual concepts rather than the language itself, but if you know that you'll be using Java, you might as well kill two birds with one stone).
&#x200B;
If you do have prior programming experience, you have all sorts of options:
&#x200B;
Regardless of whether or not you have programmed before, I would also recommend doing the following:
&#x200B;
if you have any questions about my above suggestions, let me know, and I'll see if I can point you in the right direction.
&#x200B;
Good luck!
How Linux Works was suggested on another thread. I picked it up, and while I am only on chapter 2, it seems like a good primer.
https://www.amazon.com/Linux-Command-Line-2nd-Introduction/dp/1593279523/ref=mp_s_a_1_5?keywords=how+to+command+line+linux&amp;qid=1567694100&amp;s=gateway&amp;sr=8-5
I'd start here. You're in a college CS class so I'm sure you're at least at this level.
Just read the preface in the preview and you'll see the goal of the author is basically what you're describing.
There are similar, slightly more advanced books you can follow up with afterward.
The few bad reviews are only for the paperback quality (falling apart) which there is no need for, just use the ebook.
I taught a powershell class at work a few years ago. We went chapter by chapter through "Lean powershell in a month of lunches"
https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
Anything by Don Jones.
Even look up "Don Jones Powershell" on YouTube will bring up a lot of his powershell stuff. He is entertaining and very informative.
Or pick up his book: http://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080/ref=sr_1_1?ie=UTF8&amp;qid=1372257080&amp;sr=8-1&amp;keywords=don+jones
Start Here
Great book to start with: http://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
This is probably the most recommended book: https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
Books aren't really my learning style - to me, it's just solve a problem, then solve it gooder
Maybe I should read more....
http://amzn.com/1617291080
That's what I used, came highly recommended by folks in this subreddit, and I see why. Starts off slow and simple, assumes you have no prior experience in programming. By chapter 4 you're making scripts that show just how awesome PS is.
https://www.amazon.com/How-Exit-Vim-Chris-Worfolk-ebook/dp/B01N5M1U6W
Get the Unix and Linux Administration Handbook, 4th Edition, by Evi Nemeth, Garth Snyder, Trent Hein and Ben Whaley.
This book covers both Ubuntu and other Linux flavors, along with traditional Unix. It is my defacto go-to when I need to look up a topic, and goes into incredible detail about not only how to do things, but also some of the theory behind them. A good example is that it explains how to set up a DNS server, but also details how DNS actually works.
For something cheaper - just google the Rute Manual. This also details a wide array of OS concepts and how they are embodied in Linux.
And while your learning - i'd like to throw this tidbit that I absolutely love from the Rute guide:
>Any system reference will require you to read it at least three times before you get a reasonable picture of what to do. If you need to read it more than three times, then there is probably some other information that you really should be reading first. If you are reading a document only once, then you are being too impatient with yourself.
>It is important to identify the exact terms that you fail to understand in a document. Always try to backtrack to the precise word before you continue.
>Its also probably not a good idea to learn new things according to deadlines. Your UNIX knowledge should evolve by grace and fascination, rather than pressure
A must read is UNIX and Linux System Administration Handbook (4th Edition):
www.amazon.com/UNIX-Linux-System-Administration-Handbook/dp/0131480057/
See also: http://www.reddit.com/r/linux/comments/cm8y4/any_book_recommendations/?sort=new
Read this book: http://www.amazon.com/UNIX-Linux-System-Administration-Handbook/dp/0131480057
UNIX and Linux System Administration Handbook (4th Edition) [Paperback] Evi Nemeth (Author), Garth Snyder (Author), Trent R. Hein (Author), Ben Whaley (Author)
Honestly, this book is absolutely excellent in explaining the working world to you. It's Unix/Linux centric, however gives you awesome tools to tackle your day to day job.
I'd like to humbly suggest the UNIX and Linux System Administration Handbook for your new admin. It's starting to show its age a bit (published 2010), but still communicates many of the core responsibilities of administrators in a clear manner with historical context.
Also, take a look at the Linux System Administration and Linux Web Operations LiveLessons, which are more current and may be helpful if the new guy learns from video tutorials.
Disclaimer: I am the author.
Read this, found it amazingly useful and packed full of knowledge, I recommend this book even to Linux noobs that are trying to get a better feel of the system for desktop use... once they have the basics down that is.
http://www.amazon.com/UNIX-Linux-System-Administration-Handbook/dp/0131480057
ATLien325's comment explains that terminology in a pinch, but it's not really going to get you very far on your way to learning how to hack. Your best bet would be to pick up books like this, this, and this. Then you'll have an idea of how programs, file systems, and networking work behind the scenes and you are much better situated to begin to learn how to hack them.
You're also going to need to learn how to effectively use a search engine.
That's a lot to ask...
http://www.amazon.com/Linux-System-Administration-Handbook-Edition/dp/0131480057
There is a good explaination about the history of Unix and Linux at the beginning of this book. http://www.amazon.com/Linux-System-Administration-Handbook-Edition/dp/0131480057
You could also watch revolution OS. Or just use youtube.
I found the first version of the sys admin book by Evi Nemeth et al helpful years ago. I know a couple people who have found newer versions helpful too. Here is a link to the latest.. http://www.amazon.com/Linux-System-Administration-Handbook-Edition/dp/0131480057
I found this book in a thread and I've gone through the first four chapters so far. I only got it a little while ago but I really do like how it reads, and the amount it covers is nice. Check out the table of contents on amazon and you'll see what I mean about the coverage.
Other than that we're looking at the same kind of stuff. Let me know if you get any good leads :P
>As we explore the details of the internal structure and operation of Windows, you’ll see how these original design goals and market requirements were woven successfully into the construction of the system.
Its actually from book called Windows® Internals: Including Windows Server 2008 and Windows Vista, Fifth Edition written by THE Mark Russinovich and David Solomon.
I started by reading a book which you can see by Clicking Here
After this I started changing my day to day admin process to use PowerShell instead. Learning other languages might help for looking into loops and things.
This is your curriculum:
1 & 2 below are basically required reading in my CSIRT; 3 is optional, but advisable.
Next get yourself and/or your organization to participate in FIRST
I am a beginner too and just finished this book TLCL.Another one i would recommend is shell scripting bible.For most part use google to learn about commands and man page is your friend. I am more of a book kind of guy so never used video resources. Most important you should know where to look for help when stuck.
Your search is finished. It's the best book out there.
>What are the biggest differences between these two ?
Yeah, that's gonna be a lot. It's easier to ask where they differ specifically. But generally, for me, Linux Mint feels more open and under my control than Windows ever did. Also, it's hella faster.
&#x200B;
>How long will I have to use Linux Mint to "get the feel of it"
Impossible question to answer. I've been using Mint for about a year now, and I still don't have the "feel of it", per se. I'm comfortable using it and know where most things I need to know are...but I'm by no means no expert any in any meaningful sense.
&#x200B;
>Where can I learn more about Linux Mint and how to use it ?
r/linuxmint exists and is really helpful. Resources on linux in general of often helpful in my experience, too. I bought "The Linux Command Line" and it helps me a lot.
&#x200B;
>Do I need an Anti Virus ? How is Linux Mint different from Windows in terms of privacy ?
I mean...I don't use one...and, as far as I know, I don't have any problems (at least that aren't caused by me). Frankly, I'm not even sure which anti viruses exist for linux.
One word of warning: watch out for the desktop environments. Unlike Windows, you have options when it comes to your desktop environment. And those options comes with a billion more options to customize it how ever you want!
Not to mention that a lot of VMware functions use PowerCLI.
I also vote Powershell.
Edit: Might I also suggest Powershell in a Month of Lunches?
Fuck that. You want to learn the newest shit, not some old antiquated OSs that your company just happens to use atm. Yes I'm being very blunt, you will have a better career if you do so.
Also note that Hyper-V is free if you'd like to play with that. You can get that and other Windows Evaluation OSs here.
I run a Hyper-V cluster with two Lenovo M93 systems, a VMWare 5.5 hypervisor on a TS140, and FreeNAS on a custom machine. My network is all Ubiquiti, ERL, ES Lite, 2x UAP-AC.
Powershell is a very handy tool to have, but you don't need to 'dedicate' yourself. Go through this book and you'll be a step above a majority of IT professionals easily. https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
Powershell in a Month of Lunches
I think it is always safe to look at all of the material in the 70-640 curriculum. Most of it easily applies to 2012+ and you may still see a lot of 2008 systems.
https://www.microsoft.com/learning/en-us/exam-70-640.aspx
Combine the reading with the lab work and you can learn a lot.
Also /r/powershell and Powershell in a Month of Lunches. New version addresses Powershell 3 http://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
Rule 1: You better start learning how to teach yourself cause classes are probably not gonna happen. I got this book and taught myself the fundamentals of powershell. You'll need to do something similar. For the application, I'm sure the developer provides an entire site full of documentation for you to use to help develop your skills. It may seem intimidating now, but you'll get used to it.
Note: The powershell book is very easy to find for free if you know where to look.
>However, at least at this office, you can have days like today where things slow way down and you can derp around on Reddit until you get more calls or a user gets back to you.
System/Network Administrators (especially at smaller companies) either work well or they work often. I'm getting towards the "well" side of things more and more as I get better, which leaves more time for other activities, like reddit or going through Powershell in a Month of Lunches.
If you're looking at Powershell, the Learn Windows Powershell in a Month of Lunches is pretty well reviewed.
For a first overview of ZFS, I still recommend https://pthree.org/2012/04/17/install-zfs-on-debian-gnulinux/ by Aaron Toponce, though it is badly in need of an update. If you know you are going to be doing a lot with the system, you might want to check out FreeBSD Mastery: ZFS by Michael W. Lucas (for example at https://www.amazon.com/FreeBSD-Mastery-ZFS-Band/dp/1642350001/). Though a lot of parts are specific to FreeBSD, it discusses lots of things in depth.
There are three problems you're going to run into when learning about ZFS especially: One, the system has been around so long that there is lots of outdated information about old versions still floating around. Two, there are minor differences under the hood on how (say) FreeBSD and Linux do stuff, and sooner or later you'll read something that doesn't apply to your case and be confused. Second, stuff is changing fast, especially on Linux now that Canonical is pushing it on Ubuntu (see https://www.phoronix.com/scan.php?page=news_item&px=Ubuntu-Looking-ZFS-Desktop).
The last part is about to get worse, because we're expecting the release of ZFS 0.8 any day now with lots of new features like native encryption, device removal, and TRIM support (https://github.com/zfsonlinux/zfs/releases/tag/zfs-0.8.0-rc4).
Some info on distro differences:
A few book recommendations: (books are generally the way to go)
A few online resources:
Videos/courses:
Some great past reddit threads I've saved for reference:
Already good responses in here. If you're interested in a good book to learn a bit more, the concise Linux Pocket Guide is very handy. A longer book is The Linux Command Line: A Complete Introduction.
It will take too long to explain how Linux handles such a thing differently. Read this book.
Every one should read it. I'm not a sponsor, dude!
I found the book The Linux Command Line to be very useful. Good luck on your CEH!
Just get these 2 books(all you'll need, peep the reviews for proof) and thank me later
Linux Command Line
How Linux Works
For that purpose I can highly recommend the book How Linux Works. I thoroughly enjoyed it and it'll give you plenty of info.
Just to stack hands and echo what was said before, reading about will keep it in your brain for a day. Doing it keeps it there forever though.
I enjoyed this book (from local library)
The Linux Command Line, 2nd Edition: A Complete Introduction https://www.amazon.ca/dp/1593279523/ref=cm_sw_r_cp_apa_i_2It4CbP5PDWNK
This is a fantastic book to get started:
https://smile.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080/
Some tips.
r/homelab is a great place if you want to look and ask quiestions
r/SysAdminBlogs is a great place to find other information from other sysadmins
r/PowerShell is great for powershell stuff
If you want to get started on powershell the book "Powershell in a month of lunches" is a great read if you have time!
https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
I would take a look at Don Jones, PowerShell in a month of Lunches
https://www.youtube.com/playlist?list=PL6D474E721138865A
http://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
Not sure if the book is the latest, so have google first.
If you see yourself repeating a task 2 /3 times or more, then look into scripting it, start small and simple and go from there. Once you start seeing the time put into scripting paying off, it'll get easier.
Learn PowerShell in a month of lunches https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
There is also a book on this topic: https://www.amazon.com/How-Exit-Vim-Chris-Worfolk-ebook/dp/B01N5M1U6W :)
I would highly recommend you check out the UNIX and Linux System Administration Handbook.
It not only goes over a baseline of technical sysadmin (especially linux) concepts, but really shows you how to be a good admin. There is more to it than technical know-how. I'd recommend picking this one up.
First get yourself a copy of the Unix and Linux System Administration Handbook by Evi Nemeth (who is still missing at sea).
This book has saved my ass countless times. It has a bunch of great knowledge and gives you a chance to catch up on things you might have forgotten. I highly recommend you purchase this and keep beside your desk/cube, at least until you become familiar with the job duties.
http://www.amazon.com/Linux-System-Administration-Handbook-Edition/dp/0131480057
First off, what are you doing now?
Here is some advice from a 20-year sysadmin who does devops and hobbyist development stuff:
Buy this book. You won't get better advice from anyone anywhere. It's expensive, but BUY THE FREAKIN BOOK: https://www.amazon.com/UNIX-Linux-System-Administration-Handbook/dp/0131480057
Install some VM system like VitualBox and start playing with either Debian OR Ubuntu, AND CentOS. Install both numerous times and give yourself some extra partitions to format and play with. Read about some feature or thing and then go mess with it.
Eventually go after RHCSA/RHCE.
Learn the bash shell. Learn how to write real scripts with while/until loops and if/thens, arrays, and other stuff. That'll take time, but put some focus on it.
Don't get overwhelmed. Just start learning one thing, then the next, and go from there. The rabbit hole goes deep.
I'm surprised no one has mentioned the System Administrator's Handbook. I've got editions 1, 2 and 3 on my bookshelf.
Fundamentals is what you need to know to get through some first round interviews. Explain the boot process in detail from pressing the power button to getting a login prompt -- how does init work, how do run levels work, how does systemd differ? What is getty? pam?
DNS is so much more than just what that rap covers, so if you put it on your resume you better damn well know it. Tell me about the concept of glue records, what is a root hints file, know how to use dig at the very least, how do you switch the order in which the resolver library checks it sources? What is the truncated bit in a DNS packet for?
Know debugging and tracing beyond the usual "top" or "sar" to get real detailed data on what a process is doing. Strace, ltrace, tcpdump, gdb (how to take a stack trace and dump a core), sysdig, perf events, dtrace4linux, vmstat, slabtop, pmap, etc
DHCP is another one like DNS that people like to say they know, but you should know about DHCP relay/ip helper, pxeboot, the actual protocol order of events. Check it out in wireshark.
How do processes and threads differ, really? Lots to talk about here even down to shared memory space, system calls, etc
What is swap, really? What are page faults? How does kswapd behavior change when you don't run with swap?
Know Netstat/ss. Know that tcp is a state machine. What does a bunch of SYN_SENT in netstat imply? Difference between tcp's RST and FIN?
Stateful vs stateless is more than just a tcp/udp difference, it's a fundamental concept to so many aspects of technology.
Basically know what's in this book: http://www.amazon.com/Linux-System-Administration-Handbook-Edition/dp/0131480057
> There are loads of books dealing with Unix and POSIX APIs.
There are many good C books. I've found Linux Systems Programming to be a good book that mostly caters to Linux, but delves into BSD occasionally.
Going through a linux book, like this one, will get you over your linux hump. But otherwise, just doing stuff in Linux will get you going, like:
Once you get going, you're limited by your own imagination!
This is a very good book. Debian-isms you can learn as you go, but system administration concepts are useful throughout many distributions.
https://www.amazon.com/UNIX-Linux-System-Administration-Handbook/dp/0131480057
Other than that you have to set goals for yourself. Have you tried starting up 2 virtual machines and had them communicate with each other?
I find reading books is the best way to expand ones horizon on a certain topic. UNIX and Linux System Administration Handbook should be an excellent read for you.
I second this one
http://www.amazon.com/UNIX-Linux-System-Administration-Handbook/dp/0131480057/
It could be a good idea to check which books some well regarded universities are using.
I found this to be helpful when I started out. The details are a bit outdated at this point, but it's still got many relevant points.
Step 1: Buy and read this
If you are looking for a dead tree, this book here has been recommended by a number of people I know.
http://www.amazon.com/Linux-System-Administration-Handbook-Edition/dp/0131480057/ref=pd_sim_b_2?ie=UTF8&amp;refRID=05JZDWW6GA57W5F0SG8D
My driver was for Windows. If that's something you want to explore, I'd highly recommend Programming the Windows Driver Model and Windows Internals. I used the 2nd and 4th editions respectively at the time I wrote it. I think the 6th edition of Internals is coming out soon though.
I have some knowledge on assembly and RE (Win32), but I never really got that much deep into it. I learned things as I needed in order to do my stuff.
I think the important thing here is to have a solid understanding of the architecture you're working on (for example x86/x86_64), the OS internals, and C. Without this you are going to have a very unpleasant and even painful experience.
If you don't have it yet, take the time and learn it, and then go back to RE. It will be worth it and save you a lot of effort. If you already have it, then things shall come easier to you.
If you are using Windows, I highly recommend David A. Solomon's and Mark Russinovich's Windows Internals book. It's an unmatched resource about Windows and will help you greatly.
In your situation I would take charge if I were you. If you don't at least make that attempt it's your own fault.
If there's no security department, make one. Use what you learned in the Sec+ and then maybe --> https://www.amazon.com/Crafting-InfoSec-Playbook-Security-Monitoring/dp/1491949406/ref=sr_1_1?ie=UTF8&amp;qid=1521475275&amp;sr=8-1&amp;keywords=crafting+infosec+playbook
Identify what is weak at your company, put together a project plan, etc... sounds like the perfect opportunity for you to learn the hard way and then when you do win you can say, "I took initiative, stood up a small infosec department and hardened the company and it's data"
know what i mean jellybean?
When I was beginning to learn Linux back in the day, I used The Linux Command Line and have only good things to say about it. It must be one of the simple best books to introduce yourself to the command line and to how to use a modern Unix like system.
Obviously, you will want to read the documentation on the distro you decide to install. For a book, I would recommend The Linux Command Line.
I recommend How Linux Works and The Linux Command Line. Those will take a total beginner and take you through the basics up to shell scripting.
The Linux Command Line is a work book where you type what it says and follow along. How Linux Works is more of an explanation with less hands-on. I went through both at the same time as the chapters align very well, particularly at the beginning.
First of all I should say that I'm no expert in these things, but I'm sure other people will be able to make other suggestions.
>I plan on installing Linux as my OS (technically my first time)
If you're more used to Windows then the UI will be fairly easy to get used to, but the biggest change will be the command line. This is a really powerful but complex tool and I think the best way to get used to it is really just to dive in and use it as often as possible. MagPi have a book for it (Conquer the Command Line) to get you started, but if you wanted something more comprehensive I've spent some time reading The Linux Command Line and found it really helpful.
For Python I think I started out with Code Academy, but mostly picked it up as I went along. I'm currently reading Python Crash Course and I think it is pretty decent, although most people seem to recommend Learn Python the Hard Way (note the tiny link near the bottom of the page to read the book for free).
At the end of the day the most important thing is to take baby steps and take them often: when you've kept at it regularly for a few weeks it becomes a lot more easy.
https://debian-handbook.info/ is super high quality (and free! although if you have the money I think it's well worth donating and / or purchasing a hard copy)
I also like https://www.amazon.com/UNIX-Linux-System-Administration-Handbook/dp/0134277554/ and https://www.amazon.com/How-Linux-Works-2nd-Superuser/dp/1593275676/
That is prepping for the Linux+ right?
I haven't done this course or the exam, but I've been using Linux for a decade. I think for Linux in general - if you are coming into it from scratch then you really need to practice setting up a system, configuring services, compiling software, use a variety of package managers, writing some basic bash scripts and so on. Then you'll have a framework for a lot of the arbitrary stuff they want you to memorize - all the various flags, switches and options. At that point you probably want to do heavy flash-carding for the real arbitrary stuff.
Basically I'm not sure there is a way around simply using it - unless you are great at memorizing stuff without relating it.
I don't know if this book covers the objectives better than the course material, but I found it excellent back when I first got into Linux (I used the 1st edition). http://www.amazon.com/How-Linux-Works-Superuser-Should/dp/1593275676
It was the kind of book that you could simply read through, play with what you learned in each section and it made a lot of sense. A real learning guide rather than a dictionary/reference.
Oh and if you want to learn a lot of really useful command line tips and tricks, this memrise was super helpful: http://www.memrise.com/course/50252/shell-fu/
If you master that memrise it'll make you super productive when working in a linux environment.
This book will answer a lot of your questions.
[Time Management for System Administrators] (https://www.amazon.co.uk/Management-System-Administrators-Thomas-Limoncelli/dp/0596007833)
powershell in a month of lunches
Start here: http://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
The best way I found to learn something is to find a project that relies on it.
For example, I never knew any powershell a few years ago, but I was given a project to write some QA scripts for work. That turned into a 8000+ line modularised script that anyone can use and create plugins for.
I am currently working on building servers and applications using PowerShell (installing and configuring AD, SQL, MSCS, RDP, ...)
If you haven't already, buy the book "Learn PowerShell In A Month Of Lunches" (https://www.amazon.co.uk/dp/1617291080) It's the top rated book by everyone.
https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
It comes highly recommended.
Hey /u/Dude_with_the_pants! So this is a wall off text now that I've written it..sorry about that but honestly when I start talking PowerShell I can go on forever (as my peers at work can attest). So I hope this is kind of useful for you.
So you're looking for some real-world examples...so here goes from where I sit. I've been using PowerShell since it was in beta...so a long time. Prior to PowerShell I was a point-n-click guy. No scripting experience (beyond embarrassingly bad batch files). I'd open VB scripts and kind of zone out. PowerShell really opened a door for me. For the past 20 years I've been working for some really large companies (5,000 - 160,000) as an Exchange\AD guy with my current stint...about the last 13 years or so, I've worked for the same company. This has been an evolution of sorts, but ever since PowerShell v1.0 dropped in my lap during the Exchange 2007 beta I was hooked and started to automate and built tools.
This was a long time ago now, so my skills and uses have matured quite a bit (at least I'd like to think so). Looking through this thread you've already gotten a lot of really good responses. In terms of using PowerShell and where to start I like what others have said. When you reach for the mouse and start clicking on stuff to complete a task, note somewhere what that task was and then when you have down time, look up how to do it with PowerShell. Odds are really good, especially now, that there is a way to do it with PowerShell. If I may be so bold, but I'd recommend taking a look at Learn Windows PowerShell in a Month of Lunches. I recently did a manuscript review of it for the publisher which required me to slowly read through every single page. It's a good staring point and I highly recommend it.
That all said, daily PowerShell usage.. So I've spent the last decade automating and tool-making which my employer has really taking a liking to (not sure why, but I enjoy myself). Here are some examples of what I've done with PowerShell:
For day-to-day stuff, not long ago I needed to query the Windows time configuration status of all our domain controllers. Using remoting this was trivial. If you had 2 DC's then I guess it isn't a big deal, but for us fanning out through remoting to audit this data is absolutely necessary. I find remoting is a quality of life kind of thing. Yes I could RDP into something, but 9/10 times it is way faster to just run
Invoke-Command -ComputerName machineName -ScriptBlock {do something}
So day-to-day, for what I do, I'm honestly writing tools or working in automation projects 90% of the time. I only get into the shell to do something if something is really broken and none of my automation tools have already handled it. Not everyone has that luxury (and it is btw). If I was you I'd look for every opportunity to learn how to do stuff with PowerShell. I think you'll find that in most cases it will free you up to do other things. It'll be awkward at first as you fumble around, but you'll soon find ways to speed things up.
I wouldn't be too obsessed with just looking at remoting stuff. It's true that this does expose some of the power of ..well.. PowerShell, but there is sooo much more to it. Look for ways to improve your daily life. Jot down the stuff you do a lot (and repeatedly). Those are your prime targets. It could even be something as simple as processing your mail in the morning. If there are certain patterns you follow and do a lot of...you can absolutely hook in PowerShell into that too if writing Outlook rules won't do what you need (I've done this too).
Good luck and happy shelling!
this book
As a beginner (still am), I have found the easiest way to learn is to just dive in using Powershell for any tasks that you do during your normal day (especially the repetitive ones).
With that said, I have found it highly beneficial to use a couple resources:
To be honest, the most important tip in my opinion to learn how to use PS is the get-help command. This will teach you how to use just about every command out there minimizing most questions that you are looking to ask. A second tip: Learn what it means to "Pass by value" and "Pass by Property Name." This will help you immensely when combining commands using the pipeline.
Quick warning: Powershell will quickly get addictive. Also, it is a community where people enjoy sharing and giving back.
Last note, I swear. Learn shortcuts. It will save you a HUGE amount of time (i.e.like hitting esc on your keyboard to clear the line.)
I used this book: http://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
http://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
You can find a pdf of it somewhere on google as well. This book is possibly one of the most valuable things for a sysadmin for windows to have. Seriously.
http://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
/r/powershell is a nice place to begin and there are a number of links on the sidebar that can help get you started. When I was getting started I used the book Windows PowerShell Unleashed which I really liked. I have heard good things about Learn Windows PowerShell In A Month Of Lunches but I haven't had the chance to look in to it myself.
For free online resources I like ss64 and I also referenced computerperformance.co.uk when getting started.
First, read our Wiki. It is very thorough and answers a lot of these common questions such as
day to day? The Practice of System and Network Administration
And the topical reference books listed below.
Books to help in shaping a sysadmin? The above &:
The Phoenix Project
Time Management for System Administrators
Topical Books I see mentioned often and have been very helpful to me:
Powershell in a month of lunches
Learn Python the hard way
Unix and Linux System Administration Handbook
Windows Server 2016: Inside Out
Group Policy
AbsoluteBSD
FreeBSD mastery:ZFS
CCNA
RHCSA/RHCE
Pro Puppet
SSH Mastery
On my docket:
FreeBSD Mastery: Advanced ZFS
Michael W. Lucas and Thomas Limoncelli are very good sysadmin writers, you can't go wrong with a topic they have chosen to write about.
Most of the *nix stuff assumes a baseline knowledge of how to use a unix-based system. I learned as I went but did pick up an old copy of Unix Visual Quickstart Guide not too long ago at a used books sale, which seems like a good starting place for someone overwhelmed with sitting at a terminal and being productive.
I notice I don't have any Virtualization books, perhaps someone else can fill in good books. Most of my knowledge regarding virtualization and network storage has been a mix of official docs, video training, and poking at it. Seems innate but it isn't.
This is a really good one for monitoring from a conceptual standpoint:
The Art of Monitoring https://www.amazon.com/dp/B01GU387MS/ref=cm_sw_r_cp_api_p.T-BbG5C2YTQ
It's a real book: https://www.amazon.co.uk/How-Exit-Vim-Chris-Worfolk-ebook/dp/B01N5M1U6W
This:
http://www.amazon.com/The-Linux-Command-Line-Introduction/dp/1593273894/ref=sr_1_1?ie=UTF8&amp;qid=1334588018&amp;sr=8-1
and maybe this:
http://linuxcommand.org/
Teach a man how to fish..
I have 3 semesters left so my plan has been to seek an internship next summer closer to graduating. Do you think it's unwise to wait that long? My independent study could be better but I've become proficient with Linux using Arch as my daily driver and reading through The Linux Command Line. I'm also going through The Basics of Hacking and Pentesting which had me set up a "lab". Just finished the recon chapter. Also proficient in Python/Java/C++ ("proficient" might be a bold claim, rust considered).
I'm reading "The Linux Command Line" book by William E. Shotts, Jr. A good primer for when you want to get into Linux. It reads well and it doesn't dump a ton of information on you at once.
&#x200B;
Huh. It's a "Best Seller" now, lol. https://amzn.to/2zgHrzV
How Linux Works 2nd ed. is a great book for learning the overall concepts. It also goes into enough depth so that it’s a great read for those who already have a good bit of Linux experience but want insight into what’s going on underneath the hood.
https://www.amazon.com/How-Linux-Works-2nd-Superuser/dp/1593275676/
I can relate to your attitude and desire to learn Linux, I've felt the same.
I highly recommend this book: https://www.amazon.com/How-Linux-Works-2nd-Superuser/dp/1593275676/ref=sr_1_2?keywords=how+linux+works&qid=1558200935&s=gateway&sr=8-2
I read about a chapter or two a day with some coffee. It's fun and interesting. I think it's right up your alley.
For me, there's two types of Linux learning. Things I learn for fun, and things I learn because I have to or my stuff doesn't work. I started with a lot more things I learn for fun, but now most things I learn because I have to.
I do web development on a Manjaro machine using KDE. I love the distro, but I didn't try any others. I don't need to. It's fine. I use Debian on a lot of the webservers, that's fine too.
My feeling is, all these distros you're looking at have much more in common than not. If you set up a Desktop Environment, a popular one like GNOME or KDE on ANY distro, it's gonna be pretty similar. If you just want to use the shell on any distro, well, you can install whatever shell you want, use of that shell on any distro will be pretty similar.
IMO, you should focus MUCH more on deciding what DE/WM and shell you'll be using. This is going to play a much bigger role in your daily use than what distro you use. I think you should look up youtube videos and online tutorials of different people using different shells, scripts, WMs, VIM, etc, and see what excites you.
You can install Arch, step by step, using the wiki, and it's not that hard. It feels scary and weird at first, but you're just cooking, you're following a recipe, and if you mess up a step, a bunch of people have messed that step up too, google it.
Don't think too much. Just jump in.
How Linux Works - What Every Superuser Should know
I just bought "How Linux Works" published by no starch press.
Excellent so far, and while I was familiar with all the topics in the book to begin with, I still learn something new every chapter. It's listed as an "Intermediate" level book, but there is a wide range of topics from absolute beginner to some more advanced stuff, all with easy to understand explanations. The topics build on themselves nicely, so you aren't just dropped into a chapter having no idea what the author is talking about.
Supposedly most of the no starch press books are great. /u/C0rn3j mentioned "The Linux Command Line" as well.
"How Linux Works." It gives a really solid explanation of what an operating system fundamentals.
We just kind of think of them as managing things in the background, but this book really goes into what that means.
It totally changed the way I view programs.
Come utilizzo base non c'è nulla da imparare, soprattutto se usi una distribuzione user-friendly come Ubuntu, Elementary o Mint. Se vuoi diventare più produttivo e/o veloce puoi imparare a usare il terminale.
Come introduzione consiglio Linux Journey, mentre se vuoi un manuale che spiega come fare praticamente tutto dalla linea di comando c'è The Linux Command Line.
Secondo me le cose più importanti da imparare per avere una buona esperienza (o meglio, per sentirsi padroni del proprio computer), sono i comandi base tipo
cp
,mv
,cd
,sudo
ed il gestore di pacchetti (apt
,pacman
,rpm
) per poter installare, aggiornare e rimuovere programmi. Poi quando ti senti di andare oltre puoi imparare a usare (in ordine di difficoltà)cat
,grep
,find
, SSH,chmod
/chown
, come funzionano i servizi di systemd, compilare programmi dalla sorgente e creare script in Bash.Più che stare a studiare, però, dovresti cercare su Google come fare quello che stai cercando di fare, qualunque cosa sia. Solo in questo modo impari a usare effettivamente il terminale, e non ti rimane tutto nella testa come accadrebbe leggendo un libro e basta. Se non trovi quello che cerchi puoi chiedere su /r/linux4noobs.
Start here, and then pick up more in-depth module-specific tutorials online. There are great AD-administration tutorials out there.
http://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
PowerShell isn't really that bad once you get the hang of it.
http://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080/ref=sr_1_1?ie=UTF8&amp;qid=1370231896&amp;sr=8-1&amp;keywords=powershell+in+30+days+of+lunches
That's the one, I think. It's good.
this is what i read through and it helped me out
http://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1462150872&amp;sr=1-1&amp;keywords=learn+powershell+3+in+a+month+of+lunches
http://www.amazon.com/Windows-PowerShell-Action-Second-Payette/dp/1935182137/ref=sr_1_1?ie=UTF8&amp;qid=1462150962&amp;sr=8-1&amp;keywords=powershell+in+action
I would suggest that you look at this book: Learn Windows Powershell in a month of lunches
It really helped me when I was starting out. As for what you are trying to do, I prefer the output using Quest AD tools for Powershell. They have a lot of really nice AD cmdlets. This would do it for you:
Get-QADGroup | export-csv C:\location\filename.csv
edit for typo
If you are looking for an actual book, check out "Learn Windows PowerShell in a Month of Lunches"
https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
That's come up more times in various IT forums. The link I posted had the video version by the same author. I am going to get started on this myself. I know enough to get by, but think it will be good to go through the entire thing.
Glad to hear! If you want to learn more PowerShell, grab this book. It's becoming a standard read for new hires at my office.
There's a menu to the right of this subreddit with various links and book recommendations. You'll need to be on desktop version of the reddit website to see these though.
Personally I really like the Getting started with PowerShell 3.0 Jump Start.
Most will recommend the Learn Windows PowerShell in a Month of Lunches book.
Also, it would be wise to grab the "Learn Windows PowerShell 3 in a month of lunches" at some point in the near future if you're going to go down the PowerShell path. Doing so is of course recommended, as most everything Microsoft has been releasing over the last few years has had management based on PowerShell to be as close to, or at parity with, the UI management tools.
https://leanpub.com/powershell-scripting-toolmaking
https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
These two are my favorite.. decently priced and great knowledge. Written by same author Don Jones.
The Powershell class i'm taking right now uses this book: http://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
It does a good job explaining the how things work.
It took me a while to get good at PowerShell and I had a pretty extensive programming background prior to trying to learn it.
The Exchange cmdlets are also less than ideal when trying to learn... but it was also my first experience with PowerShell. They're usually pretty slow to run and aren't great from a syntax standpoint. The AD and file system cmdlets (
Get-ChildItem
/Get-Item
) are more consistent, faster, and generally easier to work with.Trial and error, as well as looking at code examples on /r/PowerShell is the way I ended up learning. You'll notice on /r/PowerShell people usually post very different ways of solving a problem and one isn't necessarily better than the other, but just use different features or logic.
PowerShell in a month of lunches is usually the recommended book / guide.
https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
https://www.youtube.com/playlist?list=PL6D474E721138865A
My advice would be to get this book.
Powershell and HyperV were pretty much the main focus when I took it. This book is usually recommended for learning powershell. It's something you should really learn anyway, as thats the way that MS is moving with most of their server stuff.
hmmm...I grew out of that position this past year. It was similar in scope to yours. In your position I highly recommend going desktop infrastructure. Studying for it will allow you to at the very least have a clear understanding of the latest technology available to you for architecting desktop solutions. However, it's not enough to know just that. Here's some advice:
check out this book
Learn Windows PowerShell 3 in a Month of Lunches
http://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
Learn Windows PowerShell in a Month of Lunches!
https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
Small world. I'm just starting to get involved with Docker myself, and I use a Mac for all my work. I just grabbed a copy of this book yesterday, and am reading it now. I'm at the point where it goes into detail in installing Docker, and it provides detailed instructions for getting up and running on RHEL/Centos linux, Ubuntu/Debian linux, OS/X, and Windows. The OS/X instructions basically boil down to:
I'm on a 2014 Mackbook with 16GB RAM, so you shouldn't have any issues with it.
I also really like The Docker Book: https://www.amazon.com/Docker-Book-Containerization-new-virtualization-ebook/dp/B00LRROTI4
Paper or Kindle. Worth the $8 for a succinct carrythrough.
I would suggest grabbing his books on MDT. Yes you can find everything you need to know googling, but I always keep his book at my desk as a reference.
https://www.amazon.com/Deployment-Fundamentals-Vol-Deploying-Microsoft-ebook/dp/B01B3A1LIU/ref=sr_1_2?keywords=Johan+Arwidmark+MDT&amp;qid=1568815121&amp;s=digital-text&amp;sr=1-2
I believe it is possible on Amazon: http://www.amazon.com//dp/B01E40YIRM/
I recently picked this one up, it's been pretty good so far, but I'm not too far in yet.
The Art of Monitoring
https://www.amazon.com/dp/B01GU387MS/ref=cm_sw_r_cp_api_j1puzbAZS5BSF
https://www.amazon.ca/Master-PowerShell-tricks-Dave-Kawula-ebook/dp/B01MXZSW7M
https://www.amazon.ca/Master-PowerShell-Tricks-Book-2-ebook/dp/B06WRP1GR3
The Unix and Linux systems administration handbook is also worth it’s money. https://www.amazon.com/UNIX-Linux-System-Administration-Handbook/dp/0131480057
If you are doing more with virtualization and automation have a look at vagrant, it will help you get an environment up and running quicker.
As soon as possible also try out other virtualization stacks as kvm, xen and lxc. These are some of the most used and free ones. VMware is the paid contender in most places.
Last time I remember leafing though this guy it was still very relevant.
It's a lot of basic UNIX/Linux nuts and bolts stuff.
Two books
I recommend this book to everyone I taught Linux to. As some people have already commended on learn to program first. Linux knowledge will come.
http://www.amazon.com/UNIX-Linux-System-Administration-Handbook/dp/0131480057
I hear good comments on this book:
Linux Administration Handbook
or
UNIX and Linux System Administration Handbook
A few of my favorite books I reference and recommend. Just a note, many of these are older and can be purchased used for much less. Also if you can afford it, get a Safari subscription. I use my work Safari subscription but this alone has saved me from my book buying habit. Now I only buy "must have" books. :)
Official Ubuntu Server book - I really like this book as the writing style helped me "get it" with Linux. Kyle Rankin has a very good method of showing you the technology and then a quick run down to get the server working, followed by some admin tips. It's a just scratching the surface type of book but it's enough to get you started. I rarely use Ubuntu now, but this book helped me understand DNS and other topics that were IMHO harder to grasp from other books.
As a bonus, this book also has an entire chapter dedicated to troubleshooting. While this sounds obvious, it's a great read as it talks about dividing the problem, how to approach the facts, etc. Stuff a seasoned admin would know but might be hard to explain to a new admin.
The Linux Command Line: A Complete Introduction - You can read this book for free on the site, but having a paper copy is nice. As mentioned, you should have a very solid understanding of the command line. In my experience, I have seen co-workers struggle with basic shell scripting and even understanding how to make a single line for loop. This book covers the basics, moving to shell scripting and I think it's a good solid reference guide as well.
DevOps Troubleshooting: Linux Server Best Practices - This book is referenced a few times here but I'll throw another comment for it. Another book from Kyle Rankin and has the same straight to the point writing style. It's very quick reference and simple enough that you could give this to a new sysadmin and he or she could get started with some of the basic tools. While the book covers a good selection of basic services and tools, it's easy to get deeper into a chapter and find it's only discussing a handful of troubleshooting steps. The idea with this book is it's a quick reference guide, and if you want to get deeper into troubleshooting or performance, take a look at other books on the market. Either way, this is a great book I keep on my desk or reference through Safari.
UNIX and Linux System Administration Handbook (4th Edition) - Another popular book based on the comments here. This is a pretty big book, thin pages, but it's like a small brick of UNIX/Linux knowledge. While it's starting to get dated, it does give a great reference to many topics in the system administration world. The chapters can dive deep into the subject and offer more than enough information to get started but also understand the technology. The e-mail chapter I thought was great as well as the DNS. I think of this book as a overall guide and if I want to know more, I would read a book just on the subject, that's if I need more information. One thing to point out is this book makes use of different OS's so it's filled with references to Solaris, different UNIX versions, etc. Not a problem but just keep in mind the author may be talking about something outside the scope of vanilla Linux.
Shell Scripting: Expert Recipes for Linux, Bash and more - I found this book to be a good extenstion of the Linux Command Line book, but there are many many other Bash/Shell scripting books out there. The author has many of the topics discussed on his site but the book is a good reference for scripting. I can't stress enough how important shell scripting is. While it's good to know a more formal language like Python/Perl/etc, you are almost certain bash will be on the machine you are working on.
Systems Performance: Enterprise and the Cloud - I can't comment on this book beyond the first chapter, I'm still reading it now but it's reading similar to Brendan Gregg's site, and that's a great thing. If you don't know who this guy is, he's one of the top performance guys in the Solaris and now Linux world. He has some great infographics on his site, which I use for reference.
Use method for Linux
Linux Performance
Example of Linux performance monitoring tools
Hope this helps!
I recently got a job as a junior admin and found Unix and Linux System Administration to be really good. There is also a nice CBT Nuggets series on Linux which is a great overview, especially when watched while reading LPI Linux Certification in a Nutshell as the book complements the videos.
If he already knows another programming language Dive Into Pythion is great for getting up to speed quickly.
https://www.amazon.com/UNIX-Linux-System-Administration-Handbook/dp/0131480057/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1473533950&amp;sr=1-1&amp;keywords=unix+and+linux+handbook
I think you meant this book.
>Information in this book generally applies to all of our example systems unless a
specific attribution is given. Details particular to one system are marked with the
vendor’s logo:
>Ubuntu® 9.10 “Karmic Koala”
>
>openSUSE® 11.2
>
>Red Hat® Enterprise Linux® 5.5
>
>Solaris™ 11 and OpenSolaris™ 2009.06
>
>HP-UX® 11i v3
>
>AIX® 6.1
Instead of buying tons of books, you might want to look at Safari Books. I have the 10-book bookshelf subscription, and it is seriously plenty. Pros, you have instant access to a massive library of tech books. Cons, you are stuck reading on your computer/tablet/phone (I did try reading a few chapters on my Kindle, but the didn't care for the experience).
Books I would suggest:
I'm not a huge fan of training videos, but generally watch recordings from conferences. Although, I do really enjoy the format of vimcasts though.
As for general advise, I did see someone recommend looking for an MSP. If you are looking to be a Linux SysAdmin, I wouldn't recommend this route as you are going to be supporting MS installations. Personally, I started doing help desk for a web company and moved up from there. Also, I worked hard to create my opportunities within each position. You'll have to put yourself out there and be patient, It took me 4 years to earn the official title of Systems Administrator (in a small-ish town). The key to this is finding a good Sr. SysAdmins who are willing to mentor you, and some environments/people aren't conducive to this.
EDIT:
BTW, I have a B.A. in Political Science, so don't be ashamed to rock that Philosophy degree. You will see a lot of posting that are looking for a B.S. in Computer Science/Computer Engineering/Rocket Surgery, but seriously don't even worry about that. Most job postings are a list of nice to haves, and most places really only care that you have a degree.
I've been recruited by and interviewed with some very respectable tech companies. I just usually have to explain how I got into tech with a political science degree. In an interview, having the right attitude and knowing your stuff should say more than your major in college. But, you will also run into elitist douche bags who knock your degree/doubt your abilities because you don't have a B.S. in CS/CE. If you work with these people, your work should speak for itself. Don't try and get caught up into a pissing match with them. If it is an interview (as in someone you might work for), practice interviewing never hurts.
Yeah:
http://www.amazon.com/Linux-System-Administration-Handbook-Edition/dp/0131480057
http://www.amazon.com/Practical-Unix-Internet-Security-3rd/dp/0596003234/ref=sr_1_1?ie=UTF8&amp;qid=1422046190&amp;sr=8-1&amp;keywords=unix+security+concepts
that'll get you started
>nice error message
Oh yeah, reminds me of those gems:
ERROR: Root device mounted successfully, but /sbin/init does not exist.
Bailing out, you are on your own now. Good luck.
Uhhuh. NMI received for unknown reason 20.
Dazed and confused, but trying to continue
Linux is good and informative when something screws up and you can usually debug and fix most issues using a combination of google/documentation/logic/common sense barring incompatible/broken hardware, but the general public doesn't want to study ULAH to be able to use their computer, thus the downvotes.
http://www.amazon.com/Linux-System-Administration-Handbook-Edition/dp/0131480057/ref=wl_it_dp_o_piT1_nS_nC?ie=UTF8&amp;colid=12MNX8P4AJLZY&amp;coliid=I3AKRESKO8PAOP
http://www.amazon.com/Practical-Commands-Editors-Programming-Edition/dp/013308504X/ref=wl_it_dp_o_pdT1_nS_nC?ie=UTF8&amp;colid=12MNX8P4AJLZY&amp;coliid=I2HFBSVXDY6AFF
http://www.amazon.com/RHCSA-Linux-Certification-Study-Edition/dp/0071765654/ref=wl_it_dp_o_piT1_nS_nC?ie=UTF8&amp;colid=12MNX8P4AJLZY&amp;coliid=I2P3ILHN0013L1
http://www.amazon.com/Practice-System-Network-Administration-Edition/dp/0321492668/ref=wl_it_dp_o_pdT1_nS_nC?ie=UTF8&amp;colid=12MNX8P4AJLZY&amp;coliid=I3H6KNRFYQI1QC
http://www.ebook3000.com/upimg/201008/07/07145034267.jpeg
http://www.amazon.com/Linux-System-Administration-Handbook-Edition/dp/0131480057
If you're talking about this book, it's one of my favorites. It's the book I've recommended as a supplement to everyone I've taught thus far.
Find an intern job at a small company that does linux based IT consulting, there are plenty of those. The pay will be shit, the hours will be long but what you'll really looking for is a good tutor. Read http://www.amazon.com/Linux-System-Administration-Handbook-Edition/dp/0131480057
I hear this is great UNIX and Linux System Administration Handbook
Although I can't personally vouch for it.
I would recommend this one
Agreed...these 3 books, in my opinion, are the holy trinity of PowerCLI/vSphere information.
Managing VMware Infrastructure with Windows PowerShell TFM
VMware vSphere PowerCLI Reference: Automating vSphere Administration
Mastering VMware vSphere 5.5
Unix and Linux: Visual QuickStart Guide:
http://www.amazon.co.uk/Unix-Linux-Visual-QuickStart-Guide-ebook/dp/B003FJ64G2/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1427194462&amp;sr=1-1&amp;keywords=visual+quickstart+linux
Finish that one, then:
Linux in a Nutshell:
http://www.amazon.co.uk/gp/product/0596154488?*Version*=1&amp;*entries*=0
Senior Level Software Engineer Reading List
Read This First
Fundamentals
Development Theory
Philosophy of Programming
Mentality
Software Engineering Skill Sets
Design
History
Specialist Skills
DevOps Reading List
I have some tutorials for Chef beginners on my channel: https://www.youtube.com/watch?v=LrUO6yd0zos&amp;list=PLOv2dFgD2TFb4-u5FrfRVm8ot03MP8lq7, also I would recommend the "Learning Chef" book: https://www.amazon.com/Learning-Chef-Configuration-Management-Automation/dp/1491944935.
Only about half of the programming industry has a degree directly related to IT or programming. Most have college degrees in something, but in the end the most valuable thing to someone hiring in IT is skills. Once you have the skills, you just need to get noticed.
I would recommend you learn Linux administration and web development. (Or you could learn Windows too - I don't know Windows well so I can't comment on it. Linux and Mac OS X are somewhat more popular in the programming world, but if you're looking to get into IT, not programming, then Windows administration might be more common.)
A good book to learn Linux is "The Linux Command Line".
https://www.amazon.com/Linux-Command-Line-Complete-Introduction/dp/1593273894/
For learning web development, you could read "
Learning PHP, MySQL & JavaScript: With jQuery, CSS & HTML5"
https://www.amazon.com/Learning-PHP-MySQL-JavaScript-jQuery/dp/1491978910/
Codecademy would also really help you in here:
https://www.codecademy.com/
If you have any questions, feel free to PM me and I'll do my best to respond.
"IT skills" is pretty broad. What is your IT degree- MIS, Cyber Security, Information Sciences, etc? The answer will really depend on what your degree is in and what your interests are. For example, I could tell you to study programming, but if your degree and interests align more with Cyber Security policy implementation, that might not be the best recommendation for you.
As somebody who has been on a few hiring committees, I'd say to work on your soft skills. In many cases, these are more important than technical capabilities. Specific soft skills I look for in new hires: organization, attention to detail, solid time management, communication, and self-sufficiency yet a team player. For us, we will take the candidate who doesn't know everything but has a good attitude and willingness to learn over the person who thinks they know everything and has a horrible attitude.
General technical skills you should toy around with: know your way around Active Directory in Windows, learn how to view event logs on a system (for Windows, hit your Start key and type in Computer Management), NIST Risk Management Framework, learn the parts of a computer and how to set them up and tear them apart. Learning Linux is also good- what I did to understand Linux better was purchase a Raspberry Pi and set it up to run Raspbian OS and RetroPie (to turn the Pi into a retro gaming machine). I also purchased The Linux Command Line and practice the commands from the book in the Raspbian terminal.
Also, before graduation, try to get some kind of internship, even if your major doesn't require one for graduation. It's a great opportunity for you to build hands-on experience and work in an IT environment doing real work. Oftentimes, you will learn something new in your internship that is not taught in school, and the experience might broaden your interests a bit (not to mention you may get a job offer or at least great references because of your internship!). If you need assistance in trying to figure out how to land a good internship, just let me know.
For Linux: The Linux Command Line: A Complete Introduction
For Python: Automate the Boring Stuff with Python: Practical Programming for Total Beginners
For R: The Book of R: A First Course in Programming and Statistics
These are all from No Starch Press, and I really like how they all function as complete introductions to their subjects. I've tried a number of programming books, but these have remained my go-to books for recommendations due to how well they build up basic principals for each concept or language. That said, I feel as though The Book of R is the weakest of the three, and maybe look into other recommendations for R if you get more replies.
EDIT:
Just realized that you asked for courses, not sources, my bad. Either way, I do encourage you to consider the above as alternatives to learning these concepts from online courses, as I've found them to be just as good if not better than some online courses I've seen.
http://www.amazon.com/The-Linux-Command-Line-Introduction/dp/1593273894
I bought and read this book as a before taking OSCP, and it's been one of the most useful books I've read.
Good information! I also have a wonderful 1200 page book I just bought to start reading too!
One book that helped me get the meta was the unix and linux system administration bible seriously . Very good overview of the relevant technology and a lot on how the admin should approach things and think about things. From the software, to the hardware, to politics and policies
>There is quite literally 0 things my Mac can do competently that my Windows computer cannot, but there are things that my Windows computer can do that my mac absolutely cannot.
https://www.amazon.com/UNIX-Linux-System-Administration-Handbook/dp/0131480057
Also OSX is unix based not linux based.
These may help.
Large List of Getting Started Links
Learning the Shell
Linux4Noobs
Survival guide for Unix newbies
edX Introduction to Linux
O'Reilly's Running Linux
Unix and Linux System Administration Handbook
How Do I Learn to be a Linux Sysadmin
edit: formatting
Agree with the comments posted by others. I would suggest the book bellow, which will give you a really nice all round grounding into all thinks *nix.
Gets the fundamentals and you can tackle any system from a good level of base knowledge. Also a great bible for the shelf.
http://www.amazon.co.uk/Unix-Linux-System-Administration-Handbook/dp/0131480057/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1314652961&amp;sr=1-1
Es gibt ein Buch, dass man sich mal besorgen kann:
Unix and Linux System Administration Handbook
Das ist praktisch ein Standardwerk. Teilweise etwas veraltet, aber in praktisch allen Grundsätzen korrekt. Das Buch findet man häufig in den Regalen von alten Graubarten.
Wenn du ein wenig suchst, findest du bestimmt irgendwo ein pdf oder epub. http://www.admin.com ist die offizielle Seite zum Buch, aber sie scheint down zu sein.
Abgesehen davon: Lerne Google. Stackexchange. Lerne durch machen. Mach kaputt, am besten in einer VM mit lecker Snapshots.
I few years ago my youngest brother got his first IT job, and he fell right into an admin role. He too is very sharp. I bought him the following books as a gift to get him started...
The Practice of System and Network Administration, SecondEdition - a few years old but has lots of fundamentals in there, still well worth reading. Hoping for a third edition someday.
Tom Limoncelli's Time Management for System Administrators
I see others have recommended this great book, and I wholehartedly agree: UNIX and Linux System Adminstration, 4th Edition. I was sad when Evi's ship was lost at sea last year. :-( You could tell she loved sailing old wooden ships... just look at the cover. A great loss; she did so much for our community.
Additionally, I will second or third anyone recommending works by Brendan Gregg. I got the Kindle version of Brendan's Systems Performance: Enterprise and the Cloud. I really like this book. It was written to be a good foundational book for the next several years. I am planning to get a hard copy version too. While you're at it, check out these links...
Brendan Gregg:
http://www.brendangregg.com/
http://www.brendangregg.com/linuxperf.html
https://github.com/brendangregg/perf-tools
http://lwn.net/Articles/608497/
http://www.brendangregg.com/USEmethod/use-linux.html
Tom Limoncelli:
http://everythingsysadmin.com/
Introduce him not only to books, but online resources and communities like /r/linuxadmin :-)
Cheers!
The Linux Administration handbook. It's simply fantastic. https://www.amazon.com/UNIX-Linux-System-Administration-Handbook/dp/0131480057/
Another book, the one to read for UNIX/Linux system administration
http://www.amazon.com/Linux-System-Administration-Handbook-Edition/dp/0131480057
The sidebar,
Wiki http://www.reddit.com/r/sysadmin/wiki
and FAQ http://www.reddit.com/r/sysadmin/wiki/faq
Any opinions on this book?
https://www.amazon.com/UNIX-Linux-System-Administration-Handbook/dp/0131480057
Here is a start. It is a big book and has been sitting on my shelf unread since I bought it, but it gets good reviews.
If you have a good sized library, they may have this book.
In totality it of course isn't about the n10-006. But the networking chapters took me that extra mile to pass the exam. It walks you through how to read a routing table, provides enough history (though not too much) to remember features of networking technologies via developmental necessity through time.
While it is still very much overview, the way it was written truly offered something more than all the usual exam prep.
Also, I found messer's study group videos invaluable. Many of them you can listen to on drives, as I did. Though some do require you to look at an image, he is kind enough to read off questions and the possible answers before diving into the solution. Also, subnetting in your head is good for you.
Best of luck.
The Linux Bible looks good. I would highly recommend the Linux System Administration Handbook as a wonderful resource as well.
http://www.amazon.com/UNIX-Linux-System-Administration-Handbook/dp/0131480057/ref=sr_1_2?ie=UTF8&amp;qid=1422411384&amp;sr=8-2&amp;keywords=Linux+Administration Yes, its older but the theories and practices are the same, even if the details have changed some. Plus tools like vmstat, iostat, top and du are still the same years later.
>Any good books you would recommend?
I never really read any technical books on Linux. Most of my training on Linux has come from working for various vendors and institutions as well as a fair bit of hands on experience (both on the job and off in my lab at home).
I've seen the UNIX and Linux System Administration Handbook mentioned in this subreddit a few times so I assume it's gotta be decent. I remember reading the sample of it somewhere and confirming that what was inside was exactly what I would expect from such a book.
If you're looking for online help then I can help you a bit more with that. First off, the Linux From Scratch project is really time consuming, tedious, and probably over your head (it's still over mine, don't get discouraged). I went through the project once and didn't even come close to finishing it. Towards the end of my attempt I was really just skipping large sections of text and going through the motions of compiling things. However, I still learned some good points about the inner workings of a GNU/Linux system and recommend the project to all people who want an advanced understanding of it; Even if you abandon your lab of it or fail it miserably, I'd wager you'd still walk away with something of value.
The Arch Linux Wiki, or "ArchWiki" as it's referred to on their website, is a surprisingly informative community information repository. It has its faults: You won't find everything you're looking for, some tutorials are little more than hastily pasted step by step guides with absolutely no explanation, and as expected it's written for the Arch Linux distribution. However the utilities and programs Arch uses are the same that every other Linux distribution uses and, much like the Linux From Scratch project, visiting and poking around a bit my steer you on the way to a stronger understanding.
Finally, The Linux Documentation Project is a good bookmark to have (though I don't go there much any more).
First :
How Linux Works: What Every Superuser Should Know
http://www.amazon.com/How-Linux-Works-Superuser-Should/dp/1593270356
Second:
UNIX and Linux System Administration Handbook
http://www.amazon.com/dp/0131480057/ref=rdr_ext_tmb
I was recommended this book, and in my opinion it's quite good. I could link you to a torrent full of every book you could possibly need for stuff like this, but PM me though.
http://www.amazon.com/Linux-System-Administration-Handbook-Edition/dp/0131480057 <-- Great!
Might be good to keep this book on hand.
http://www.amazon.com/Linux-System-Administration-Handbook-Edition/dp/0131480057 is a great resource for picking up the basics.
If you're looking for more of a learning book I'd go for the Unix and Linux System Administration Handbook 4th Edition. Covers most of the basic to advanced stuff and crosses distro's quite nicely.
Does it need to be some kind of formal education or can it be self-taught?
Formal:
http://www.lpi.org/
Informal:
http://www.vtc.com/
http://lowfatlinux.com/
http://www.amazon.com/Linux-System-Administration-Handbook-Edition/dp/0131480057/ref=sr_1_4?s=books&amp;ie=UTF8&amp;qid=1335014638&amp;sr=1-4
http://www.amazon.com/Linux-Command-Scripting-Second-Edition/dp/1118004426/ref=sr_1_6?s=books&amp;ie=UTF8&amp;qid=1335014638&amp;sr=1-6
Thanks for your comments. For now, I will go with this: UNIX and Linux System Administration Handbook, 4th Edition.
Here are a couple books I have. The author of the first one was a teacher of mine a while back. She really knows her stuff. That book in particular is good for explaining all the protocols involved and how the packets are put together.
http://www.amazon.com/TCP-Illustrated-Protocols-Addison-Wesley-Professional/dp/0321336313/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1382132562&amp;sr=1-1&amp;keywords=tcp+ip+illustrated
This second book is more general networking stuff. Still some really good reference material.
http://www.amazon.com/Illustrated-Network-Modern-Kaufmann-Networking/dp/0123745411/ref=sr_1_7?s=books&amp;ie=UTF8&amp;qid=1382132562&amp;sr=1-7&amp;keywords=tcp+ip+illustrated
And for operating system basics, this is a good all-rounder:
http://www.amazon.com/Operating-Concepts-Seventh-Abraham-Silberschatz/dp/0471694665/ref=sr_1_4?s=books&amp;ie=UTF8&amp;qid=1382132818&amp;sr=1-4&amp;keywords=operating+system+concepts
And for *nix because it is important and nobody thinks about it:
http://www.amazon.com/UNIX-Linux-System-Administration-Handbook/dp/0131480057/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1382132917&amp;sr=1-1&amp;keywords=Linux+System+administration
No one has mentioned this (and it's predecessors) so far???
Unix and Linux administration handbook.
~]$ uptime
12:03:29 up 441 days, 20:31, 2 users, load average: 0.52, 0.37, 0.30
This is a huge advantage in terms of SLA's.
Cost of ownership and operation
Web servers, databases, vpn solutions, proxy servers, analytics, sftp servers, esxi whiteboxes, so on and so forth.
There are many sites out there that can provide information.
I still use this on occasion: Linux SysAdmin Google to find the pdf.
Many HowTo websites out there too. Pick something and just build it out.
As rdkerns stated, linux admins do make more $$$
Best thing there is to do is learn the basics of the operating system and how everything works first, that is if you really want to know how everything works and have a chance of doing something in linux.
Check out http://www.amazon.com/Linux-System-Administration-Handbook-Edition/dp/0131480057
I used it when i got to really learn linux and it really helped me understand exactly what everything was.
I can do all that now I think...In fact I'm going to build some useful functions using some of those requirements as those building blocks will be useful for many scripts
I found a good book too
http://www.amazon.co.uk/VMware-VSphere-PowerCLI-Reference-Administration/dp/0470890797/
You should put those in the sidebar.
Here are some useful books:
VMware vSphere PowerCLI Reference: Automating vSphere Administration
Managing VMware Infrastructure with Windows PowerShell TFM
Useful examples for using PowerCLI with vCloud Director:
Geek after five
Can you program? If not, learn it! Start out with an easy to learn programming language like Pascal or Java and move on to the more complex C++ and eventually Assembler. Once you've understood the basics of programming (variables, loops, functions etc.) it is a matter of 2 weeks to learn the syntax of a new language.
Get familiar with Linux/UNIX. Learn how user rights work, how the run levels and shell scripts work. Read a lot of code and man pages. The definition of a hack is making a system do something it is not supposed to do. So you have to find a weak point by reverse engineering. Sometimes programmers make mistakes in their code, like a wrong variable type you can then exploit. Learn how a buffer overflow works http://en.wikipedia.org/wiki/Buffer_overflow Also I'd recommend these books: http://www.amazon.com/The-Art-Intrusion-Intruders-Deceivers/dp/0471782661 http://www.amazon.com/Linux-Nutshell-Ellen-Siever/dp/0596154488/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1345626761&amp;sr=1-1&amp;keywords=o%27reilly+linux http://www.amazon.com/Programming-Absolute-Beginner-Experience-Technology/dp/1598633740/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1345626801&amp;sr=1-1&amp;keywords=learn+programming Have fun and good luck!
If I had known about the existence of these two books (or rather, their earlier editions) a decade ago, I would have been well on my way to being a better Windows programmer. These two are MUST READS for win32 programming (if you don't want to use .NET framework or other abstraction layers.)
Windows Internals, by Russinovich and Solomon
Windows via C/C++, by Richter and Nasarre
Again, if you want to do non-.NET Windows programming, these books are pure gold. (The older books by Charles Petzold are kind of getting out of date, but were good too.) Also, check out Raymond Chen's blog The Old New Thing for tons of cool bits of Windows dev history
EDIT: Also a must read: Advanced Windows Debugging this is a must if you want to learn how to properly debug "unmanaged" (i.e. non-.NET) applications. Also a pretty good intro to reverse engineering or cracking apps on Windows.
Such a good book. Also I've gotten good mileage out of Windows Powershell 3.0 Step by Step (was handed out at a workshop I attended)
https://www.amazon.com/Windows-PowerShell-3-0-Step-Developer/dp/0735663394
Decent.
C, C++, Assembly are best suited for the purpose. For managed code rootktis part, learn Java and/or .NET.
For Linux programming, have a look at (http://www.amazon.com/Linux-Programming-Interface-System-Handbook/dp/1593272200/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1450511098&amp;sr=1-1&amp;keywords=LINUX+Programming). In fact, this is a must read book IMHO. Apart from this, you can try these too:
EDIT: Formatting
http://www.amazon.com/Linux-System-Programming-Talking-Directly/dp/1449339530/
http://www.amazon.com/Beginning-Linux-Programming-Neil-Matthew/dp/0470147628/
Make them read this. Just got finished, next time I need to sell the idea of good devops i'm going to be getting management to read this book rather then trying to explain it myself.
Effective DevOps
I like all the O'reilly books really.
Edit: Someone just posted that is the current Humble Bundle for ebooks get it for $1
I've read all the books for chef that are currently out, and I think Chef Infrastructure Automation Cookbook is the best all around book right now.
I would also keep an eye out for Learning Chef: A Configuration Management and Automation Framework as well. It's not out yet, but I suspect it would be a good one.
If you haven't seen it yet, also check out Learn Chef as a good free resource.
I'm mostly interested in large upticks of spam volume so I can take early action to mitigate any collateral damage we might incur like blacklisting. Additionally, if there is a sudden surge of emails with our domain aimed at us I can assume someone is trying to start a campaign against our organization. I'm basically developing another play for the playbook. Which, BTW Crafting the InfoSec Playbook is one of the better things I've read in a while. Definitely some review (especially for a fellow CISSP) but defiantly some interesting topics and I generally like their approach. You may want to check it out.
A lot of CCNA folks I know are having a tougher time on the job market. The general direction of IT infrastructure is towards the Linux end of things, especially with cloud data. I used this book to understand Linux.
https://www.amazon.com/Linux-Command-Line-Complete-Introduction/dp/1593273894
https://www.amazon.com.br/Linux-Command-Line-Complete-Introduction/dp/1593273894
Here's one of the best books that I've used. Immersing yourself in it and using it daily will go a very long way though.
http://www.amazon.com/The-Linux-Command-Line-Introduction/dp/1593273894
http://www.amazon.com/The-Linux-Command-Line-Introduction/dp/1593273894/ref=pd_sim_b_1
This is an excellent read if you are brand new to the command line.
This book is freakin awesome, i've used it and it's an amazing start and teaches you all sorts of stuff. I don't know how much information you actually know about the command line but this has helped me a lot. This book I have heard was pretty good but I unfortunatly haven't made my way to reading it. besides those two and actually installing and forcing yourself to use it everday there isn't much else you can do.
When I first worked my first full time job, I couldn't understand for the life of me why anyone would use Terminal when SourceTree can get it all done, visually, with a modern GUI that's easy to understand.
Unfortunately, there was a time where SourceTree wasn't accessing my SSH tokens or something properly and I couldn't push. My senior told me, "Just use terminal" and I froze.
Terminal was terrifying. He drove and 3 minutes later we were back in business. He gave me this book:
The Linux Command Line: A Complete Introduction and told me to finish a chapter at least every week.
Later I learned about BashIt and themes and now I live in Terminal. You can do anything from Terminal. You can open up a Python interpreter, throw in some list values and decide where you're going to eat lunch and who's going to drive using a shuffle and random. You can scrape your entire developer directory for files that have the word Debug in them, even limited to file extensions like
.swift
or.py
, using GREP.You can quickly edit a file on command using Vim, you can cat your README.md without having to switch tabs to your Github tab on your browser or even inside of the Finder folder.
There's so much you can do with Terminal.
I would recommend getting a few "Linux" for dummies books. They provide a really good base of knowledge.
This is one I've read before, highly recommend: https://www.amazon.com/Linux-Command-Line-Complete-Introduction/dp/1593273894
> I really would love to hear if anyone has any thoughts on whether spending the time learning VIM is a good idea in this context.
When you ssh into a server and try to edit a small script, what will you do? Install a desktop environment to open up beloved VsCode or fire up trusty old Vim which is installed by default? Knowing basic Vim commands for text editing is a must have for any serious developer (you don't have to be expert, you just have to know enough to be comfortable with using it for small editing, for anything else use your main editor - as mentioned in the comments VsCode + Vim plugin is pretty awesome).
For learning bash I would recommend you The Linux Command Line
Read Books: I recommend this, this and this.
Load it onto an old computer and play with it.
Checkout this book: How Linux Works: What Every Superuser Should Know https://www.amazon.com/dp/1593275676/ref=cm_sw_r_cp_apa_fQ1MybTDN9VRP
Checkout this book: The Linux Command Line: A Complete Introduction https://www.amazon.com/dp/1593273894/ref=cm_sw_r_cp_apa_pR1MybNQRR2FK
ss64
NixCraft
[LinuxCommand.org]
(http://linuxcommand.org/)
[The Linux Command Line: A Complete Introduction]
(http://www.amazon.com/The-Linux-Command-Line-Introduction/dp/1593273894/)
Also William E. Shotts Jr.'s book is good too.
Hey, Scripting Guy! A Powershell genius, Ed Wilson. I will always be greatful of his wonderful Powershell examples.
edit: fixed links.
Fair point, but it's not the window manager that keeps me away from arch, I just don't want to have to constantly be using the command line with a touchscreen keyboard, and my experience with Arch is that it's very command-line dependent and I'm just going to keep installing stuff that'll bring it closer to mint than it would be arch.
Plus, in between my calc, physics, and engineering classes, I don't really have the time to be learning a brand new operating system. But I did buy this book and when I have a little time I'll sit down for a few days and give Arch a good try.
I uses https://www.amazon.com/Linux-Command-Line-Complete-Introduction/dp/1593273894 when i first started learning Linux
I would try CLI the hard way first. Pretty good intro to command line. Then I would read The Linux Command Line or study for Linux+.
If you want to get into sys admin, or a linux job never hurts to go Linux all the way. I would say Linux+, Network+, RHCSA, and CCNA can help you go a long way. If you like Linux getting RHCE will open more doors. You don't necessarily need to get all of these certs but it helps your knowledge and what people will quiz you on the phone. At one point I was doing about 2-3 phone interviews a week that would just ask about 20-30 random Network, Linux, Windows, and basic trouble shooting questions.
Any opinions on this book. I actually have it but have not had time for it
OP Linux Command Line book, is an excellent place to start.
Also, install homebrew for package management. Mac uses its own version of bash with some stuff slightly different than most linux distros, but they are pretty much the same.
I was always pretty competent when it comes to windows, however I was a complete newb with Linux. So I read this book, The Linux Command Line and it answered the basics for me. It gave me enough knowledge to navigate with SSH and set up my SFTP server. Also helped understand what i was doing, instead of just reading mini tutorials here and there...Try it out.
Here is the mobile version of your link
The Linux Command Line Its available for free (pdf on that site or here directly).
Also see the amazon reviews of it.
Many people may disagree with me, but as a Linux user on the younger side of the spectrum, I have to say there was one thing that really worked for me to finally switch for good- books.
There's tons of wikis and forums and of course Reddit to ask questions, but it is hard to get good answers. You may end up paying for books (unless you look on the internet for books) but it doesn't beat having a hard copy in front of you. It boils down to a time vs money trade off. The only wiki I would follow is one directly from the developers that act as documentation, not a community wiki. Also worth nothing certain wikis are more tied to linux and the kernel than others, meaning some are comparable/interchangable with the distro you may be using. Still, a novice would not easily put this together.
Forums are also useless unless you have the configuration mentioned in the post or that forum curates tutorials from a specific build they showcase and you as a user decided to build your system to their specifications. There's way too many variables trying to follow online guides, some of which may be out of date.
This i've realized is very true with things like Iommu grouping and PCI Passthrough for kernel based virtual machines. At that point you start modifying in your root directory, things like your kernel booting parameters and what drivers or hardware you're gonna bind or unbind from your system. While that does boil down to having the right hardware, you have to know what you're digging into your kernel for if you dont follow a guide with the same exact parts that are being passthrough or the cpus or chipsets are different.
Books are especially handy when you have a borked system, like you're in a bash prompt or an initramfs prompt or grub and need to get into a bootable part of the system. Linux takes practice. Sometimes its easier to page through a book than to search through forums.
Another thing about being an intermediate or expert Linux user is that you don't care much about distros or what other users or communities do. It wont matter as under the hood it's all the same, spare the desktop and the package managers. Once you're out of that mentality you just care about getting whatever you want done. I'm not one of those guys that's super gung-ho FOSS and open source. I just use what gets the job done. Also from a security perspective, yes Linux is in theory MORE secure but anything can be hardened or left vulnerable. It's more configuration tied than many uses and forums or threads lead it on to be.
My workload involves talking to servers and quite a bit of programming and scripting, in a variety of capacities. That's what led me to linux over the competitors, but I'm not so prudent to never ever want to use the competitor again or have a computer with it. With understanding Linux more, I use it more as a tool than to be part of the philosophy or community, though that enthusiasm pushes for new developments in the kernel.
I'm assuming you're a novice but comfortable enough in linux to get through certain things:
In any computer related thing, always TEST a deployment or feature first- From your linux system, use KVM or Virtualbox/vmware to spin up a few linux VMs, could even be a copy of your current image. This way any tweaks or things you want to test or try out is in an environment you can start over in.
The quickest way to "intermediate-expert" Linux IMO is learning system administration.
My go to book for this is "The Unix and Linux System Administration Handbook 5th edition"
https://www.amazon.com/UNIX-Linux-System-Administration-Handbook/dp/0134277554/ref=sr_1_1?keywords=The+Unix+and+Linux+System+Administration+Handbook+5th+edition&qid=1564448656&s=books&sr=1-1
This edition is updated recently to cover newer kernel features such as could environments and virtualization. This book also helps when learning BSD based stuff such as MacOS or FreeBSD.
Another good read for a "quick and dirty" understanding of Linux is "Linux Basics for Hackers" It does focus on a very niche distro and talks about tools that are not on all Linux systems BUT it does a good concise overview of intermediate things related to Linux (despite being called a beginners book).
https://www.amazon.com/Linux-Basics-Hackers-Networking-Scripting/dp/1593278551/ref=sr_1_3?crid=396AV036T1Y0Q&keywords=linux+basics+for+hackers&qid=1564448845&s=books&sprefix=linux+bas%2Cstripbooks%2C119&sr=1-3
There's also "How Linux works" but I cannot vouch for this book from personal use, I see it posted across various threads often. Never read this particular one myself.
https://www.amazon.com/How-Linux-Works-2nd-Superuser/dp/1593275676/ref=pd_bxgy_14_img_2/137-6604082-4373447?_encoding=UTF8&pd_rd_i=1593275676&pd_rd_r=feffef24-d3c3-400d-a807-24d8fa39cd1e&pd_rd_w=8GX0o&pd_rd_wg=3AMRB&pf_rd_p=a2006322-0bc0-4db9-a08e-d168c18ce6f0&pf_rd_r=WBQKPADCVSABMCMSRRA1&psc=1&refRID=WBQKPADCVSABMCMSRRA1
&#x200B;
If you want a more programming oriented approach, if you're confortable with the C language, then you can always look at these books:
The Linux Programming Interface
https://www.amazon.com/Linux-Programming-Interface-System-Handbook/dp/1593272200/ref=zg_bs_3866_1?_encoding=UTF8&psc=1&refRID=5YN3316W22YQ4TSMM967
Unix Network Programming VOL 1.
https://www.amazon.com/Unix-Network-Programming-Sockets-Networking/dp/0131411551/ref=sr_1_1?keywords=Unix+Network+Programming+VOL+1.&qid=1564448362&s=books&sr=1-1
Advanced Programming in the Unix Environment
https://www.amazon.com/Advanced-Programming-UNIX-Environment-3rd/dp/0321637739/ref=zg_bs_3866_2?_encoding=UTF8&psc=1&refRID=5YN3316W22YQ4TSMM967
These books would take you to understanding the kernel level processes and make your own and modify your own system.
As many have mentioned, you can go into these things with "Linux from scratch" but it's also feasible to do Linux from scratch by copy/pasting commands. Unless you tinker and fail at certain things (hence do it on a vm before doing it to the main system) you won't learn properly. I think the sysadmin approach is "safer" of the two options but to each their own.
also if you determined to use Linux/Ubuntu w/e I highly recommend the following references, they have been invaluable to me.
If you'd like further reading on this topic, I enjoyed reading How Linux Works: What Every Superuser Should Know. I didn't really understand what a kernel is until I read that.
TL;dr sorry. +1 chillysurfer: "How Linux Works" 2nd ed. (yes, ok for a HiIQ_n00b)
http://amazon.com/How-Linux-Works-Superuser-Should/dp/1593275676
Please @JAU, let me know what you think of it (via Amazon 'Look Inside' or AllITeBooks etc)
why are you showing me this?
You have a shell on a minimal installation of linux. congratulations. do you even know how to use the bash shell?
https://www.amazon.com/How-Linux-Works-Superuser-Should/dp/1593275676
How Linux Works, 2nd Edition: What Every Superuser Should Know https://www.amazon.com/dp/1593275676/ref=cm_sw_r_cp_api_i_vm5YCb4B6GH8X
You learn linux by using it, and trial and error. No joke. Just dive in when it comes to Linux. Get a book like http://www.amazon.com/How-Linux-Works-Superuser-Should/dp/1593275676/ref=sr_1_4?s=books&amp;ie=UTF8&amp;qid=1418113534&amp;sr=1-4
Use it as a reference at first, or even start reading if you like. Then whenver you have the opportunity, take the hard road and try to accomplish your task using command line tools.
As far as networking, check out securitytube as someone mentioned, maybe go for network+ to get the basics.
You may want to read the more in-depth answer I gave a similar question here: http://www.reddit.com/r/hacking/comments/2oljm2/looking_for_a_good_starting_point/cmokwtg
Good luck!
I like this book as a starting point.
How Linux Works, 2nd Edition: What Every Superuser Should Know
https://www.amazon.com/dp/1593275676/ref=cm_sw_r_sms_apa_i_GWiNDb5HH68D6
This book https://www.amazon.com/How-Linux-Works-2nd-Superuser/dp/1593275676 seems pretty good.
Very much not a recipe book, but I think a good fit for deeper understanding: How Linux Works
Go to https://linuxjourney.com/
or read this book
And in case you stumble on the logic from the command line, using pipes, grep, that sort of stuff. I was always recommended: this paid book but you can find some used much cheaper
Thank you very much everyone for all your answers!
I really appreciate!
I begin with
https://app.pluralsight.com/courses/powershell-v3-essentials-it-pt1
or
https://www.amazon.ca/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
Thank you
I found this book to be a quick introduction into Powershell. Its a great resource as well. Others have posted materials for using python in windows effectively, but what I have found is that the simplicity messing with windows using powershell will always trump other languages.
http://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1410367014&amp;sr=1-1&amp;keywords=learn+powershell+in+a+month+of+lunches
A lot has come from on the job experience, but it also comes from setting goals for myself.
In December I knew nothing about Windows PowerShell, so I started researching. I bought Learn Windows PowerShell 3 in a Month of Lunches. I used that to start making some automated AD reports.
My other goals for this year are Security+ by June 31st. Then read Learn Windows PowerShell Toolmaking in a Month of Lunches in July. And finally get Linux+ by December 31st.
This is my most aggressive year, mainly because I am starting to feel stagnant in my current job.
http://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
STLPSUG: May 19, 2016
Presentation: PowerShell Functions
Micah Battin, PowerShell Functions
A link to Micah's Demo notes/scripts will be put up ASAP
Links
Powershell in a Month of Lunches - https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080/ref=sr_1_1?s=books&ie=UTF8&qid=1467232090&sr=1-1&keywords=learn+powershell+in+a+month+of+lunches
Then, when you get the hang of it, Powershell In Depth https://www.amazon.com/PowerShell-Depth-Don-Jones/dp/1617292184/ref=sr_1_1?s=books&ie=UTF8&qid=1467232074&sr=1-1&keywords=powershell+in+depth
Outside of that, check out /r/PowerShell and work through the questions that people ask. No better way to learn than practice.
https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
"Learn PowerShell in a month of Lunches" by Don Jones and Jeffrey D. Hicks.
https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1466023782&amp;sr=1-1&amp;keywords=learn+powershell+in+a+month+of+lunches
I highly recommend you check out this book:
https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
/r/powershell is a good place to start.
This book is also commonly recommended as a good starting point as well if you prefer books.
Powershell in a month of lunches
Do a quick search here, been asked several times before. So there should be a lot of recommendations.
For anyone who feels they don't have enough time to learn powershell: https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080 I only made it half-way through, and still got what I needed to. (I'm not harping on you to learn powershell, just providing the info for anyone interested)
There's a bunch of good resources out there. My favorite book is probably PowerShell 3 in a Month of Lunches by Don Jones. Other than that there's the Hey, Scripting Guy! blog which got tons of useful bits and pieces. Last but not least, CBT Nuggets.
If you are in a lower cost-of-living area then that is probably ok. What you describe seems like mostly level1/2 stuff. My jr sysadmin makes more than that but I think the help desk people make less, but those are the level1 hd people. I don't know how much our level 2 people make (I'm not their manager).
As for my own experience, I made about that much 20 years ago as a level 2 help desk/jr sysadmin at a large company in contract role. I worked a lot on learning everything I could that would help. The more valuable you make yourself to your company the more you'll make, over time and if they have a good management team. This is why switching jobs every few years can be so fruitful, big jumps in pay or smaller jumps with a bigger title and then growth at the new company.
&#x200B;
Read about time management (https://www.usenix.org/legacy/event/lisa06/tech/slides/limoncelli_time.pdf), script everything you can (https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080), and document everything you can (a wiki or runbook or such).
Learning Powershell (at the very least) is twofold: on one hand, a person needs to understand how scripts are structured and designed. On the other, a person need the vocabulary and knowledge of commands. Neither of these is really something anyone new is gonna just absorb over lunch. But I would say that you can help yourself with this- although it's definitely not going to help you right away with this issue, it makes things easier in the long run:
http://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
I don't think anyone is going to do this work for you but this is the best thing for you; today you are going to learn powershell and it is going to own your soul.
How are your powershell skills? If you haven't yet read anything about Powershell, here are your starting points:
https://www.veeam.com/kb1523
http://itstuffilearnedtoday.blogspot.ca/2012/09/calling-veeam-jobs-via-powershell-script.html
http://helpcenter.veeam.com/backup/80/powershell/cmdlets.html
My recommendation would be to write as much as your script that you can make work, even if it is "Hey LOOK AT THIS HOLY CRAP I CAN PULL THE JOB SUCCESS AND FAILURES FROM VEEAM" and then post your attempt to r/powershell with questions on what you need to finish things up.
I am really excited for you - I was posting these kinds of questions before someone told me that I should just learn how to do it myself. Probably the most valuable skill I have picked up in the last 6 years is Powershell.
Cheers.
https://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
The author's are Don Jones and Jeffery Hicks. Don Jones is an absolute Wizard, and very active on Powershell.org. My recommendation is Jones' ultimate course on cbtnuggets. It's expensive, but holy shit is it some powershe I mean powerful content
If you're involved in windows admin work at all, it's in your best interest to learn powershell. It is so much more robust and...well, powerful than any GUI you use, especially for queries and reporting. I have this book, i'd recommend it highly, about halfway done so far
Excellent book on the topic if you want to learn: http://www.amazon.com/Learn-Windows-PowerShell-Month-Lunches/dp/1617291080
Also, the hey scripting guy blog: http://blogs.technet.com/b/heyscriptingguy/
I'd really recommend these two books for high-level administration of ZFS:
https://www.amazon.com/dp/1642350001/
https://www.amazon.com/dp/164235001X/
And the other one I linked has one chapter that gets into the low-level workings of ZFS:
https://www.amazon.com/dp/0321968972/
(The Docker Book) is amazing!
https://www.amazon.com/Docker-Book-Containerization-new-virtualization-ebook/dp/B00LRROTI4/ref=sr_1_1?ie=UTF8&amp;qid=1469811388&amp;sr=8-1&amp;keywords=the+docker+book#nav-subnav
This is the book I used to get started with MDT. It's very helpful and easy to follow.
https://www.amazon.com/Deployment-Fundamentals-Vol-Deploying-Microsoft-ebook/dp/B01B3A1LIU
Probably not what you are looking for but if you need to catch up on PowerShell 3 at some point, Learn Windows PowerShell 3 in a Month of Lunches is a quick,easy read. Free ebook with purchase of the paperback, and the review labs can be answered fairly easily without a pc.
http://www.amazon.com/UNIX-Linux-System-Administration-Handbook/dp/0131480057
Chapter 2 is about scripting and the shell. Focusing on bash/perl/python.
First: Calm down. They also want you to work for them. It's not like they just have an endless pool of job candidates.
Technical skills are obviously important but other personal traits are much more important. Are you willing to learn? Do you like working in teams? Stuff like that. Technical skills can often be obtained more easily than personal traits. Be confident. If they ask you many technical questions and you can't answer many of them: Don't despair. Be honest about what you know and don't know. Be prepared to present in what particular technical things you have some experience.
If you want to read on Linux and Unix system administration, I recommend this book: https://www.amazon.de/Unix-Linux-System-Administration-Handbook/dp/0131480057
(DM me for tips on how to get it)
This is a wonderful beginner's linux book. I loved it.
http://www.amazon.com/The-Linux-Command-Line-Introduction/dp/1593273894
Sounds like your the Dev side of DevOps. I'm going to save you having to go buy a mac or run Linux as your base OS.
First go download Virtual Box
Next grab the latest version of Vagrant
Install both and sign up for a free account on Vagrant Cloud
Grab yourself cygwin/mysysgit or similar. You are going to need git eventually and you need an openssh client. Install one of those.
Start > Run > cmd
cd %userprofile% #This should drop you into your home directory.
mkdir $dirName
This can be anything you want. I call mine vProj.
vagrant init hashicorp/precise64
This is going to create a file called Vagrantfile in the directory you are in when you call the command. This file is what Vagrant is going to use to build a box.
vagrant up
Vagrant is now going to go out to the internet and download an Ubuntu 12.04 LTS 64 bit vagrant box and use vBox to provision it.
vagrant ssh
You are now in your very own Ubuntu 12.04 Virtual Box. :) You don't like it? vagrant destroy will get rid of it. vagrant up again will rebuild it. vagrant halt stops it. Their are plenty of base boxes on the vagrant cloud. Companies like puppet even put their own boxes online for devs to use. The beauty is that you didn't have to open vBox one time. You didn't have to play with the network settings or setup some weird bridge. Vagrant does it all for you. You can, of course, open vBox and run it as normal but really you don't need to.
As for books.
Linux in a Nutshell
Vagrant Up and Running