LINUX Operating system: A group of programs and functions that provide basic functionality on a computer; The software that manages access to a system's hardware and other resources. Operating system is a manager. It manages all the available resources on a computer. These resources can be the hard disk, a printer, or the monitor screen. Even memory is a resource that needs to be managed. Within an operating system are the management functions that determine who gets to read data from the hard disk, what file is going to be printed next, what characters appear on the screen, and how much memory a certain program gets. Processes: One basic concept of an operating system is the process. If we think of the program as the file stored on the hard disk or floppy and the process as that program in memory, we can better understand the difference between a program and a process. Although these two terms are often interchanged or even misused in "casual" conversation, the difference is very important for issues that we talk about later. Often one refers to an instance of that command or program. A process is more than just a program. Especially in a multi-user, multi-tasking operating system such as UNIX, there is much more to consider. Each program has a set of data that it uses to do what it needs. Often, this data is not part of the program. For example, multi- user: The ability of a comp uter syste m to allow multi ple users to access the system at once. Multi tasking: The process by which a computer system is able to maintain multiple programs (tasks) in memory and to switch fast enough to appear as if all programs are being run simultaneously. UNIX: An operating system originally developed at Bell Laboratories. Virtual Memory Basics: One interesting aspect about modern operating systems is the fact that they can run programs that require more memory than the system actually has. At the extreme end, this means that if your CPU is 32-bit (meaning that it has registers that are 32-bits), you can access up to 232 bytes (that 4,294,967,296 or 4 billion). That means you would need 4 Gb of main memory (RAM) in order to to completely take advantage of this. Although many systems are currently available (2003) with 256 MB or even 512 MB, more RAM than that is rare; and 4 Gb is extremely rare for a home PC. Files and Directories: Files: Another key aspect of any operating system is the concept of a file. A file is nothing more than a related set of bytes on disk or other media. These bytes are labeled with a name, which is then used as a means of referring to that set of bytes There are three kinds of files with which most people are familiar: programs, text files, and data files. However, on a UNIX system, there are other kinds of files. One of the most common is a device file Directories: The directories have information that points to where the real files are. one kind of file is a directory. What this kind of file can contain are files and more directories When referring to directories under UNIX, there is often either a leading or trailing slash ("/"), The top of the directory tree is referred to with a single "/" and is called the "root" directory. Subdirectories are referred to by this slash followed by their name, such as /bin or /dev. Operating System Layers: It consists of many layers, one on top of the other. At the very core is the interface with the hardware. The operating system must know how to communicate with the hardware or nothing can get done. This is the most privileged aspect of the operating system. Linux Basics: With many UNIX systems that are around, the user is unaware that the operating system is a UNIX system. Many companies have point-of-sales systems hooked up to a UNIX host Host: Any computer. Normally used When the Computer is on Network, is called Host. Linux is available from many companies and in many versions. Often, a company will produce its own version with specific enhancements or changes. These are then released commercially and called distributions. Although Linux is technically only the kernel, it is commonly considered to be all of the associated programs and utilities. Combined with the kernel, the utilities and often some applications comprise a commercial distribution. Kernel: The primary part of the operating system. This manages all system functions such as memory, task scheduling, how devices are accessed, etc. Working with the System: Whether you login using the GUI or a characteDirectory Pathsr console, the way you interact with a Linux system is essentially the same. You must first be able to identify yourself to the system by providing the appropriate information. This information is your user name or login name and a password. Backing-up and Restoring Files: Linux provides a number of different useful tools to help you backup your system. Perhaps the most commonly used tool is tar, probably because of its simplicity. For example let's say you wanted to make a backup copy of the entire directory /data, the command might look like this: tar cvf data.backup /data Therefore instead of using a filename you could use the name of a device file, like this: tar cvf /dev/tape /data Tar: The tar (tape archive) command bundles a bunch of files together and creates an archive (commonly called a tar file or tarball) on a tape, disk drive, or floppy disk. The original files are not deleted after being copied to the tar file. To create an archive using tar, use a command like this, which bundles all the files in the current directory that end with .doc into the alldocs.tar file,the c, v, and f flags mean create a new archive, be verbose Archive:depository containing historical records and documents Accessing Disks: To mount a filesystem/disk you use the mount command. Assuming that your CD-ROM is the master device on the second controller you might mount it like this: mount DEVICE DIRECTORY mount /dev/hdc /media/cdrom Sometimes /media/cdrom does not exist, so you might want to try this. mount /dev/hdc /mnt Sometimes the system already know about the CD-ROM device, so you can leave off either component: mount /media/cdrom mount /dev/hdc You can then cd into /media/cdrom and you are on the CD. Shells and Utilities: Most UNIX users are familiar with "the shell"; it is where you input commands and get output on your screen. Often, the only contact users have with the shell is logging in and immediately starting some . Some administrators, however, have modified the system to the point where users never even see the shell, or in extreme cases, have eliminated the shell completely for the users. Shell: The program that controls the user interaction with the operating system. COMMANDS: cp file1 file2 -> Copy File1 To File2 mkdir -> Make Directory for Example : mkdir -p one/two/three/four Command Line: The place on your screen, usually indicated by a prompt, where a user input commands. May also refer to the string of characters that form the command. man <command_name> -> Macros to format man pages List: ls [OPTION] ... [FILE] ... -> List Directory contents Directory Paths: directories are separated from files and other directories by a /, a file in the current directory could be referenced as ./file_name and a file in the parent directory would be referenced as ../file_name. You can reference the parent of the parent by just tacking on another ../, and then continue on to the root directory if you want. So the file ../../file_name is in a directory two levels up from your current directory. This slash (/) is referred to as a forward slash, as compared to a back-slash (\), Current directory Target directory Relative path Absolute path /data/home/jimmo/letter /data/home/jimmo/letter/dave ./dave or dave /data/home/jimmo/letter/dave /data/home/jimmo/letter /data/home/jimmo ../ /data/home/jimmo /data/home/jimmo/letter /data/home/ ../.. /data/home /data/home/jimmo/letter /tmp ../../../../tmp /tmp Variables: Varaiable meaning \u Username \h Hostname \H The fully-qualified hostname \w Current working directory \d date \t the current time in 24-hour HH:MM:SS format \T the current time in 12-hour HH:MM:SS format \@ the current time in 12-hour am/pm format \A the current time in 24-hour HH:MM format \l the basename of the shell's terminal device \e Escape character \n newline \r carriage return Permissions: The settings associated with each file or directory that determine who can access the file and directory and what types of access are permitted. Also called properties or attributes. - regular file c - character device b - block device d - directory p - named pipe l - symbolic link variable: An object known to a proces that stores a particular value. Shell variables are known to a particular shell process and enviroment variables (generally) known to all of a particular user's processes..