📖 Scenario: You need to securely copy files from your local computer to a remote server using the scp command. This is common when you want to upload your work or backup files safely over the network.
🎯 Goal: Learn how to use the scp command to transfer a file from your local machine to a remote server with a specific username and destination path.
📋 What You'll Learn
Use the scp command to copy files
Specify the source file path exactly
Specify the remote username and server address
Specify the destination path on the remote server
💡 Why This Matters
🌍 Real World
SCP is widely used by system administrators and developers to securely transfer files between computers over a network.
💼 Career
Knowing how to use SCP is essential for roles involving server management, deployment, and secure file handling.
Progress0 / 4 steps
1
Prepare the local file to transfer
Create a file called report.txt in your current directory with the exact content: Monthly sales report. Use the echo command to do this.
Linux CLI
Hint
Use echo followed by the text in quotes, then redirect it to report.txt using >.
2
Set the remote server details
Create a variable called remote_user and set it to admin. Create another variable called remote_host and set it to 192.168.1.100.
Linux CLI
Hint
Assign the username and IP address to variables using = without spaces.
3
Write the SCP command to transfer the file
Use the scp command to copy report.txt from your local machine to the remote server. Use the variables remote_user and remote_host for the username and server. Copy the file to the remote path /home/admin/reports/.
Linux CLI
Hint
Use scp followed by the source file, then ${remote_user}@${remote_host}:/home/admin/reports/ as the destination.
4
Verify the file transfer command output
Run the script and show the output of the scp command. The output should show the progress of copying report.txt to the remote server.
Linux CLI
Hint
When you run scp, it shows the file name and progress. You only need to show that output contains report.txt.
Practice
(1/5)
1. What does the scp command do in Linux?
easy
A. Changes file permissions
B. Compresses files into a zip archive
C. Securely copies files between local and remote machines
D. Displays the contents of a file
Solution
Step 1: Understand the purpose of scp
The scp command is designed to securely transfer files between computers over a network.
Step 2: Compare with other options
Options A, B, and C describe different commands: permission changes, compression, viewing files, which are unrelated to scp.
Final Answer:
Securely copies files between local and remote machines -> Option C
2. Which of the following is the correct syntax to copy a file file.txt from your local machine to a remote server server.com under user alice in the directory /home/alice/?
easy
A. scp file.txt alice@server.com:/home/alice/
B. scp alice@server.com:/home/alice/ file.txt
C. scp /home/alice/file.txt alice@server.com:
D. scp file.txt /home/alice/alice@server.com
Solution
Step 1: Identify source and destination in scp syntax
The syntax is scp source destination. Here, file.txt is local source, and alice@server.com:/home/alice/ is remote destination.
Step 2: Check each option
scp file.txt alice@server.com:/home/alice/ correctly places local file first and remote path second. scp alice@server.com:/home/alice/ file.txt reverses source and destination. scp /home/alice/file.txt alice@server.com: uses remote path as source incorrectly. scp file.txt /home/alice/alice@server.com has wrong path format.
Final Answer:
scp file.txt alice@server.com:/home/alice/ -> Option A
Hint: Local file first, remote user@host:path second [OK]
Common Mistakes:
Swapping source and destination
Missing colon after remote host
Incorrect path order
3. What will be the output or result of this command? scp -r alice@server.com:/var/logs ./backup_logs Assuming you have access and the remote directory exists.
medium
A. Copies the remote /var/logs directory recursively to local ./backup_logs folder
B. Copies only files inside /var/logs but not subdirectories
C. Throws an error because -r cannot be used with remote paths
D. Deletes the local ./backup_logs directory
Solution
Step 1: Understand the -r option in scp
The -r flag means recursive copy, so it copies directories and their contents.
Step 2: Analyze the command effect
The command copies the remote directory /var/logs from user alice on server.com to the local folder ./backup_logs. This is valid and copies all files and subfolders.
Final Answer:
Copies the remote /var/logs directory recursively to local ./backup_logs folder -> Option A
Quick Check:
scp -r remote:/path local copies folders recursively [OK]
Hint: Use -r to copy folders recursively from remote [OK]
Common Mistakes:
Thinking -r only copies files, not folders
Believing -r is invalid with remote paths
Confusing copy direction
4. You run this command to copy a file from remote to local: scp alice@server.com/home/alice/file.txt ./ But it fails with an error. What is the likely problem?
medium
A. scp cannot copy files from remote to local
B. Missing colon after the remote host before the path
C. Local path ./ is invalid
D. User alice does not have permission to copy files
Solution
Step 1: Check the remote path syntax
Remote paths must be specified as user@host:/path with a colon after the host. The command misses the colon after server.com.
Step 2: Understand the error cause
Without the colon, scp treats the whole string as a local path, causing failure.
Final Answer:
Missing colon after the remote host before the path -> Option B
Quick Check:
Remote path needs colon after host [OK]
Hint: Always put colon after remote host in scp paths [OK]
Common Mistakes:
Omitting colon after remote host
Assuming local path is wrong
Thinking scp can't copy remote files
5. You want to copy multiple files file1.txt and file2.txt from your local machine to the remote directory /data/uploads on server example.com as user bob. Which command correctly does this in one line?
hard
A. scp file1.txt,bob@example.com:/data/uploads/ file2.txt
B. scp file1.txt file2.txt -r bob@example.com:/data/uploads/
C. scp bob@example.com:/data/uploads/ file1.txt file2.txt
D. scp file1.txt file2.txt bob@example.com:/data/uploads/
Solution
Step 1: Understand copying multiple files with scp
scp supports copying multiple files by listing them before the destination path.
Step 2: Analyze each option
scp file1.txt file2.txt bob@example.com:/data/uploads/ correctly lists both files followed by remote destination. scp file1.txt file2.txt -r bob@example.com:/data/uploads/ misplaces the -r flag after the sources, treating "-r" as a non-existent source file. scp bob@example.com:/data/uploads/ file1.txt file2.txt reverses source and destination. scp file1.txt,bob@example.com:/data/uploads/ file2.txt has invalid syntax with comma.
Final Answer:
scp file1.txt file2.txt bob@example.com:/data/uploads/ -> Option D
Quick Check:
List files then remote destination [OK]
Hint: List all files first, then remote destination [OK]
Common Mistakes:
Misplacing the -r flag after source files
Swapping source and destination
Incorrect file list syntax
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.