1 / 34

The UNIX File System

CS465. The UNIX File System. File Systems. What is a file system? A means of organizing information on the computer. A file system is a logical view, not necessarily a physical view. What does the file system provide: Ways to create, move, and remove files Ways to order files

frye
Télécharger la présentation

The UNIX File System

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS465 The UNIX File System

  2. File Systems • What is a file system? A means of organizing information on the computer. A file system is a logical view, not necessarily a physical view. • What does the file system provide: • Ways to create, move, and remove files • Ways to order files • Security • Examples of file systems: • DOS, Macintosh, CD-ROM, UNIX, NFS (networked file system)

  3. UNIX File System • Heirarchical storage • Basic storage unit is a FILE • Unix File: a collection of data • Just a sequence of bytes • No record or block structure is required

  4. Unix File Types • Ordinary file (stores info) • Directory (holds other files and directories) • Directory file contains information about files • Special file (represents physical devices like printers, terminals, etc) • Pipe (temporary file for command linkage)

  5. File and Directory Names • Names are case sensitive • Can use any character, however: • Avoid using: / > , ! ( ) # & < > | @ $ ^ * ? • Legal but hard to use with shells • Length: Up to 14 characters guaranteed • Names must be unique inside a directory • Files beginning with “.” are “invisible”

  6. / home etc tmp jones smith username notes progs .login The Unix File System • A rooted tree file structure (inverted tree) In our example there are three directories in root. / is the “root” directory. The “home” directory contains directories of all users on a system. Each user can create and administer his/her own directories, subdirectories and files.

  7. Some Common Directories / root ancestor of all files in the file system /bin binary executable files /dev special device files /etc administrative files /home user home directories /tmp temporary files /usr special user files or home directories

  8. / home sue fred email docs f2 f1 Pathnames • Absolute Path Name • Every file and directory in the file system can be identified by a “full path name” (route from root to file) /home/sue/email/f1 • Relative path name • Location is relative to working directory . Working directory .. Parent directory • If working directory is /home/sue: email/f1

  9. Home and Working Directories • Home directory • The directory you are in when you first login in • This is your space; you control security • Place to put your personalized startup files • Your working directory after typing cd with no arguments • Working (current) directory • Can access files in your working directory by simply typing the filename (relative pathname) • To access files in other directories, must use the absolute pathname pwd prints the working directory cd changes the working directory

  10. Directory Shorthands Directory abbreviations: . the directory itself .. the parent directory Every directory contains . and .. files In most shells “~” means your home directory) ~user means user’s home directory Example: ~small000/.login is file .login in /home/small000, which is my home directory.

  11. Finding Yourself • The command pwd tells you where you are in the file hierarchy. • It gives you the absolute path to your location. $ pwd /home/small000

  12. Changing Directories cd change directory (home) cd .. go to parent directory cd / go to the root directory cd ~ go to my home directory cd ~usergo to user’s home directory cd /etc go to the etc directory from root cd ../sub go to the sub directory in my parent directory

  13. Creating and Removing Directories • A new directory can be created with the mkdir command • Note command cannot be shortened to md • A directory can be removed using the rmdir command • The directory must be empty (no files or subdirectories) • Note command cannot be shortened to rd

  14. Links • Can have many links to the same file • One directory contains the actual file, and the others contain a name only, which links to the actual file • ln -command for creating links $ ln filename linkname

  15. jones lnames letter3 names File Contents 007 Golden Eye Tomorrow Never Dies Links lncreates a new link, not a new file. The new link and the original filename are equivalent pointers to the file. Example: $ ln names lnames

  16. Creating Directories mkdir • Makes a new directory (if you have permission to do so) • With a simple pathname, mkdir makes a new directory in your working directory. $ pwd /home/jbond $ mkdir newdir $ ls –l total 3 -rw-r--r-- 1 jbond cs 154 Feb 4 15:00 letter3 -rw-r--r-- 1 jbond cs 64 Feb 4 15:00 names drwxr-xr-x 2 jbond cs 512 Feb 4 15:26 newdir/

  17. Deleting Directories rmdir deletes a directory (if you have permission). $ rmdir newdir $ ls -l total 6 -rw-r--r-- 1 jbond cs 154 Feb 4 15:00 letter3 -rw-r--r-- 1 jbond cs 64 Feb 4 15:00 names $ rmdir /usr rmdir: directory "/usr": Search or write permission needed

  18. Moving Stuff mv can move a directory into a directory $ ls names newdir/ secret/ $ mv newdir secret $ ls names secret/ $ ls secret letter newdir/

  19. Access Permissions • Every user has: • A username • A numeric uid (user identification) • A default group association • Optional assocations with other groups • Command: id view your uid and default group and which groups you belong to

  20. Access Permissions • Every file has: • A singleowner • An association with a single group • A set of access permissions associated with it • For a File, permissions control what can be done to the file contents • For a Directory, permissions control whether a file in that directory can be listed, searched, renamed or removed

  21. Changing Your Group Association • When you first log in, you're group is set to the default group specified in your /etc/passwd file.   • To change groups, use the newgrp command $ newgrp admin • Once you've changed to the new group, if you create a new file, it will be owned by the new group.

  22. rwx r-x r-x Access Permissions • First character shows the file type: • directory (d) • plain file (-) • link (l) -rwxr-xr-x • Rest specify three types of users: • user owner • group • others • who are allowed to: • (r) read • (w) write • (x) execute

  23. Permission Settings

  24. Permission Settings • Permission settings use octal numbers. • r = 100 = 4 • w = 010 = 2 • x = 001 = 1 • None = 000 = 0 • These numbers are additive. • rwx = 7 (4 + 2 + 1) = 111 • rw = 6 (4 + 2) = 110 • rx = 5 (4 + 1) = 101 • [rwx][r-x][r--] = [111][101][100] = [7][5][4] = 754

  25. -rwxrwxrwx 111 111 111 -rwxr-xr-x 111 101 101 -rw-r--r-- 110 100 100 -r-------- 100 000 000 owner group others Numerical Access Permissions 777 755 644 400

  26. Permission Settings: Examples Use ls –l to view permission settings -r-------- (400) protect it from accidental editing -rw------- (600) only you can edit/read the file -rw-r--r-- (644) only you can edit, others can read -rw-rw-rw- (666) public read file! dr-xr-xr-x (555) anyone can list but can’t create/delete/rename files dr-x------ (500) only you can list drwx------ (700) you can do anything, but not others drwxr-xr-x (755) you can do anything, others only list drwxrwxrwx (777) anyone can do anything!

  27. Changing Permissions chmodcommand is used to modify permissions. can only be used by the owner of a file/dir (or the administrator root). • Format: • chmod [ugoa] [+-=] [rwx] [file/dir] • Optionally, one of the characters: u (user/owner), g (group), o (other), or a (all). • Optionally, one of the characters: + (add permission), - (remove permission), or = (set permission). • Any combination of the characters r (read), w (write), or x (execute).

  28. chmod Examples • Character Method $ chmod a=r-x file $ chmod u=rw- file $ chmod ugo+r file $ chmod go-w file • Numerical Method $ chmod 744 file $ chmod 600 file

  29. Default Permissions • Every time a directory or file is created it must immediately have some permissions • The umask instruction sets the default permissions $ umask ddd • ddd is a three digit octal number

  30. umask • The system’s initial permission value, used when a file is created, is 666 (rw-rw-rw-). • The system’s initial permission value used when a directory is created, is 777 (rwxrwxrwx). • To determine the umask value you want to set, subtract the value of the permissions you want from the initial permissions. The remainder is the value to use with the umask command. • To change the default mode for files to 644 (rw-r--r--), subtract 644 from 666. You get 022, which is the value you would use as an argument to the umask command.

  31. File and Directory Permissions for umask Values

  32. umask Scope • The new umask value affects only those files and directories that are created from this point forward. • Place a umask command in your .profile file to permanently set your default permissions.

  33. The SuperUser • Every Unix system has at least one userid which is special • This is referred to as root although the name may be different • root may access any and all files or directories, no matter what their protection bits are set to

More Related