330 likes | 428 Views
2 Manual & Filestore. Mauro Jaskelioff. Introduction. Using the manual The UNIX filestore File permissions. The on-line manual. man <command> gives detailed information about UNIX commands and other facilities
E N D
2 Manual & Filestore Mauro Jaskelioff
Introduction • Using the manual • The UNIX filestore • File permissions
The on-line manual • man <command> gives detailed information about UNIX commands and other facilities • Details include command format, description, examples, known problems, related files and commands • Sections for commands, programming, admin and others • man intro for the introduction • man man (of course)
UNIX Filestore • Files and directories • The filesystem hierarchy • File handling commands • Permissions
Files • From the user’s point of view, all information on the computer is stored in files • Files may contain many kinds of information, including programs, data and documents • Like paper files, they have a name (chosen by the user) and some content • By convention, the filename suffix suggests the type of content
Example files • Me.sh = Shell script • Me.pl = Perl script • Me.txt = Text file • Me.jpg, Me.png, Me.gif = Image files • Me.html = HTML web page file • Me.zip, Me.gz Me.bz2 = Compressed file • Me.tar = Archived file • Me.log = Log file These are just conventions and are not enforced by the operating system!
Directories • Files are stored in directories (folders in Windows) • Each directory may contain many files and also other directories • By convention, directory names do not usually have suffixes
The filestore • There is a single hierarchical filestore that is shared by all users • It might be spread over the network, may involve many disks on may different computers and may even be linked to other filestores
The filestore • Each user has their own personal home directory (~) • There are also common areas for programs, administration, etc. • The filestore starts at the root directory (/) • A user is always in a current working directory (CWP) from which they give commands to access files • When users log on, the CWP is set to their home directory
(root) staff usr bin stud etc itmasters ug pg xxx gtr xxx xxx02u xxx04u Research Teaching Private .profile CUA MVR CUA Lecture1.ppt Coursework1.txt Lecture2.doc The filestore
Absolute and Relative Pathnames • There are two ways of specifying filenames • from the current directory - relative pathnames • from the root directory - absolute pathnames • Simple pathnames consist of sequences of names separated by ‘/’ characters • An example of a relative pathname: ../myDoc.txt • An example of an absolute pathname: /stud/ug/xxx04u/Documents/myDoc.txt
Where am I in the File Structure? • pwd prints the pathname of the current working directory • cd pathname changes current directory • with no argument it goes to the home directory
(root) staff usr bin stud etc itmasters ug pg xxx gtr xxx xxx02u xxx04u Research Teaching Private .profile CUA MVR UST Lecture1.ppt Coursework1.txt Lecture2.doc Where am I in the File Structure? (2) robin$ pwd /stud/ug/xxx04u robin$ cd UST robin$ pwd /stud/ug/xxx04u/UST robin$ pwd /stud/ug/xxx04u/UST robin$ cd .. robin$ pwd /stud/ug/xxx04u/
File handling commands – Viewing File Contents • The cat [filename…] command displays the contents of the named files • It reads the contents of the file(s) and outputs to the shell window • with no arguments cat simply echoes back what you type at the keyboard • there is no scrolling with the cat command • more [filename…] lets you scroll through a file • also less [filename…]
Viewing File Contents (2) • head displays the first 10 lines of a file • tail displays the last 10 lines of a file
Viewing and Changing Directory Contents • ls [pathname…] lists the contents of the named directories • with no argument, the current directory is listed • mv pathname1 pathname2 moves a file from pathname1 to pathname2 • if pathname2 already exists, then its previous contents are lost • if not, then it is created
Viewing and Changing Directory Contents (2) • cp pathname1 pathname2 copies the contents of pathname1 to pathname2 • if pathname2 already exists, • then its previous contents are lost • if not, then it is created • rm pathname removes files but not directories (be careful)
Manipulating Directories • mkdir pathname ... creates a new directory • it fails if they already exist robin$ mkdir fred robin$ mkdir fred mkdir: failed to make directory “fred”; File exists • rmdir pathname removes directories • it fails if they are not empty robin$ rmdir fred rmdir: directory “fred”: Directory not empty
Printing • lpr pathname prints files • it goes to your default printer • you can specify a printer with the -P flag, for example lpr -Phet fred.ps • do not send text files and program listings to laser printers • do not send postscript files to line printers! • Printing not configured on unnc-cslinux • Most of these commands have many flags for specifying different options
More about pathnames • Special symbols can be used in pathnames .. the directory one level above this ../.. the directory two levels above this . the current directory ~ this user’s home directory ~user a specific user’s home directory * wildcard matching any string ? wildcard matching any single character
(root) staff usr bin stud etc itmasters ug pg xxx gtr xxx xxx02u xxx04u Research Teaching Private .profile CUA MVR CUA Lecture1.ppt Coursework1.txt Lecture2.doc Relative and Absolute Pathnames Revisited Relative Absolute ../../../.. / ../../.. /stud ../.. /stud/ug /stud/ug/xxx04u .. ~ ~xxx04u . /stud/ug/xxx04u/CUA You are here!
Security and file permissions • A shared filestore needs a security mechanism to prevent the unauthorised reading and writing of files • UNIX associates a permissions list with each file saying who can do what to it • Each directory also has a permissions list • How you can access a file depends upon its permissions list and those of all its parent directories
Permissions lists • Specify who can do what • There are three kinds of who: u the user (owner) g members of the user’s group o others - anyone else • There are three kinds of what: r read w write x execute
Permissions lists (2) • Use ls -l to see permissions lists drwxr--r-- 1 gtr staff 173568 Sep 21 15:41 Labs drwxr--r-- 1 gtr staff 202752 Sep 21 17:43 Lectures -rw-r--r-- 1 gtr staff 2638848 Oct 6 18:58 Outline.doc -rw-r----- 1 gtr staff 87552 Oct 6 18:19 Intro.ppt
Permissions lists (3) Each permissions list is shown as ten characters:
Group that user is in Date file was last modified/created User User’s permissions (read, write and execute) Others’ permissions (read only) Group’s permissions (read only) -rwxr--r-- 1 gtr staff 5173568 Sep 21 15:41 cve_user drwxr--r-- 1 gtr staff 202752 Sep 21 17:43 Reports -rw-r--r-- 1 gtr staff 2638848 Oct 6 18:58 Yr1Report.doc -rwxr--r-- 1 gtr staff 5587552 Oct 6 18:19 plod_node_mgr Directory File/Directory name File size
The effect of directory permissions • Execute lets you change (cd) into that directory • (i.e. you are searching the directory) • Read lets you list files in the directory • (i.e. you are reading the directory contents) • Write lets you create and delete files • (i.e. you are writing to the directory contents) • To use a file at all you must have execute permission on all of its parents (otherwise it is as if it doesn’t exist)
other parents up to the root execute permission controls whether any files and directories below this point can be accessed at all parent directory permissions control whether files can be accessed at all, listed, created and deleted permissions control specific actions on this file file
Setting and changing permissions -chmod • chmod mode pathname is used to alter permissions lists • Mode specifies a sequence of changes, each of the form who operation permission • who is u, g or o • operation is + (grant) or - (revoke) • permission is r, w or x • Examples: chmod o-r g-r plan.doc chmod u+rwx Admin
Setting and changing permissions – chmod (2) The mode can also be a three digit octal number that is interpreted as a sequence of nine bits to set the whole permissions list at once: • chmod 644 progress.txt 644 is 110 100 100 which is interpreted as rw- r-- r-- • chmod 777 progress.txt 777 is 111 111 111 which is interpreted rwx rwx rwx • chmod 400 progress.txt 400 is 100 000 000 which is interpreted as r-- --- ---
Setting and changing permissions – chmod (3) • Files are created with a default permission • usually -rw- r-- r-- • depends upon the command used to create the file • set using the umask command
Next Lecture • UNIX commands for handling files • Regular Expressions and Searching files • Redirecting output • Bash facilities
Summary • Manual Pages • The UNIX filestore • Pathnames • Security and file permissions