CS 497C - Introduction to UNIX Lecture 12: - The File System Chin-Chih Chang chang@cs.twsu.edu Relative Pathnames (. and ..) * A relative pathname is a pathname which defines the location of a file with respect to the current directory. * It uses the symbols . and .. to refer to the current and parent directories, respectively. * The command cd .. change your directory to the parent directory of the current directory. Relative Pathnames (. and ..) $ pwd /home/remeo/progs $ cd ../.. $ pwd /home * You'll sometimes need to precede a command with ./ (a dot and a /). mkdir: Making Directories * Directories are created with the mkdir (make directory) command. * The command is followed by the names of the directories to be created. * You can create more than one directory in one command. mkdir doc src news mkdir: Making Directories * Sometimes, the system refuses to create a directory because: - The directory may already exist. - There may be an ordinary file by that name in the current directory. - The permissions set for the current directory don’t permit the creation of files and directories by the user. rmdir: Removing Directories * The rmdir (remove directory) command removes directories. * You can delete more than one directory in one command. * They are two important rules when deleting directories: - You can’t use rmdir to delete a directory unless it is empty. - You can’t remove a subdirectory unless you are placed in a directory hierarchically above the one you choose. cp: Copying Files * The cp command copies a file or a group of files. cp chap1 unit1 * If the destination file (unit1) doesn't exist, a new file will be created. If not, it will be overwriten without any warning from the system. * If unit1 is a directory, the file will be copied into that directory. cp: Copying Files * You can copy multiple files to a directory. * For instance, to copy the file chap1, chap2, and chap3 to the progs directory, you can use: cp chap1 chap2 chap3 progs * The UNIX system uses a set of special characters called metacharacters that you can use for matching more than one file. cp: Copying Files * cp is often used with the shorthand notation . (dot) to signify the current directory as the destination. * For instance, to copy the file .profile from /home/juliet to your current directory, you can use either of the two commands: cp /home/juliet/.profile .profile cp /home/juliet/.profile . cp: Copying Files * You can use the * as a shorthand for multiple filenames sharing a command string. * For example, you can copy chap01, chap02, and chap3 in this way: copy chap* progs * The -i (interactive) option warns the user before overwritting the destination file. * The -r (recursive) option makes it possible to copy an entire directory. rm: Deleting Files * The rm command removes files and makes space available on disk. * It normally operates silently and should be used with caution. It can delete more than one file with a single instruction: rm chap01 chap02 chap03 rm chap* rm progs/chap01 progs/chap02 rm: Deleting Files * Unless used with -r option, rm won't remove a directory. * You may need to delete all files of a directory, as part of a cleaning-up operation: $ rm * * The -i (interactive) option makes the command ask the user for confirmation before removing each file. rm: Deleting Files * With the -r option, rm performs a tree walk - a thorough recursive search for all subdirectories and files within these subdirectories. * Using the rm -r * will delete all files in the current directory and all subdirectories and their files. * rm won't delete any file if it's write-protected. * The -f (force) option overrides this protection also.