In your unixstuff directory, type
(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
ls -l. Also,
ls -lg gives additional information as to which
group owns the file (
beng95 in the following
-rwxrw-r-- 1 ee51ab beng95 2450 Sept29 11:52 file1
In the left-hand column is a 10 symbol string consisting of the symbols
-, and, occasionally,
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
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) (
ee51abin the above example);
the middle group gives the permissions for the group of people to whom the file (or directory) belongs (
eebeng95in the above example);
the rightmost group gives the permissions for all others.
w, etc., have slightly different
meanings depending on whether they refer to a simple file or to a
-), indicates read permission (or otherwise), that is, the presence or absence of permission to read and copy the file
-), indicates write permission (or otherwise), that is, the permission (or otherwise) to change a file.
-), indicates execution permission (or otherwise), that is, the permission to execute a file, where appropriate
rallows users to list files in the directory;
wmeans that users may delete files from the directory or move files into it;
xmeans the right to access files in the directory. This implies that you may read files in the directory provided you have read permission on the individual files.
So, in order to read a file, you must have execute permission on the directory containing that file, and hence on any directory containing that directory as a subdirectory, and so on, up the tree.
Only the owner of a file can use
chmod to change
the permissions of a file. The options of
are as follows
|write (and delete)|
|execute (and access directory)|
|take away permission|
For example, to remove read write and execute permissions on the file
biglist for the group and others, type
chmod go-rwx biglist
This will leave the other permissions unaffected.
To give read and write permissions on the file
biglist to all,
chmod a+rw biglist
A 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
A process may be in the foreground, in the background, or be suspended. In general the shell does not return the Linux 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 Linux prompt is returned immediately, and other tasks can be carried out while the original process continues executing.
To background a process, type an
& at the end
of the command line. For example, the command
sleep waits a given number of seconds before
This will wait 10 seconds before returning the command prompt
%. Until the command prompt is
returned, you can do nothing except wait.
sleep in the background, type
sleep 10 &  6259
& runs the job in the background and
returns the prompt straight away, allowing you do run other programs
while waiting for that one to finish.
The first line in the above example is typed in by the user; the next line, indicating job number and PID, is returned by the machine. The user is be notified of a job number (numbered from 1) enclosed in square brackets, together with a PID and is notified when a background process is finished. Backgrounding is useful for jobs which will take a long time to complete.
When a process is running, backgrounded or suspended, it will be entered onto a list along with a job number. To examine this list, type
An example of a job list could be
 Suspended sleep 100  Running firefox  Running gedit
To restart (foreground) a suspended processes, type
For example, to restart
sleep 100, type
fg with no job number foregrounds the last
It is sometimes necessary to kill a process (for example, when an executing program is in an infinite loop)
To kill a job running in the foreground, type
(control c). For example, run
sleep 100 ^C
To kill a suspended or background process, type
For example, run
sleep 100 & jobs
If it is job number 4, type
To check whether this has worked, examine the job list again to see if the process has been removed.
Alternatively, processes can be killed by finding their process numbers
(PIDs) and using
sleep 100 & ps
PID TT S TIME COMMAND 20077 pts/5 S 0:05 sleep 100 21563 pts/5 T 0:00 firefox 21873 pts/5 S 0:25 gedit
To kill off the process
sleep 100, type
and then type
ps again to see if it has been
removed from the
If a process refuses to be killed, uses the
option, i.e. type
kill -9 20077
Note: It is not possible to kill off other users' processes.
||list access rights for all files|
||change access rights for named file|
||run command in background|
||kill the job running in the foreground|
||suspend the job running in the foreground|
||background the suspended job|
||list current jobs|
||foreground job number 1|
||kill job number 1|
||list current processes|
||kill process number 26152|