A
cd ..
Network

SCP & SFTP File Transfer

Securely transfer files between systems with SCP and SFTP.

2025-10-12
scp, sftp, ssh

SCP - Copy file to remote

scp file.txt user@remote:/path/to/destination/

SCP - Copy from remote

scp user@remote:/path/to/file.txt ./

SCP - Copy directory

scp -r directory/ user@remote:/path/to/destination/

SCP - With custom port

scp -P 2222 file.txt user@remote:/path/

SCP - Preserve permissions

scp -p file.txt user@remote:/path/

SCP - Limit bandwidth (KB/s)

scp -l 1000 file.txt user@remote:/path/

SCP - Verbose output

scp -v file.txt user@remote:/path/

SCP - Use specific SSH key

scp -i ~/.ssh/id_rsa file.txt user@remote:/path/

SCP - Compress during transfer

scp -C large_file.txt user@remote:/path/

SCP - Copy between two remote hosts

scp user1@host1:/file user2@host2:/destination/

SFTP - Connect to server

sftp user@remote

SFTP - Custom port

sftp -P 2222 user@remote

SFTP - Upload file

put local_file.txt

SFTP - Upload directory

put -r local_directory/

SFTP - Download file

get remote_file.txt

SFTP - Download directory

get -r remote_directory/

SFTP - List remote files

ls

SFTP - List local files

lls

SFTP - Change remote directory

cd /path/to/directory

SFTP - Change local directory

lcd /path/to/directory

SFTP - Create remote directory

mkdir new_directory

SFTP - Delete remote file

rm file.txt

SFTP - Delete remote directory

rmdir directory

SFTP - Show current remote directory

pwd

SFTP - Show current local directory

lpwd

SFTP - Rename remote file

rename old_name.txt new_name.txt

SFTP - Change permissions

chmod 644 file.txt

SFTP - Execute shell command

!ls -la

SFTP - Batch mode

sftp -b batch_commands.txt user@remote

batch_commands.txt:

cd /uploads
put file1.txt
put file2.txt
quit

SFTP - Resume transfer

Most SFTP clients support reget and reput:

reget large_file.txt

SFTP - Help

help

SFTP - Exit

quit

Or:

exit

Was this useful?

Share with your team

Browse More