LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   What is a "good working knowledge" of UNIX? (https://www.linuxquestions.org/questions/linux-newbie-8/what-is-a-good-working-knowledge-of-unix-901539/)

devcalais 09-07-2011 02:13 AM

What is a "good working knowledge" of UNIX?
 
Hello all.

I'm looking adding a course to my degree, see below for the course description. Just wondering in the spirit of Linux users who are far more educated than myself, what the later part of the description would equate to? What sort of tasks should a user with a 'good working knowledge' be able to perform?

Systems and Network Administration

This course introduces students to the skills, methodologies and activities required to administer a computer system which consists of various hardware, software and users within an organisational infrastructure. In particular, students will be introduced to ethics, user, device, file system administration, computer and network security, system monitoring, performance tuning, administrative support tools, network, server and client administration. Students should possess a good working knowledge of UNIX.


More to the point, currently I am using Ubuntu 11.04 (Unity), confident enough to use it as my workstation, yet to utilise it over anything more complicated than a Win7 Samba fileshare to my laptop and join anything other than a basic P2P network.

What sort of knowledge should I attempt to obtain between now and starting the course?

Thankyou LQ!

business_kid 09-07-2011 02:45 AM

That course will want to run around all the different network settings, installing & configuring different systems besides linux (bsd, Solaris) through Selinux if required. For ideas: Boot to runlevel 3. no gui - use the console. learn all about /etc/hosts, resolv.conf, and host.conf. Set up a few different networks on your box. Linux seems to inspire verbiage in geeks so there should be plenty of guides out there.

sag47 09-07-2011 02:45 AM

Understand how Unix tools relate to each other in a Unix/Linux type system. Meaning usually they do one thing and do it well. So you use modifiers to redirect standard output to standard input (e.g. the pipe symbol | ) to perform more complicated tasks.

For instance, lets say you wanted to search a directory of files for a phrase that is *within* one of the files.

Now to search within a single file you can use the grep command.

Code:

grep 'some phrase' ./somefile
But you want to do that to more than one file and lets say, hypothetically, there are 1000 files in that directory. We need to dig deeper in our toolbox. I know find can list files. So if find can list files and grep can search the contents of files then lets string them together.

Code:

find . -type f | grep 'some phrase'
Well that didn't work because grep is just grepping the stdout of the previous command instead of grepping each file individually. I know the xargs command can build and execute command lines from stdout. So lets add that to our command.

Code:

find . -type f | xargs grep 'some phrase'
Ah that works. I could further run filters on that command or make it so that it can take file names with white spaces. There's tons more that one could do simply by combining more and more unix commands with different switches. However you should NOTE that I would not have been able to put that command together without a working knowledge of what standard commands are available and what they do.

-----------------------------------------------

My point is that normally when someone says you should possess a good working knowledge of Unix they mean the common unix tools (e.g. find, grep, xargs, cut, sort, unique, ifconfig, etc.). The basic folder structure of Unix (i.e. what is /? what is /boot? Where are the standard system commands usually located? HINT: you can find this out with echo $PATH). How to use the man pages (HINT: type man man in the terminal).

Basically, it's working knowledge of the Unix system and how to use it from the terminal.

How do you go about learning this?
  • Google "standard unix commands howto"
  • List out the directories located in the $PATH variable to see what commands your system has and then looking at the man pages for them.
  • Skim the LFS and BLFS manual to see what goes into building a system.
  • Go to Barnes and nobles (you don't even have to buy the book just read it), look at the technical section, pick up a book about Linux such as "The Complete Reference: Linux 6e". Read the following chapters (or the like): Linux Shell and File Structure, Shell Configuration, Files Directories and Archives, Basic System Administration, File Systems, Devices and Modules, Network autoconfiguration.

I have an entire bookshelf on books about Linux and I still buy new ones just to see what different authors say about it from their perspective. Every time I learn something new.

I know that sounds like a lot but you don't have to do it all. Do as much as you can, pick and choose. More emphasis on learning the terminal and shell stuff if you can't be bothered with the other concepts. To see some cool stuff you can do in the Unix/GNU/Linux terminal check out some of my LQ blog posts. Linux is awesome in that regard.

Hopefully that helps,
SAM

devcalais 09-07-2011 03:45 AM

sag47, business_kid, they were essays - once again the Linux community's willingness to help the average nub completely blows me away.

Thanks for the tips, I've documented them and will start working through them as a guide.

In the interest of academia ( :D ) can you suggest some books to get into UNIX system administration? I'm a fan of the 'Head First' series and planned on using that as an introduction, but I have a disposable income and an empty bookshelf.

.. this may deserve its own topic.

TB

sag47 09-07-2011 04:15 AM

Two books I highly recommend. (one is free)

TLDP's The Linux System Administrator's Guide. The Linux Documentation Project provides many other quality books such asNetwork Administrators Guide, LAME, and many others.

Recently I bought and have been reading "Linux Administration: A Beginner's Guide 5e" by Wale Soyinka from B&N. It's a pretty good resource as well.

You should also check out system monitoring solutions like Nagios or Icinga (my favorite, N vs I). Another cool toy for system administration is cluster SSH (i.e. cssh) which you can issue the same commands to dozens or more of machines at once over SSH. Pretty useful tool.

devcalais 09-07-2011 02:38 PM

Excellent, just purchased "Linux Administration: A Beginner's Guide 5e" by Wale Soyinka.

Never can it be said there isn't enough documentation on Linux. Thanks for your input/assistance, time for me to pour over your blogs..

jefro 09-07-2011 03:47 PM

To be more exact. Unix is not linux.

chrism01 09-07-2011 07:39 PM

There are loads of SysAdmin books free to read here http://www.linuxtopia.org/online_boo...ion_index.html.
Definitely get familiar with the cmd line. For a SysAdmin course I'd prob install a more server oriented distro like Centos (free version of RHEL).

This is a good intro/tutorial
http://rute.2038bug.com/index.html.gz

Good (bash) shell refs
http://tldp.org/LDP/Bash-Beginners-G...tml/index.html
http://www.tldp.org/LDP/abs/html/

Searchable HTML version of man pages http://linux.die.net/man/

The Wikipedia articles on Tech stuff are usually pretty accurate, so have a look there for any concepts you don't get.

As hinted above, although Unix & Linux (& *BSD) are work-a-likes at the user level, each version of Unix is different at the SysAdmin level (i.e. same concepts, but different tools/naming conventions) so the best thing is to research this a bit and definitely find out what system the course is based on and get hold of a copy of that if possible.
If it's (mostly) based commercial Unix eg Solaris or HP-UX you may have to settle for just reading about it.
Solaris you used to be able to get free before Oracle took over; not sure now...

Good Luck & remember no-one knows it all; there's just too much stuff to know.

salasi 09-08-2011 03:18 AM

Quote:

Originally Posted by devcalais (Post 4463628)
... What sort of tasks should a user with a 'good working knowledge' be able to perform?

Systems and Network Administration

This course introduces students to the skills, methodologies and activities required to administer a computer system which consists of various hardware, software and users within an organisational infrastructure. In particular, students will be introduced to ethics, user, device, file system administration, computer and network security, system monitoring, performance tuning, administrative support tools, network, server and client administration. Students should possess a good working knowledge of UNIX.



What sort of knowledge should I attempt to obtain between now and starting the course?

Whatever I think is a good working knowledge of UNIX, what is important is what the people who are running this course think of as a good working knowledge. As they may have some document which goes into more detail (maybe a reading list, maybe something more task-orientated), why don't you ask them if they have anything further? I'm sure if you say that you want top ensure that you are optimally prepared for the course, the question will be well-received.


All times are GMT -5. The time now is 09:42 AM.