Transferring files between local Linux machines and remote cloud servers typically involves running command-line scp or sftp commands by memory or launching graphical desktop clients like FileZilla and Cyberduck. However, when working on headless servers or over low-bandwidth SSH jump hosts, graphical tools are unavailable, while standard command-line SFTP prompts lack visual directory navigation. The termscp utility provides a terminal user interface (TUI) file transfer client written in Rust that brings a dual-panel explorer to the command line, supporting SFTP, SCP, FTP, and AWS S3 connections seamlessly.
Key Features of termscp for System Administrators
Unlike basic shell utilities, termscp delivers a comprehensive terminal-based remote file management environment:
- Dual-Panel Terminal Interface: Renders local directory trees on the left panel and remote server filesystems on the right panel, allowing intuitive side-by-side file navigation.
- Multi-Protocol Support: Connects across SFTP, SCP, FTP, FTPS, and Amazon Web Services S3 buckets through a single unified interface.
- Built-in Text Editor Integration: Open, inspect, and edit remote configuration files directly within your preferred terminal editor (such as nano, vim, or neovim) with automatic re-uploading upon saving.
- Secure Bookmark Bookmarking: Securely stores remote server connection profiles, port numbers, SSH keys, and usernames locally for instant one-key reconnections.
Installing termscp on Linux Distributions
Installing termscp takes only a moment across primary package managers and package registries.
Installing via Cargo (Any Distribution)
If you have Rust installed on your machine, compile and install directly from crates.io:
cargo install termscp
Installing on Arch Linux
Arch Linux includes termscp directly in its community extra repository:
sudo pacman -S termscp
Installing via Snap or Pre-Compiled Binaries
On Ubuntu and Debian systems, install using Snap:
sudo snap install termscp
Alternatively, download pre-compiled release archives directly from GitHub releases and copy the executable binary to /usr/local/bin/.
Connecting to a Remote Server with termscp
To initiate a connection, launch termscp followed by your remote server URI:
termscp sftp://[email protected]:22
If using SSH public key authentication with a specific private key file, pass the key path directly:
termscp -i ~/.ssh/production_rsa sftp://[email protected]
Upon connection, termscp divides your terminal screen into two columns: your local machine on the left and the remote host on the right.
Navigating the Dual-Panel Explorer
Moving between files and executing transfers relies on swift keyboard commands:
- Tab: Switch focus between the Local (left) and Remote (right) file explorer panels.
- Up / Down Arrows (or k / j): Browse files and directories within the active panel.
- Enter: Open a highlighted directory or enter a folder hierarchy.
- Backspace: Step back up into the parent directory level.
- Space: Transfer the selected file or directory to the opposite panel (uploading if local is focused, downloading if remote is focused).
- v: View or edit the highlighted remote file using your default terminal editor.
- d: Delete the highlighted file or folder with confirmation.
- q: Disconnect and quit the session cleanly.
Saving and Managing Bookmarks
Rather than typing IP addresses, usernames, and key parameters every time, save recurring servers as bookmarks:
- Launch
termscpwithout arguments to open the connection bookmark manager:termscp - Press n to configure a new bookmark profile.
- Enter a descriptive label (e.g.,
Production Web Server), select protocolSFTP, enter the hostname, username, and browse for your private key. - Press Enter to save the profile. In future sessions, simply highlight the bookmark and press c to connect immediately.
Adopting termscp transforms remote server administration on headless systems, combining the speed of the command line with the visual clarity of dual-panel desktop file managers.