Title: CHAPTER 1 UNIX FOR NONPROGRAMMERS
1CHAPTER 1UNIX FOR NONPROGRAMMERS
2Unix for non programmers
- When you connected via terminal to a machine
running Unix, you will have a window to enter you
commands
Terminal window
Enter your command here
system prompt
3MANUAL
- The man command is used to display the manual
entry associated with word entered as argument. - The -k option is used to display a list of manual
entries that contain entered keyword. - man chapter word
- man -k keyword
4CREATING A FILE
- Use editors vi, emacs, pico or the cat command
cat gtmyfile is system prompt
5CREATING A FILE
- Use editors vi, emacs, pico or the cat command
cat gtmyfile is system prompt
all characters that follow up to a new line are
comment
command
output redirection
6CREATING A FILE
- Use editors vi, emacs, pico or the cat command
cat gtmyfile is system prompt Ali Ahmet Can
D
D is used to indicate end of input
7CREATING A FILE
- Use editors vi, emacs, pico or the cat command
cat gtmyfile is system prompt Ali Ahmet Can
D
A file with name myfile is created whose
content is Ali Ahmet Can
system prompt appears to enter a new command
8CREATING A FILE
- Use editors vi, emacs, pico or the cat command
cat gtmyfile is system prompt Ali Ahmet Can
D
Current directory
home 122
halici
myfile
Ali Ahmet Can
9LISTING THE CONTENTS OF A DIRECTOTY ls
-
- ls adglR filename directoryname
-
- note means zero or more and means one or
more - Options are
- a list also hidden files, i.e. the filenames
starting with . - d directories
- g include info about file group
- l long listing
- R recursively list the contents of
subdirectories -
10LISTING THE CONTENTS OF A DIRECTOTY ls
-
- ls
- myfile
-
- ls l myfile
- r w - r - - r - - 1 halici 14 April
15 1141 myfile -
ls myfile ls l myfile - r w - r - - r - -
1 halici 14 April 15 1141 myfile
11LISTING THE CONTENTS OF A DIRECTOTY ls
-
- ls
- myfile
-
- ls l myfile
- r w - r - - r - - 1 halici 14 April
15 1141 myfile -
ls myfile ls l myfile - r w - r - - r - -
1 halici 14 April 15 1141 myfile
file name
of links
date
length
file type and permissions
owner
time
12file type and permissions
- r w - r - - r - -
file type permissions for owner permissions for group permissions for others
13LISTING A FILE cat/more/page/head/tail
- cat concatanate
- more, page to display in parts without scroll
- head first n lines, for default n10
- tail last n lines, for default n10
-
cat myfile Ali Ahmet Can head -2
myfile Ali Ahmet tail -2 myfile Ahmet Can
14RENAMING A FILE mv
- mv i oldFile newFile
- mv i file name directoryName
- mv i oldDirectory newDirectory
- The mv command in the first form renames oldFile
as newFile. - The second form moves collection files to a
directory. - The last form is used to move the files in
oldDirectoty to newDirectory. - The option -i prompts confirmation if
newFileName already exists
15RENAMING A FILE mv
mv myfile myNewFile ls myNewFile cat
myNewFile Ali Ahmet Can
Current directory
home 122
halici
myfile
myNewfile
16MAKING A DIRECTORY mkdir
mkdir newDirectoryName
mkdir class ls l -rw-r--r-- 1 halici 14
April 15 1141 myNewFile drwxr-xr-x 2 halici 512
April 15 1150 class/
Current directory
halici
myNewfile
class
17MAKING A DIRECTORY mkdir
mkdir newDirectoryName
mkdir class ls l -rw-r--r-- 1 halici 14
April 15 1141 myNewFile drwxr-xr-x 2 halici 512
April 15 1150 class/ mv myNewFile class
ls class ls class myNewFile ls
R class class myNewFile
Current directory
halici
myNewfile
class
myNewfile
18MOVING TO A DIRECTORY cd, chdir
mkdir newDirectoryName
pwd print working directory /home122/halici
Current directory
halici
class
myNewfile
19MOVING TO A DIRECTORY cd, chdir
mkdir newDirectoryName
pwd print working directory /home122/halici
cd class pwd /home122/halici/class
Current directory
halici
class
myNewfile
20COPYING A FILE cp
cp i oldFileName newFileName cp ir file name
directoryName options i confirm r
recursively copy subdirectories
Current directory
halici
cp myNewFile mySecondFile ls myNewFile mySeco
ndFile
class
myNewfile
mySecondfile
21DELETING A DIRECTORY rmdir
Current directory
pwd /home122/halici/class
halici
class
myNewfile
mySecondfile
22DELETING A DIRECTORY rmdir
Current directory
pwd / home122/halici/class cd .. change
to parent directory pwd / home122/halici
ls class rmdir class rmdir class directory
not empty
halici
class
myNewfile
mySecondfile
23DELETING A DIRECTORY rmdir
Current directory
pwd / home122/halici/class cd .. change
to parent directory pwd / home122/halici
ls class rmdir class rmdir class directory
not empty
halici
class
myNewfile
mySecondfile
An error message by the system is displayed. The
directory is not deleted since it is not empty
24DELETING A FILE rm
rm fir filename f inhibit error
messages i inform each time r recursivey (if
filename is a directory)
Current directory
halici
ls class ls class myNewFile mySecondFile
class
myNewfile
mySecondfile
25DELETING A FILE rm
rm fir filename f inhibit error
messages i inform each time r recursivey (if
filename is a directory)
Current directory
halici
ls class ls class myNewFile mySecondFile rm
class/ remove all files in directory class ls
class
class
myNewfile
mySecondfile
26DELETING A FILE rm
rm fir filename f inhibit error
messages i inform each time r recursivey (if
filename is a directory)
Current directory
halici
ls class ls class myNewFile mySecondFile rm
class/ remove all files in directory class ls
class
class
All the files under the directory class are
deleted, nothing remains to list by ls
27PRINTING A FILE lpr
cat gtmyclass Ali Amet Can D ls myclass cat
myclass Ali Amet Can lpr myclass send the
content of the file class to printer
28COUTING WORDS IN FILE wc
wc -lwc filename options l lines,
wwords,
wc w myclass 3 wc c myclass 14 wc
myclass
29COUTING WORDS IN FILE wc
wc -lwc filename options l lines,
wwords,
wc w myclass 3 wc c myclass 14 wc
myclass
no option is used, this is equivalent to lwc
all together
30COUTING WORDS IN FILE wc
wc -lwc filename options l lines,
wwords,
wc w myclass 3 wc c myclass 14 wc
myclass 3 3 14
no option is used, this is equivalent to lwc
all together
31COUTING WORDS IN FILE wc
wc -lwc filename options l lines,
wwords,
wc w myclass 3 wc c myclass 14 wc
myclass 3 3 14
no option is used, this is equivalent to lwc
all together
l
c
w
32FILE TYPES
- regular file
d directory file
b buffered special file (such as disk drive)
c unbuffered special file (such as disk terminal)
l symbolic link
p pipe
s socket
33FILE PERMISSIONS
r w r - - r - -
user group others
34FILE PERMISSIONS
regular file directory special file
r read The process may read the contents The process can read the directory (i.e. list the names of the files that it contains) The process may read from the file using the read( ) system call
w write The process may change the contents The process may add or remove files to/from the directory The process may write to the file using the write( ) system call
x execute The process may execute the file (which only makes sense if it is a program) The process may access files in the directory or any of its subdirectories No meaning
35CHANGING FILES PERMISSIONS chmod
- chmod R change,change filename
-
- R recursively change modes if filename is a
directory -
-
-
-
-
-
Change Change Change
cluster selection operation new permission
u (user) (add) r (read)
g (group) - (remove) w (write)
o (others) (assign) x (execute)
a (all)
36CHANGING FILES PERMISSIONS chmod
- Examples for change,change
- gw add group write permission
- u-wx remove user write and execute permissions
- ox add others execute permission
- uw,g-r add write permission for user and
remove read permission from group - gr give group just read permission
37CHANGING FILES PERMISSIONS chmod
ls l myclass -rw-r--r-- 1 halici 14 April 15
1205 myclass chmod o-r myclass remove read
permission from others -rw-r----- 1 halici 14
April 15 1205 myclass
38CHANGING FILES PERMISSIONS chmod
- The chmod utility allows you to specify the new
permission setting of a file as an octal number
user group others
rwx rwx rwx
setting rwx r-x ---
binary 111 101 000
octal 7 5 0
39CHANGING FILES PERMISSIONS chmod
chmod 750 myclass ls l myclass -rwxr-x--- 1
halici 14 April 15 1205 myclass
40CHANGING FILES PERMISSIONS chmod
chmod 750 myclass ls l myclass -rwxr-x--- 1
halici 14 April 15 1205 myclass
Permission is set as desired
41CHANGING FILES PERMISSIONS chmod
cat gta aaa D chmod u-w a remove write
permission from user ls l a see that it is
removed -r--r--r-- 1 halici 4 April 15 1210
a rm a delete the file a ls
42CHANGING FILES PERMISSIONS chmod
cat gta aaa D chmod u-w a remove write
permission from user ls l a see that it is
removed -r--r--r-- 1 halici 4 April 15 1210
a rm a delete the file a ls
The file is removed ! Deleting a file depends on
not on the files write permission but the write
permission of the directory that contains it (ie
udating the content of the directory)
43GROUPS
- Suppose that I am a member of the group ee
ls lg myfile
44GROUPS
- Suppose that I am a member of the group ee
option g stands for listing also files group
ls lg myfile
45GROUPS
- Suppose that I am a member of the group ee
Group information
ls lg myfile -rw-r--r-- 1 halici 14 ee
April 15 1220 myfile
46GROUPS
- Suppose that I am a member of the group ee
Group information
ls lg myfile -rw-r--r-- 1 halici 14 ee
April 15 1220 myfile groups list my
group ee
47GROUPS
- Suppose that I am a member of the group ee
- If I want to be added to a new group, say named
cls, I should request the system administrator
to do it.
Group information
ls lg myfile -rw-r--r-- 1 halici 14 ee
April 15 1220 myfile groups list my
group ee
48CHANGING FILES GROUP chgrp
- chgrp R groupId filename
- R recursively changes the group of the files in
a directory
ls lg myfile -rw-r--r-- 1 halici 14 ee April
15 1220 myfile chgrp cls myfile ls lg
myfile -rw-r--r-- 1 halici 14 cls April 15 1220
myfile