Module lessons (2/3)
Moving and copying (mv and cp)
To reorganize and duplicate files in the terminal, use the cp (copy) and mv (move or rename) commands.
Copying Files and Folders: cp
The basic syntax for copying a file is:
cp [source] [destination]It stands for Copy. For example, to copy a file named photo.png into a folder called images, you would type:
cp photo.png images/Copying Folders Recursively with -r
If you try to copy a directory using the standard cp command, you will get an error. To copy a folder and all its contents recursively, you must use the -r (or -R, recursive) option:
cp -r project_folder project_backupMoving or Renaming Files and Folders: mv
The mv command stands for Move. It is used both to move files and folders into different directories, and to rename them:
mv [source] [destination]Moving a Resource
To move a file named document.pdf into a folder called archive:
mv document.pdf archive/Renaming a Resource
To change a file's name without moving it to another directory, specify the new filename as the destination:
mv old_name.txt new_name.txtMoving and Renaming at the Same Time
You can move and rename a file in a single step:
mv report.txt archive/monthly_report.txtUsage Examples and Common Errors
If you try to copy a directory without specifying the recursive -r option, the cp command will fail with an error:
cp backup backup_copy
# Output:
# cp: -r not specified; omitting directory 'backup'If you try to move or copy a source file that does not exist, you will receive an error message:
mv nonexistent_file.txt backup/
# Output:
# mv: cannot stat 'nonexistent_file.txt': No such file or directoryTry it yourself
Exercise 1: Copy a report
Copy the file 'report.txt' into the 'backup' folder while keeping the original file.
Show hint
Use cp with 'report.txt' as the source and 'backup' as the destination.
Solution available after 3 attempts
Exercise 2: Move and rename
Move the file 'old_notes.txt' into the 'archive' folder, renaming it to 'notes_old.txt' at the same time.
Show hint
Use mv, specifying the source file and the destination path including the new filename.
Solution available after 3 attempts
Exercise 3: Copy a directory
Create a backup copy of the entire 'backup' folder and name it 'backup_dir' (remember to use the recursive option).
Show hint
Use the cp command with the -r flag to copy the backup folder to backup_dir.
Solution available after 3 attempts