SSH File Transfer Protocol, a network protocol used for secure file transfer over secure shell.
SFTP (Secure File Transfer Protocol) runs over SSH protocol on standard port 22 by default to establish a secure connection. SFTP has been integrated into many GUI tools (FileZilla, WinSCP, FireFTP etc.).
Below are the most used commands for SFTP:
1. Connect to SFTP
To connect with SFTP we can use below commands.
[root@salayhin ~]# sftp email@example.com Connecting to 126.96.36.199... firstname.lastname@example.org's password: sftp>
If we are using AWS we can add the pem file location with this command.
[root@salayhin ~]# sftp -i PemFile.pem email@example.com
2. Getting Help
To get help we can use below command.
sftp> ? Available commands: cd path Change remote directory to 'path' lcd path Change local directory to 'path' chgrp grp path Change group of file 'path' to 'grp' chmod mode path Change permissions of file 'path' to 'mode' chown own path Change owner of file 'path' to 'own' help Display this help text get remote-path [local-path] Download file lls [ls-options [path]] Display local directory listing ln oldpath newpath Symlink remote file lmkdir path Create local directory lpwd Print local working directory ls [path] Display remote directory listing lumask umask Set local umask to 'umask' mkdir path Create remote directory put local-path [remote-path] Upload file pwd Display remote working directory exit Quit sftp quit Quit sftp rename oldpath newpath Rename remote file rmdir path Remove remote directory rm path Delete remote file symlink oldpath newpath Symlink remote file version Show SFTP version !command Execute 'command' in local shell ! Escape to local shell ? Synonym for help
3. Finding Present Working Directory
The command ‘lpwd‘ is used to check the Local present working directory, whereas ‘pwd‘ command is used to check Remote working directory.
sftp> lpwd Local working directory: / sftp> pwd Remote working directory: /tecmint/ lpwd – print the current directory on your system pwd – print the current directory on the ftp server
4. Listing Files
Listing files and directories in local as well as remote system.
5. Upload File
Put single or multiple files in remote system.
sftp> put profile.txt Uploading profile.txt to /salayhin/profile.txt
6. Upload Mutiple Files
Putting multiple files on in remote system.
sftp> mput *.xls
6. Download Files
Getting single or multiple files in local system.
sftp> get SettlementReport_1-10th.xls Fetching /salayhin/reporting.xls to reporting.xls Get multiple files on a local system. sftp> mget *.xls
7. Switching Directories
Switching from one directory to another directory in local and remote locations.
sftp> cd test sftp>
sftp> lcd Documents
8. Create Directories
Creating new directories on local and remote locations.
sftp> mkdir test sftp> lmkdir Documents
9. Remove Directories
Remove directory or file in remote system.
sftp> rm Report.xls sftp> rmdir sub1
10. Exist sFTP Shell
The ‘!‘ command drop us in local shell from where we can execute Linux commands. Type ‘exit‘ command where we can see sftp> prompt return.
sftp> ! [root@sftp ~]# exit Shell exited with status 1 sftp>
SFTP is very powerfull for upload and download files with a more secured way.