|
So I may be interviewing for a job that would require me to know a bit about Linux/Unix but currently have no experience with either. It was suggested to me that I either install Linux or make a bootable disc (not sure if that's the correct term) that I can just run Linux off of without any installation. I vaguely remember trying out something called Knoppix that let me run Linux just off the CD, no installation.
In any case, my question is what do any of you tech heads/fellow Comp Sci guys suggest? I've heard the names Ubuntu and Kubuntu thrown around, do you guys suggest either? I don't have a ton of time to really learn the intricacies but I'd like to become as familiar as I can in the next week or so.
By the way, while I may not have a ton of experience using console/command line interfaces I know enough to get around. I've been reading through a Unix For Dummies book to get the basics as well.
|
I advise you to install Virtualbox, a piece of software, which allows you to install an OS on a virtual machine. The easiest GNU/Linux distributions are (K)Ubuntu (better gnome integration) and PClinuxOS and Opensuse (best KDE integration). Just try them without any risk with virtualbox.
|
Zurich15306 Posts
You will probably learn exactly nothing what they might ask you from clicking around in one of the nice new linux distros like Ubuntu.
To get the basics it doesn't really matter which one you choose anyway, as they are all the same on the core.
But yeah, if you just want a quick get to know tour, take one of the live CDs like Knoppix or Ubuntu (or any other flavor as a matter of fact) offer them and play around with those.
|
If it's a programming job, it probably means command lines only.
Installing Ubuntu won't help that much, I think you are better off printing a quick Unix/Linux cheatsheet off the internet.
|
If it says it's required you know some *nix, then it probably means command line... I'd use one of the versions as said above and then find a quick cheat sheet with basic commands so you use and learn them; It only takes a day to memorize 10 commands or so, and if they're the right ones (changing directories, moving, copying and deleting files, etc) then you should be good to go.
But really I can't think of anything you should learn in particular if they didn't say... just learning how to navigate the filesystem and manipulate files sounds about as basic as they ask.
|
Pick this book up: http://www.amazon.com/Linux-Nutshell-OReilly-Ellen-Siever/dp/0596009305
know how to move around. (., .., ~, ls, cd, ln (symbolic links))
mv (move files), cp (copy files), learn what NOT to do with rm (remove files).
probably know bash. know how to add things to your $PATH. (yeah they ask this - most people fall flat on their face).
su -, sudo. (aka god mode)
Pick vi, emacs, or pico - learn how to use one (they are text editors) - i advocate these as they are looking for command line knowledge probably.
Learn how to use grep, awk, and pipes.
Know what chown, chmod do.
/sbin/ifconfig for basic networking. ping, tracert - you should know these from windows.
ssh, telnet (to connect to other devices)
scp, rsync (to move files around b/w devices)
svn. (versioning control, its easier to learn than cvs)
top (tells you whats chewing up your cpu/mem). ps -ef (tells you what processes are running). free (tells you what your memory is doing).
kill -KILL (stops things gone wrong)
love logs. know basically whats in them (/var/log/allmessages)
know what cron is. yay cron (scheduling)
Knowing a scripting language is nice.
That should get you a basic understanding of how linux works in comparison to windows.
Like stated before - dual boot or live cd ubuntu (or suse, or blah, or blah, or w/e really - those two i find the easiest) and force yourself to use it as a desktop for about a week or two.
|
On February 26 2008 08:37 yenta wrote:
su -, sudo. (aka god mode)
this cracked me up reminded me of http://xkcd.com/149/
|
LOL
I was thinking about that!
|
If you don't have a machine to sacrifice as a Linux box or want to dual boot, your best bet is to either use a live CD like Knoppix or create a virtual machine as someone else mentioned above. I'm partial to VMWare Server (its free) for my virtual machines, but whatever you can figure out fast works best.
It'd help to know a little more about the job you're applying for. As other have mentioned, if it is a coding job they probably just require you to be comfortable writing and compiling code in a Linux environment. It is likely that you'll need to use make and gcc to build your code and vim or emacs to write it. You can probably figure a lot of that stuff out with some google searches.
If you're applying for an IT job, you'd be best off working on a virtual machine in my opinion. Command line would also be a good idea, as you usually won't have a gui if you just SSH into the various Linux boxes (that's what we do here). Use a server based Linux distribution like Ubuntu server. CentOS is also a good distro to use since a lot of places use Red Hat Enterprise (CentOS is essentially the free version of RHEL).
|
pick up a book in unix tools etc and learn how to use programs like ssh, sftp, top, kill or just grep etc...
you will probably need to edit or write a shell script for some functionality. try to google it since most of the common ones are on the net.
vim is essential if you don't have gnome or kde. but if you do, you can use gedit, kate, kwrite or even kdevelope etc... but yeah you really have to elaborate more about the job.
i suggest openSUSE 10.3 for newbies tho.
|
Forgot to mention... learn VI if you don't know it... (yea, there are others, but vi > all)
Now, someone post the xkcd link about editor wars
|
Thanks for all the tips guys, I'll try to get VMWare and Ubuntu up and running as soon as I can.
Some details about the job: - It seems to be more IT related, server and user maintenance stuff. If a user requires more space, allocate more to them. If they have PATH issues, fix it. etc. If I get hired, I'd be replacing this other guy that already walked me through what he does on the day to day basis and that's what it sounds like. Support mainly. There are basically a ton of servers that run jobs for users and I would be working to maintain those and help the users.
- Most of the coding is writing scripts to simplify tasks. He said he uses something called Kornshell I believe. The only scripting language I have some experience with is PHP, not sure if that's at all similar but for the few seconds he showed me some of the code for his scripts it looked fairly simple.
- While it was recommended that I learn Linux, there will be Unix and AIX stuff too.
Not sure if that's the relevant info you wanted, ask away if there is anything else important to know. Thanks so much for the help guys, really appreciate it.
Edit: By the way, is this the correct VMWare server thing I want?
Edit: Also, I'm looking at the various versions of Ubuntu and I assume I want the Server Edition correct? I'm assuming the non-LTS version as well as it is the newer version.
|
On February 26 2008 10:28 Cambium wrote:Forgot to mention... learn VI if you don't know it... (yea, there are others, but vi > all) Now, someone post the xkcd link about editor wars
ask and ye shall receive http://xkcd.com/378/ xkcd is too good
|
On February 26 2008 10:36 Phyre wrote:Thanks for all the tips guys, I'll try to get VMWare and Ubuntu up and running as soon as I can. Some details about the job: - It seems to be more IT related, server and user maintenance stuff. If a user requires more space, allocate more to them. If they have PATH issues, fix it. etc. If I get hired, I'd be replacing this other guy that already walked me through what he does on the day to day basis and that's what it sounds like. Support mainly. There are basically a ton of servers that run jobs for users and I would be working to maintain those and help the users. - Most of the coding is writing scripts to simplify tasks. He said he uses something called Kornshell I believe. The only scripting language I have some experience with is PHP, not sure if that's at all similar but for the few seconds he showed me some of the code for his scripts it looked fairly simple. - While it was recommended that I learn Linux, there will be Unix and AIX stuff too. Not sure if that's the relevant info you wanted, ask away if there is anything else important to know. Thanks so much for the help guys, really appreciate it. Edit: By the way, is this the correct VMWare server thing I want? Edit: Also, I'm looking at the various versions of Ubuntu and I assume I want the Server Edition correct? I'm assuming the non-LTS version as well as it is the newer version.
Afaik, AIX is based on Unix, and from your description, you will be MUCH better off reading that Linux in a nutshell book than getting Ubuntu.
It sounds like it will mostly be done from x-term or cigwin or w/e they use, but there will probably be no UI.
|
A shell is what a user gets to input commands into a *nix flavor system (command line, think awesomely emo-black screen). There are many flavors of shell, with KSH (http://www.kornshell.com/) being one of them. Each of the newer shells support their own scripting language, so if they use kornshell, look over some korn scripting
Php can be used to write maintenance scripts as well - most popular is perl and python i would think - but ive seen pretty much any language used for scripts. Why these instead of C/C++/java for scripts? Well, basically, fast prototyping and proof of concept. I can get a script out in perl to generate some reports, or fix some user PATHing in way less time than C/C++/java. The languages have built in functionality to them which makes them really good at shreading text files, which is basically what youll be seeing alot of in a *nix environment.
I guess on a last note - you'll probably want to look over regular expressions a bit. Being a scripting guy, they help alot
|
On February 27 2008 22:25 yenta wrote:A shell is what a user gets to input commands into a *nix flavor system (command line, think awesomely emo-black screen). There are many flavors of shell, with KSH (http://www.kornshell.com/) being one of them. Each of the newer shells support their own scripting language, so if they use kornshell, look over some korn scripting Php can be used to write maintenance scripts as well - most popular is perl and python i would think - but ive seen pretty much any language used for scripts. Why these instead of C/C++/java for scripts? Well, basically, fast prototyping and proof of concept. I can get a script out in perl to generate some reports, or fix some user PATHing in way less time than C/C++/java. The languages have built in functionality to them which makes them really good at shreading text files, which is basically what youll be seeing alot of in a *nix environment. I guess on a last note - you'll probably want to look over regular expressions a bit. Being a scripting guy, they help alot Cool, thanks for your input. Funny you mention reg expressions since I used them quite a bit in php already. Lucky me.
|
|
|
|