How to effectively use SCP Commands

Whenever you’re working with computers or any electronic device that has storage capacity, you might need to distribute or share information and files in various ways.

These might be sound files, images, notes, or any number of text configuration files.

And the information you share will often be private or confidential, and you won’t want it to fall into the wrong hands. This means that protecting the info is essential.

When it comes to sharing data in operating systems like Linux, there are multiple commands you can choose from to share information. But today we’ll be focusing on the SCP command. It lets you share files and data securely and easily.

What are Linux SCP Commands?

SCP stands for Secure Copy Protocol. It encrypts the transmission of files between Linux systems. SCP is a command-line tool that you use to copy or transfer files and directories across Linux systems securely.

For example, if you want to copy files to a Linux system and you are worried that prying eyes on the network might have access to your files, you can easily use SCP commands.

SCP uses encryption over an SSH (Secure Shell) connection, which ensures that even if the data is intercepted it is still protected.

SCP Syntax

Whenever you’re trying to learn a new command, you’ll need to understand the basic syntax. This will help you understand how they’re arranged and how to write them properly.

With SCP, there are some options you can use while copying the file. These features grant different permissions depending on how they are used.

The most common include:

  • P (Caps) – Specifies the port to connect to on the remote host.
  • p (lowercase) – Preserves the time-stamp for modification and access.
  • r – Recursively copies entire directories.
  • q – Quiet mode, doesn’t display progress or messages.
  • C – Compresses the data during transmission

With SCP commands, you are able to:

  • Copy files within the same machine.
  • Copy files from local host to remote host and vice versa.
  • Copy files between two different remote servers.

Before you use any of these SCP commands, there are a few things to keep in mind.

First, make sure you have SSH installed on both the client and server machines.

Second, you need to know the username and password of the remote system. You will be prompted to enter the password of the remote host, and your file transfer will begin only when you enter the correct password of the remote host.

Let’s look at some of these SCP commands in a bit more detail.

Common Linux SCP Commands

Copy a file from a local to remote server with SCP

Let’s say you are sending a local file to a remote system over SSH using SCP.

To copy a file from your local machine to a remote host, specify the path to the file as the source path along with the path in the remote host where the file needs to be copied.

Typically, you do not need to specify the location for a file if you are in your /home/user directory. If you want to copy the test.txt file to the server, you can enter the following:


“scp test.txt userbravo@destination:/location2′


To copy all .txt files into userbravo’s home directory, enter the following:


“scp *.txt userbravo@destination_host:/~/”

If you only specify the destination directory, SCP will leave the filename as-is.

To change the filename, define a new filename in the destination:

“scp test.txt userbravo@destination_host:/user/home/useralphatest.txt”

In this example, we copied the test.txt file from the local machine, then saved it as useralphatest.txt in the user directory of the destination system.

Also read: what is python programming language

Copy a file from remote to local using SCP

Take this scenario. You want to copy files from a remote Linux system your currently logged-in system. All you need to do is to invoke SCP followed by the remote username, @, the IP address or host, colon, and the path to the file.

If the path is not specified, the default path is the remote user’s home directory. Then, define the local path where the file will be stored locally.

A simple scp example to copy a file from remote to the local device would be:

scp <Username>@<IPorHost>:<PathToFile> <LocalFileLocation>”

In my case, way I wanted to copy a file named linuxcheatsheet from the remote device with this address

The linuxcheatsheet file is stored on the kali user’s home directory, the user I will authenticate. Therefore after the colon, I don’t need specify the path because it’s the default one, which is the home directory, and I just type the filename (“linuxcheatsheet”). Then, I specify the current directory as the local location to store the file by typing a dot.


Quick Tips to Help You Use SCP Commands

The SCP command relies on SSH for secure data transfer, meaning it requires a password to authenticate on remote systems.


To be able to copy files, you must have read permissions on the source file and write permission on the target system.


Watch out when copying files with the same name and location, as SCP will overwrite them without warning you.


To be able to distinguish between local and remote locations, use ‘:’.

Also read: how to become a better software developer

Wrapping Up

Whether you are a support engineer, system admin, or even a growing developer like myself who uses Linux or wants to learn it – it’s likely that you will have to transfer files at some point. And knowing these simple SCP commands will come in handy.

Leave a Reply

Your email address will not be published. Required fields are marked *

Previous Post

How to become a better software developer

Next Post

How to become a Software Developer: Beginner’s Guide