Bird
Raised Fist0
Linux CLIscripting~5 mins

cp (copy files and directories) in Linux CLI - Commands & Configuration

Choose your learning style10 modes available
Introduction
Copying files or folders is a common task when you want to make a backup or move data without deleting the original. The cp command in Linux lets you do this quickly from the command line.
When you want to make a backup copy of a file before editing it.
When you need to duplicate a folder with all its contents to another location.
When you want to copy a file from one directory to another to organize your files.
When you want to copy multiple files at once into a new folder.
When you want to copy hidden files along with regular files in a directory.
Commands
This command copies the file named example.txt to a new file named backup.txt in the same directory. It is useful for making a quick backup of a file.
Terminal
cp example.txt backup.txt
Expected OutputExpected
No output (command runs silently)
This command copies the entire folder named myfolder and all its contents recursively into a new folder named myfolder_copy. The -r flag is needed to copy directories.
Terminal
cp -r myfolder myfolder_copy
Expected OutputExpected
No output (command runs silently)
→
-r - Copy directories and their contents recursively
This command copies file1.txt and file2.txt into the /home/user/documents/ directory. The -v flag shows each file being copied, so you see what is happening.
Terminal
cp -v file1.txt file2.txt /home/user/documents/
Expected OutputExpected
'file1.txt' -> '/home/user/documents/file1.txt' 'file2.txt' -> '/home/user/documents/file2.txt'
→
-v - Show details of files being copied
This command copies the folder myfolder to myfolder_backup preserving all file attributes like permissions and timestamps. The -a flag is for archive mode, which is useful for exact copies.
Terminal
cp -a myfolder/ myfolder_backup/
Expected OutputExpected
No output (command runs silently)
→
-a - Archive mode: copy directories recursively and preserve attributes
Key Concept

If you remember nothing else from cp, remember: use -r to copy folders and -v to see what is copied.

Common Mistakes
Trying to copy a folder without using the -r flag
cp will fail with an error because it does not copy directories by default.
Always add the -r flag when copying folders, like cp -r folder1 folder2.
Not specifying the destination directory correctly
Files may be copied with unexpected names or locations if the destination path is wrong.
Double-check the destination path and include a trailing slash for directories to avoid confusion.
Overwriting files without warning
cp will overwrite files silently, which can cause data loss.
Use the -i flag to ask before overwriting files, like cp -i file1 file2.
Summary
Use cp to copy files and folders from one place to another.
Add -r to copy directories and their contents recursively.
Use -v to see detailed output of what is being copied.

Practice

(1/5)
1. What does the cp command do in Linux?
easy
A. Deletes files or directories permanently
B. Copies files or directories from one location to another
C. Moves files or directories to a new location
D. Lists files and directories in the current folder

Solution

  1. Step 1: Understand the purpose of cp

    The cp command is used to copy files or directories, not to delete or move them.
  2. Step 2: Compare with other commands

    Deleting is done by rm, moving by mv, and listing by ls. So cp copies files or directories.
  3. Final Answer:

    Copies files or directories from one location to another -> Option B
  4. Quick Check:

    cp = copy files/directories [OK]
Hint: Remember: cp = copy files or folders [OK]
Common Mistakes:
  • Confusing cp with mv (move)
  • Thinking cp deletes files
  • Mixing cp with ls (list)
2. Which of the following is the correct syntax to copy a directory named docs and all its contents to backup?
easy
A. cp -r docs backup
B. cp -d docs backup
C. cp docs backup
D. cp -f docs backup

Solution

  1. Step 1: Identify the option to copy directories recursively

    The -r option tells cp to copy directories and their contents recursively.
  2. Step 2: Check other options

    -d is for preserving links, -f forces overwrite but doesn't copy directories recursively, and no option copies only files.
  3. Final Answer:

    cp -r docs backup -> Option A
  4. Quick Check:

    Use -r to copy folders [OK]
Hint: Use -r to copy folders and contents [OK]
Common Mistakes:
  • Omitting -r when copying directories
  • Using -d or -f incorrectly
  • Assuming cp copies folders without options
3. What will be the output of the following commands if file1.txt exists and file2.txt also exists?
cp file1.txt file2.txt
cat file2.txt
medium
A. Both files will be merged and displayed
B. Error: file2.txt already exists, copy fails
C. file2.txt remains unchanged, contents of file1.txt not copied
D. Contents of file1.txt will overwrite file2.txt, then displayed

Solution

  1. Step 1: Understand default behavior of cp

    By default, cp overwrites the destination file if it exists without warning.
  2. Step 2: Analyze the commands

    cp file1.txt file2.txt copies file1.txt over file2.txt, replacing its contents. Then cat file2.txt shows the new contents (from file1.txt).
  3. Final Answer:

    Contents of file1.txt will overwrite file2.txt, then displayed -> Option D
  4. Quick Check:

    cp overwrites files by default [OK]
Hint: cp overwrites existing files unless told otherwise [OK]
Common Mistakes:
  • Expecting error if destination exists
  • Thinking files merge on copy
  • Assuming cp refuses overwrite
4. You run cp -r myfolder backup/ but get an error: cp: omitting directory 'myfolder'. What is the likely cause?
medium
A. You used -r but the command was typed incorrectly
B. The destination folder 'backup/' does not exist
C. You forgot the -r option to copy directories
D. You ran cp without -r option on a directory

Solution

  1. Step 1: Understand the error message

    The error 'omitting directory' happens when cp tries to copy a directory without the recursive -r option.
  2. Step 2: Check the command given

    The question says you ran cp -r myfolder backup/ but error suggests -r was missing or command was different.
  3. Final Answer:

    You forgot the -r option to copy directories -> Option C
  4. Quick Check:

    Missing -r causes 'omitting directory' error [OK]
Hint: Always use -r to copy directories [OK]
Common Mistakes:
  • Assuming destination folder missing causes this error
  • Typing -r incorrectly but not noticing
  • Ignoring error message meaning
5. You want to copy all files and folders from project/ to backup/, but only if the files in backup/ are older than those in project/. Which command achieves this?
hard
A. cp -ru project/ backup/
B. cp -r project/ backup/
C. cp -rf project/ backup/
D. cp -ri project/ backup/

Solution

  1. Step 1: Understand the options

    -r copies directories recursively, -u copies only when source is newer than destination, -f forces overwrite, -i prompts before overwrite.
  2. Step 2: Choose the correct combination

    To copy directories and update only newer files, use -ru. This copies recursively and updates only if source is newer.
  3. Final Answer:

    cp -ru project/ backup/ -> Option A
  4. Quick Check:

    Use -ru to copy recursively and update only newer files [OK]
Hint: Use -ru to copy folders and update only newer files [OK]
Common Mistakes:
  • Using -r alone copies all files regardless of age
  • Using -f overwrites without checking timestamps
  • Using -i prompts but doesn't check file age
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard