Anyone here a master at Unix? My boss wants me to start learning it so I can become the go to guy for one of our servers. I'm computer savvy but have no experience with this sort of thing - I've played around with Linux for around 5 minutes, and I know Linux is based on Unix. That's about it.
Would greatly appreciate any beginner tips or recommendations on exactly where to start, before I just google "learn unix" and grab the first link haha.
I know nothing other than if I were you I'd build a FreeBSD play toy to learn.
Great scene in Jurrasic Park about unix.
What OS is that server running? That would determine where to start.
All of the Unix variants are slightly different to administer so I'd start on the exact variant you'd be working with.
While most variants share common ancestry, there are distinct differences between, say Redhat Linux and FreeBSD, let alone Solaris. A lot of the principles cross over but you can save yourself some annoyance by not immediately cross training yourself on multiple systems.
Are you sure you want to be the go to guy?
Playing around with a Raspberry Pi is actually a really good way to learn. If you break it, no problem. Loads of how-to articles out there. Spend your time on the command line because that's probably how you'll be interacting with the server.
Permissions, you will need to learn about permissions. You will be forced to learn about permissions :)
In reply to Keith Tanner :
And after permissions, DNS. Because if it's not permissions, it's DNS.
wae
UberDork
6/8/21 2:05 p.m.
In reply to BoxheadTim :
And if it's not permissions or DNS, it's the firewall.
wae
UberDork
6/8/21 2:32 p.m.
Oh, but for helpful things... O’Reilly (the publisher, not the FLAPS) has fantastic books to help you learn. Each flavor of Unix/Linux/BSD will be a little different, but the main stuff is pretty much the same. Most of the differences will be in things like LVM and some of the command line options for commands. Once you're comfortable with the basic structure and everything, though, it translates fairly well. I did a ton of HP-UX and Solaris back in The Day so I was able to move to AIX and linux without much effort. You can download Oracle's Virtualbox and use it to install a linux VM on your Windows PC or you can get something like Mint and put it on a USB drive so that you can boot from that without disturbing your existing operating system. Most of the things you'll learn in a simple linux distro like that will translate well.
Just, for the love of all that is holy, get familiar with the tab key on your keyboard. If you're typing a command, put in the first letter or two and then hit tab. If what you've typed in only has one match in the system it will auto-complete it for you. If there's more than one possibility, just hit tab a second time and it will show all of them to you. Big time saver. It works for file names, too.
You'll probably want to learn something about vi (although there are emacs bigots out there, you just need to understand that they're wrong). And it wouldn't hurt to know a couple things about shell scripting. Again, the O'Reilly books are your friends there.
I LOVE TAB
I tend to use nano instead of vi, but I am bilingual in that regard.
It's kinda like working on different types of cars. Once you've learned one, you don't know the details of others. But you know what to look for and what questions to ask.
wae said:
You'll probably want to learn something about vi (although there are emacs bigots out there, you just need to understand that they're wrong).
Oi! I resemble that remark.
And it wouldn't hurt to know a couple things about shell scripting. Again, the O'Reilly books are your friends there.
I think two important things to get comfortable with when looking after a server is shell scripting and the command line (with the TAB key...). In general, people don't run GUIs on servers, so knowing which file to edit where to change which configuration is very useful indeed.
One other question to ask is what the server actually does. Is it a fileserver, or does it do other things like email/web/calendar etc as well?
Usually the OS isn't that hard to learn, especially if you've played with Linux a bit, it's the cr*p that runs on top of it that creates the headaches.
So we use OpenSUSE on our Vicidial server(s).
First, thank you everyone for all the informative replies! I very much appreciate it.
I have briefly seen permissions, the rwxrwxrwx system that is used. Looks learnable.
I also saw a bit of vi today. I was told I'll be using that. My boss also showed me the tab auto-complete. I haven't ever really messed with a command line interface before so it's a bit intimidating, but I'm going to start dedicating some time each day to familiarizing myself with it.
In reply to BoxheadTim :
I have used Linux for about 5 minutes, but it was a GUI version. As far as command line, I briefly learned a few commands at the beginning of the year when I was taking some online classes, studying to get my first IT job. The bit that the boss has shown me is all CLI, so that's where I'll start!
I'd grab OpenSUSE then. IIRC they're using their own package manager so it's be useful to be familiar with that one.
I took a class in UNIX at our local community college 20 years ago. They used Linux.
That was 20 years ago. I have since forgotten most of what I learned.
But I do use Linux.
Keith Tanner said:
Permissions, you will need to learn about permissions. You will be forced to learn about permissions :)
Pfft. chmod 777 * will solve all your problems.
Back when I was maintaining a fleet of 50-ish HP workstations for a major auto supplier, I was fairly handy with Unix, but most of that knowlege has gone bye-bye in the past 15 years. If you don't use it, you will lose it, and all that.
I've been using (not admining) UNIX or some variant since 1987. Learn vi. Learn permissions. After that Google is your best friend. I learned shell and perl but almost never used them. They are handy though.
Tom_Spangler (Forum Supporter) said:
Pfft. chmod 777 * will solve all your problems.
cd /
rm -rf *
With admin privileges that will solve ALL your problems., including the job you currently hold.
wae said:
In reply to BoxheadTim :
And if it's not permissions or DNS, it's the firewall.
At least it's not sendmail.cf any more...
I know that Linux came from Unix, and I've seen it described as essentially just an open source unix kernel basically. I know many commands are very similar. I'm having trouble finding a lot of good stuff online that is specific to Unix - I'll click a "learn Unix" link and when the page loads it's all Linux. Are the two really that similar? If I just learn all the basic Linux commands will I have a solid start on Unix as well?
Thanks again for all the helpful responses, guys. I really do appreciate it.
wae
UberDork
6/9/21 9:18 a.m.
In reply to infinitenexus :
Yeah, most of what works in linux is going to look and feel mostly the same on any variant. They came up with the POSIX standard back in nineteen-dickity-two and it defines the basic framework for how commands work. Different varients will drop things in different directories and might have slightly different options (I think sar is fairly different on AIX, for example), but the bones are the same.
CAinCA said:
Tom_Spangler (Forum Supporter) said:
Pfft. chmod 777 * will solve all your problems.
cd /
rm -rf *
With admin privileges that will solve ALL your problems., including the job you currently hold.
Newer versions of rm actually require a special argument to delete all from root so that people don't fall for this anymore.
Linux is very similar to Unix, there are differences just as big between different Linux distros.
Yes, Linux is based on *nix, but there are major differences between Solaris, IBM AIX (does almost everything real Unix does, just not as well...), HPnix, and the various flavors of Linux. *nix is *nix, mostly, but things like live upgrades and patch management, storage management, etc. vary a lot.
So you're running OpenSUSE - that's Linux, right? A generic Linux book would be helpful, but there are a lot of SUSE specific books out there and I'd grab one of those and read it. It will make sense as you dive into the OS and you can refer to it as needed. That's how I learned (waaaay back when on SVR5 on a PDP-11). It's probably not the most effective way but I had a real job to get done aside from the admin role that came with it and couldn't take time to to formally learn it.
I strongly agree with the earlier suggestion of getting a box to load your OS and play with it, you can avoid the serious screwups that are inevitable if you're trying to learn on a live server.
The definition of "Unix" is a bit nebulous, the term encompasses a broad array of OSes released by a couple dozen different vendors over a time period of 40+ years. You'll find that Solaris and FreeBSD (both "Unix") are going to be at least as different from each other as either is from Linux.
Note that MacOS is actually Unix underneath too -- it's based on NeXTStep, so there's a BSD kernel hidden in there and the terminal app brings up a bash shell. (Apple has moved a lot of the administrative stuff around though.)
I would agree with most/all statements made already (including vi>>emacs). I would add a few other items to the list of learn-first things including how to grep, pipe and use regular expressions.