Manipulating files in UNIX. Common operations of files Common operations: We will learn to do these...

33
Manipulating files in UNIX

Transcript of Manipulating files in UNIX. Common operations of files Common operations: We will learn to do these...

Page 1: Manipulating files in UNIX. Common operations of files Common operations: We will learn to do these operations and more.... Create a file Print a file.

Manipulating files in UNIX

Page 2: Manipulating files in UNIX. Common operations of files Common operations: We will learn to do these operations and more.... Create a file Print a file.

Common operations of files

• Common operations:

We will learn to do these operations and more....

• Create a file

• Print a file

• Delete a file

• Rename a file

• Move a file from one directory into another directory

Page 3: Manipulating files in UNIX. Common operations of files Common operations: We will learn to do these operations and more.... Create a file Print a file.

Identifying a file

• We need to identify a file before we can perform an operation (like delete) on the file.

• A file can be identified using:

• An absolute (file) path, or       

• An relative (file) path

Page 4: Manipulating files in UNIX. Common operations of files Common operations: We will learn to do these operations and more.... Create a file Print a file.

Absolute file path

• Absolute file path:

• An absolute file path tells the computer how to find a file starting from the root directory

• An absolute file path of a particular file x consists of a list of directory names starting from the root directory "/" to the directory containing the file x and then followed by the name of the file (x)

• The list of names is separated by the "/" symbol

Page 5: Manipulating files in UNIX. Common operations of files Common operations: We will learn to do these operations and more.... Create a file Print a file.

Absolute file path (cont.)

The path for the indicated file (myFile2) is:

• /home/cheung/cs170/myFile2

Page 6: Manipulating files in UNIX. Common operations of files Common operations: We will learn to do these operations and more.... Create a file Print a file.

Relative file path

• Relative file path:

• An relative file path tells the computer how to find a file starting from the current directory

• An relative file path of a particular file x consists of a list of directory names starting from the current directory to the directory containing the file x and then followed by the name of the file (x)

• The list of names is separated by the "/" symbol

Page 7: Manipulating files in UNIX. Common operations of files Common operations: We will learn to do these operations and more.... Create a file Print a file.

Relative file path (cont.)

• Example 1:

If the current directory is /home/cheung, then the path for the indicated file (myFile2) is:

• cs170/myFile2

Page 8: Manipulating files in UNIX. Common operations of files Common operations: We will learn to do these operations and more.... Create a file Print a file.

Relative file path (cont.)

If the current directory is /home/cheung/cs170, then the path for the indicated file (myFile2) is:

• myFile2

Page 9: Manipulating files in UNIX. Common operations of files Common operations: We will learn to do these operations and more.... Create a file Print a file.

Relative file path (cont.)

• Advice:

• When working on files, always change the working directory to the one that contains the files.

• It will save you a lot of key strokes (typing)

Page 10: Manipulating files in UNIX. Common operations of files Common operations: We will learn to do these operations and more.... Create a file Print a file.

Common operations on files

• Common operations on files:

• Create a file

• Print a file to the terminal

• Print a file to the printer

• Delete a file

• Rename a file

• Move a file from one directory (folder) to another directory (folder)

Page 11: Manipulating files in UNIX. Common operations of files Common operations: We will learn to do these operations and more.... Create a file Print a file.

Create a file

• An electronic file is created using a computer application (program) called an editor

(An editor in computer lingo is a program !!!)

• Some commonly used editors that you have used on a PC:

• We will learn to use gedit (GNU editor) in another webnote.

• Microsoft Word

• Notepad

Page 12: Manipulating files in UNIX. Common operations of files Common operations: We will learn to do these operations and more.... Create a file Print a file.

Print the content of a file out to the terminal

• The command (= application) that is used to print the content of a file is:

(cat is an abbreviation of the word catenate)

cat FILE-PATH

Page 13: Manipulating files in UNIX. Common operations of files Common operations: We will learn to do these operations and more.... Create a file Print a file.

Print the content of a file out to the terminal (cont.)

Example:

Page 14: Manipulating files in UNIX. Common operations of files Common operations: We will learn to do these operations and more.... Create a file Print a file.

Catenating multiple files

• The cat command can catenate an arbitrary number of files to the terminal

Example: catenate myFile1 and myFile2 to the terminal:

Page 15: Manipulating files in UNIX. Common operations of files Common operations: We will learn to do these operations and more.... Create a file Print a file.

Redirecting the input and output to a file

• In UNIX, the output that an application prints to the terminal, can be stored to a file

Also, the input that an application reads from the keyboard, can be read from a file. This feature is called:

• Input/Output redirection (or IO redirection for short)

Page 16: Manipulating files in UNIX. Common operations of files Common operations: We will learn to do these operations and more.... Create a file Print a file.

Redirecting the input and output to a file (cont.)

• Redirecting the output to a file:

• The output of any UNIX command can be sent to a file by adding " > FileName" to the command • In other words:

• any UNIX command > FileName

Page 17: Manipulating files in UNIX. Common operations of files Common operations: We will learn to do these operations and more.... Create a file Print a file.

Redirecting the input and output to a file (cont.)

• Example: redirecting the output of "ls" into a file:

Page 18: Manipulating files in UNIX. Common operations of files Common operations: We will learn to do these operations and more.... Create a file Print a file.

Redirecting the input and output to a file (cont.)

• Example: redirecting the output of cat myFile1 myFile2 to a file (named myFile3)

Page 19: Manipulating files in UNIX. Common operations of files Common operations: We will learn to do these operations and more.... Create a file Print a file.

Redirecting the input and output to a file (cont.)

You can see that myFile3 contains the catenation of the files myFile1 and myFile2

So the cat command can be used to catenate multiple files together !!!

(Hence the name cat)

• We will learn about input re-direction at a later lecture

Page 20: Manipulating files in UNIX. Common operations of files Common operations: We will learn to do these operations and more.... Create a file Print a file.

Print a file to the printer

• Use this command to print a file to the default printer:

• When you print a file from a computer in the MathCS lab, the default printer is the printer located inside the area where the Lab assistant(s) sits

lpr File-Path

Page 21: Manipulating files in UNIX. Common operations of files Common operations: We will learn to do these operations and more.... Create a file Print a file.

Print a file to the printer (cont.)

• Example:

will print the file named myFile1 in the current directory to the printer

lpr myFile1

Page 22: Manipulating files in UNIX. Common operations of files Common operations: We will learn to do these operations and more.... Create a file Print a file.

Delete a file

• The command (application) used to delete a file is:

The word rm is an acronym for remove

All files with names matching the File-Path will be removed

rm File-Path

Page 23: Manipulating files in UNIX. Common operations of files Common operations: We will learn to do these operations and more.... Create a file Print a file.

Delete a file (cont.)

• Example

rm myFile1 (will delete the file named "myFile1" in the current directory)

rm /home/cheung/cs170/myFile1 (will delete the file "myFile1" in the directory/home/cheung/cs170)

Page 24: Manipulating files in UNIX. Common operations of files Common operations: We will learn to do these operations and more.... Create a file Print a file.

Delete a file (cont.)

Important note:

• Make sure that your current directory is the correct one when you use a relative path with all UNIX commands !!!

Page 25: Manipulating files in UNIX. Common operations of files Common operations: We will learn to do these operations and more.... Create a file Print a file.

Recovering deleted files in UNIX

• Very important:

• When you delete a file (with rm, the file is really deleted in UNIX

What I mean is: the file is not moved into a trash directory

(That's what happens in Microsoft Windows)

• In other words: your file is gone forever

Page 26: Manipulating files in UNIX. Common operations of files Common operations: We will learn to do these operations and more.... Create a file Print a file.

Recovering deleted files in UNIX

• Restoring a file with a backup version:

• Every night, all files in a UNIX system is saved (backup)

• If you deleted a file, you can recover an older version of the file as of yesterday

• In other words: any work you do after the backup was made, will be lost....

• Send an email to: [email protected] if you need to recover a file using a backup copy.

Page 27: Manipulating files in UNIX. Common operations of files Common operations: We will learn to do these operations and more.... Create a file Print a file.

Rename a file

• The command (application) used to rename a file with name old-File-Path to the name new-File-Path is:

mv old-File-Path new-File-Path

Page 28: Manipulating files in UNIX. Common operations of files Common operations: We will learn to do these operations and more.... Create a file Print a file.

Rename a file (cont.)

Important:

• The new-File-Path file must not exist; otherwise, 2 things can happen:

1. If the new-File-Path exists and it is the name of a file, then the mv will report an error (and will not rename the file)

2. If the new-File-Path exists and it is the name of a directory, then the mv will move the file old-File-Path into the directory new-File-Path

Page 29: Manipulating files in UNIX. Common operations of files Common operations: We will learn to do these operations and more.... Create a file Print a file.

Rename a file (cont.)

• Example:

will rename the file named myFile2 to the new name decl-of-indep

mv myFile2 decl-of-indep

Page 30: Manipulating files in UNIX. Common operations of files Common operations: We will learn to do these operations and more.... Create a file Print a file.

Rename a file (cont.)

• Illustrated:

Notice that after the file is renamed, the content of the file remains unchanged !

Page 31: Manipulating files in UNIX. Common operations of files Common operations: We will learn to do these operations and more.... Create a file Print a file.

Move a file from one directory (folder) to another directory (folder)

• The command (application) used to mv a file with name file-Path into the directory dir-Path is:

mv file-Path dir-Path

Page 32: Manipulating files in UNIX. Common operations of files Common operations: We will learn to do these operations and more.... Create a file Print a file.

Move a file from one directory (folder) to another directory (folder) (cont.)

• Important:

• This is in fact the same command for renaming a file

• The difference is: dir-Path must be the path of an existing directory.

(If dir-Path, the command will perform a rename operation !!!)

Page 33: Manipulating files in UNIX. Common operations of files Common operations: We will learn to do these operations and more.... Create a file Print a file.

Move a file from one directory (folder) to another directory (folder) (cont.)

• Illustrated:

mv command with non-existing directory

mv command with existing directory