[ale] Top things to know to master Linux?

Ed Cashin ecashin at noserose.net
Tue Aug 26 17:36:15 EDT 2008


I'd like to give an abstract answer to "what to study?"  It
is subjective.

To "master" Linux means to be able to quickly respond
to any need by locating resources, assimilating them,
designing a solution to the specific problem, and implementing
it.

Detailed knowledge about big-picture structures is important
"baggage" for an admin to carry mentally, but other detailed
knowledge can be found quickly in manpages and other online
documentation.

For instance, I would expect a Linux master to have a basic
understanding of memory paging.  A clear understanding of
where the memory comes from when a program has called
"malloc" allows the admin to research any relevant detail
as need arises.

Here are some terms applying to general areas of
knowledge that would need to be in any mental map
of a Linux system, IMHO.  Sorry they're not ordered,
and it's not exhaustive by any means.
A master would be able to clearly define any of these.

  kernel, system call, filesystem, partition (is not a
  filesystem!), block device, driver, RAM, page, swap,
  network interface, packet, system call, library,
  compiler, linker, make, ld.so, interpreter (e.g., expect,
  /bin/sh, /usr/bin/awk), shell, "userland", text editor

... and these days,

  virtual machine, hypervisor

I suppose a master would have invested time in thoroughly
learning a mature text editor and a good shell.  More likely,
and given time, a few text editors (e.g., vi, emacs, ed) and
good shells (e.g., Bourne shell and bash).  The text editor
(maybe combined with "make") and shell become the virtual
body of the admin living in the world of Linux, so pick a good
body and get lots of exercise!

-- 
 Ed Cashin <ecashin at noserose.net>


More information about the Ale mailing list