170 likes | 287 Views
The Unix File sytem. Introduction. Tree structure …. 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
E N D
Introduction • Tree structure …
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
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
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