Unix
Version 1.1.1
Origins
- Ken Thompson wrote the first version of UNIX operating system at AT&T Bell Labs, 1969; Thompson and Dennis Ritchie continued to develop the system.
- UNIX (all caps) was a trademark of AT&T, subsequently sold.
- "Unix" (not all capital letters) refers to a family of UNIX-like operating systems.
- BSD (University of California Berkeley)
- Richard Stallman, a programmer at the MIT AI Lab, quit his job about 1984 because he was not allowed to give away the software he wrote. He founded the Free Software Foundation, with the objective of developing the GNU operating system. GNU is a silly acronym which stands for "GNU's not UNIX." Lots of auxiliary GNU programs developed, but not the central component of the operating system, the kernel. GNU Public License for software allows anyone to copy, modify, give it away, etc., free access to source code, as long as you also pass on these rights to others.
- Linus Torvalds, student at Helsinki Institute of Technology, developed a Unix kernel which he called Linux and released it in 1991 under the GNU Public License.
- Typical Linux systems are Linux kernel + GNU auxiliary programs.
Where Unix Is Used
Linux Distributions
There are many distributors of Linux. They package the Linux kernel with a lot of other programs; this combination is called a distribution.
- Ubuntu targets the novice user and is considered easy to get started with.
- Hundreds of choices.
- Live CD distributions enable you to run Linux without installing it on your hard drive. Includes Puppy and Ubuntu Linux.
- The distribution installed in our lab is called Fedora.
BSD is also alive and well and has a few distributions.
User Interface
- Unix originally had only a command-line user interface, like DOS or Windows Command Prompt
- Example: go to a Linux console and demonstrate the commands
date and ls
- Over the years it acquired:
- A window system: the X Window System
- Various window managers
- A few "desktop environments". GNOME and KDE are popular desktop environments, designed to be easy for people coming from Windows
- Some desktop environments allow multiple "workspaces" (demonstrate with GNOME).
- There are many choices.
The File System
/ is the directory separator character (which is \ in Windows); there are no drive letters (c:, a:, etc.); one single unified hierarchical file system.
File names are case-sensitive. Lower case is preferred. Avoid spaces in file names; use _ or - to connect parts; e.g., instead of "my term paper", use "my-term-paper".
A Tour of Some Important Directories
/ is the root of the file system
home contains most user home directories: user sam's home directory, /home/sam, is the Unix counterpart of Windows C:\Users\sam
root is the system administrator's home directory; the system administrator's user name is also "root".
bin contains essential programs (executable files)
etc contains many configuration files and the "password file", /etc/passwd
media is where removable devices, such as USB flash drives, are typically mounted.
usr
bin contains more executable programs; /usr/bin is very roughly the counterpart of Windows C:\Program Files. There are thousands of programs here; they cannot all be accessed via the GNOME menus!
File Managers
- GNOME's file manager: Nautilus (start from "Computer" or "Home" icons on the desktop
- Similar to Windows Explorer ("My Computer")
- Many other file managers, including ROX used in Puppy Linux
- Again, many choices
- Use Nautilus to explore the directories described above
File Permissions
- File owners can grant read, write, and execute permission to their files and directories
- Permissions may be granted to a user, group, or "other" meaning all users
- Use the file browser to see if we can open another user's home directory,
/etc/passwd, /etc/shadow.
Unix Application Programs
A small sampling:
- A web browser: Firefox or Opera
- Graphics: Inkscape, GIMP
- Office applications: OpenOffice.org, Abiword, Gnumeric
- System tools: terminal—for the old command line interface
- "Unix tools philosophy": most Unix programs are designed to do a specific job and to do it extremely well
- Example: GNOME screenshot (Applications/Accessories/Take screenshot) specializes in screenshots. Much easier in Windows because you do not have to go through Paint to save the file.
- Viewing the screenshot afterwards:
- Just open in a file manager
- Or in a terminal:
eog FILENAME
Gregory Weber