Skip to main content


Showing posts from November, 2013

Process and Job control in Linux/Unix

 Processes and JobsA process is an executing program identified by a unique PID (process identifier). To see information about your processes, with their associated PID and status, type % ps A process may be in the foreground, in the background, or be suspended. In general the shell does not return the UNIX prompt until the current process has finished executing. Some processes take a long time to run and hold up the terminal. Backgrounding a long process has the effect that the UNIX prompt is returned immediately, and other tasks can be carried out while the original process continues executing. Running background processesTo background a process, type an&at the end of the command line. For example, the commandsleepwaits a given number of seconds before continuing. Type % sleep 10 This will wait 10 seconds before returning the command prompt %. Until the command prompt is returned, you can do nothing except wait. To run sleep in the background, type % sleep 10 & [1] 6259 The&runs t…

File Permissions in Linux and Unix

 File system security (access rights)In yourhomedirectory, type % ls -l (l for long listing!)
You will see that you now get lots of details about the contents of your directory, similar to the example below.

Each file (and directory) has associated access rights, which may be found by typingls -l. Also,ls -lggives additional information as to which group owns the file (beng95 in the following example): -rwxrw-r-- 1 ee51ab beng95 2450 Sept29 11:52 file1 In the left-hand column is a 10 symbol string consisting of the symbols d, r, w, x, -, and, occasionally, s or S. If d is present, it will be at the left hand end of the string, and indicates a directory: otherwise - will be the starting symbol of the string. The 9 remaining symbols indicate the permissions, or access rights, and are taken as three groups of 3. The left group of 3 gives the file permissions for the user that owns the file (or directory) (ee51ab in the above example);the middle group gives the permissions for the…

How wildcards work in Linux and Unix

WildcardsThe * wildcardThe character*is called a wildcard, and will match against none or more character(s) in a file (or directory) name. For example, in yourunixstuffdirectory, type % ls list* This will list all files in the current directory starting withlist.... Try typing % ls *list This will list all files in the current directory ending with....list The ? wildcard The character?will match exactly one character.
So?ousewill match files likehouseandmouse, but notgrouse. Try typing
% ls ?list
 Filename conventionsWe should note here that a directory is merely a special type of file. So the rules and conventions for naming files apply also to directories. In naming files, characters with special meanings such as/ * & %, should be avoided. Also, avoid using spaces within names. The safest way to name a file is to use only alphanumeric characters, that is, letters and numbers, together with _ (underscore) and . (dot). Good filenames Bad filenames project.txt project my_big_program.c my big program…

Redirection in Linux and Unix

 Redirection  Most processes initiated by UNIX commands write to the standard output (that is, they write to the terminal screen), and many take their input from the standard input (that is, they read it from the keyboard). There is also the standard error, where processes write their error messages, by default, to the terminal screen. We have already seen one use of thecatcommand to write the contents of a file to the screen. Now typecatwithout specifying a file to read % cat Then type a few words on the keyboard and press the [Return] key. Finally hold the [Ctrl] key down and press [d] (written as^Dfor short) to end the input. What has happened? If you run thecatcommand without specifing a file to read, it reads the standard input (the keyboard), and on receiving the 'end of file' (^D), copies it to the standard output (the screen). In UNIX, we can redirect both the input and the output of commands.  Redirecting the Output  We use the > symbol to redirect the output of a command. …

Unix/Linux Variables

 UNIX VariablesVariables are a way of passing information from the shell to programs when you run them. Programs look "in the environment" for particular variables and if they are found will use the values stored. Some are set by the system, others by you, yet others by the shell, or any program that loads another program. Standard UNIX variables are split into two categories, environment variables and shell variables. In broad terms, shell variables apply only to the current instance of the shell and are used to set short-term working conditions; environment variables have a farther reaching significance, and those set at login are valid for the duration of the session. By convention, environment variables have UPPER CASE and shell variables have lower case names.  Environment VariablesAn example of an environment variable is the OSTYPE variable. The value of this is the current operating system you are using. Type % echo $OSTYPE More examples of environment variables are USER (…