---
name: "lsftp"
section: "1"
platform: "linux"
package: "lsh-client"
version: "2.1-13+b1"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/lsftp"
---

# lsftp(1)

Client for the sftp subsystem

## NAME

lsftp - Client for the sftp subsystem

## SYNOPSIS

**lsftp \[OPTION\]... \[-- \[COMMAND\]...\]**

## DESCRIPTION

**lsftp** is a program that connects to a remote sftp server, and can be used to upload download files á la FTP. When invoked with no command arguments, lsftp enters interactive mode, much like **ftp** **(1)** (although with a more feature rich interface, providing tab completion, recursive up and downloads and more). However, when the *--* argument and subsequent commands are passed to lsftp, lsftp simply executes those commands and exits.

## OPTIONS

Anything  (except the special options --, **--help** and **--version** ) before the last (if any) -- is handled as options, meaning lsftp passes them directly to the transport program. If you want to pass -- to the transport program, you must give an extra -- to make sure it's not handled as end of options, e.g.

lsftp OPTIONS -- MORE OPTIONS --

to enter interactive mode or

lsftp -l OTPIONS -- MORE OPTIONS -- ls

to perform the **ls** command.

- Available options:

  - **--help**

  Show summary of options.

- **--version**

  Show version of program.

- **--**

  End of options (if the last occurence).

## COMMANDS

- **cd *directory***

  Change the current directory on the remote server to *directory*.

- **rm *filespec***

  Removes files or directories. To delete directories, the -r option needs to be specified. The rm command doesn't accept wildcards by default, to enable these you must specify the -g option.

- **delete**

  Alias for **rm**.

- **mkdir *dir***

  Make directory *dir*.

- **about**

  Display information about lsftp.

- **help**

  Displays a list of commands.

- **?**

  Alias for **help**.

- **longhelp**

  Displays the list of commands with detailed information about each command.

- **ls *filespec***

  List remote files and folders.

- **list**

  Alias for **ls**.

- **dir**

  (Another) Alias for **ls**.

- **pwd**

  Print the current working directory.

- **quit**

  Quit lsftp.

- **exit**

  Quit lsftp.

- **set \[*var=value*\]**

  Sets or shows variables. Without an argument, *set* displays the current variable state. With a *var=value* argument, **set** sets the appropriate variable in the environment.

- **mail**

  Runs the **mail (1)** command.

- **umask \[*value*\]**

  Sets or displays the remote umask.

- **jobs**

  Prints information about currently running jobs.

- **open *site***

  Open a sftp connection to *site*.

- **close**

  Close the current connection.

- **mv *old-filename* *new-filename***

  Rename file *old-filename* to *new-filename*.

- **rename**

  Alias for **mv**.

- **ln *file* *link***

  Make *link* a symlink to *file*.

- **get *remote-file***

  Retrieve *remote-file* on the remote system to the local system.

- **put *local-file***

  Send *local-file* on the local system to the remote system.

- **chown *uid* *file***

  Change the ownership of *file* to be owned by the user represented by *uid*.

- **chgrp *gid* *file***

  Change the group ownership of *file* to be owned by the group represented by *gid*.

- **lcd *dir***

  Change the current local directory to *dir*.

- **lrm *file***

  Remove *file* from the **local** system.

- **ldelete**

  Alias for **lrm**.

- **lls**

  List files on the local system.

- **llist**

  Alias for **lls**.

- **lpwd**

  Print the current local working directory.

- **! *command***

  Executes *command* in a shell on the local system.

## ENVIRONMENT

- **LSFTP\_RSH**

  The program to use for the SSH tunnel. If the variable is not set, lsftp defaults to using lshg.

- **LSFTP\_BEFORE\_ARGS**

  - **LSFTP\_AFTER\_ARGS**

  may be used to specify default options to be parsed before and after the command line options, making it possible to provide default transport options as well as commands if desired.

## REPORTING BUGS

Report bugs to \<bug-lsh@gnu.org\>.

## COPYING

The lsh suite of programs is distributed under the GNU General Public License; see the COPYING and AUTHORS files in the source distribution for details.

## AUTHOR

The lsh program suite is written mainly by Niels Möller \<nisse@lysator.liu.se\>. The lsftp client was written mainly by Pontus Freyhult.

This man-page was written for lsh 2.0 by Pontus Freyhult \<pont\_lsh@soua.net\>, it is based on a template written by J.H.M. Dassen (Ray) \<jdassen@wi.LeidenUniv.nl\>. Most of the text was taken from the  man page provided for the Debian GNU/Linux system by Timshel Knoll \<timshel@debian.org\>.

## SEE ALSO

[**lsftp**(1)](/lsftp/1.md), [**lshd**(8)](/lshd/8.md), [**sftp**(1)](/sftp/1.md), [**sftp-server**(8)](/sftp-server/8.md)

The full documentation for **lsh** is maintained as a Texinfo manual.  If the **info** and **lsh** programs are properly installed at your site, the command

-

  **info lsh**

should give you access to the complete manual.
