Debian 11 Bullseye
Sponsored Link

FTP : FTP Client (Debian)2021/09/14

 
Configure Client computer to connect to FTP Server. The example below is for Debian.
[1] Install FTP Client.
root@client:~#
apt -y install lftp
[2] The connection with root account is prohibited by default, so access with a common user to FTP Server.
# lftp [option] [hostname]

hirsute@client:~$
lftp -u debian www.srv.world

Password:   # password of the user
lftp debian@www.srv.world:~>

# show current directory on FTP server
lftp debian@www.srv.world:~> pwd
ftp://debian@www.srv.world

# show current directory on localhost
lftp debian@www.srv.world:~> !pwd
/home/debian

# show files in current directory on FTP server
lftp debian@www.srv.world:~> ls
drwxr-xr-x    2 1000     1000           23 Sep 13 01:33 public_html
-rw-r--r--    1 1000     1000          399 Sep 13 16:32 test.py

# show files in current directory on local server
lftp debian@www.srv.world:~> !ls -l
total 12
-rw-rw-r-- 1 debian debian 10 Sep 13 14:30 debian.txt
-rw-rw-r-- 1 debian debian 10 Sep 13 14:59 test2.txt
-rw-rw-r-- 1 debian debian 10 Sep 13 14:59 test.txt

# change directory
lftp debian@www.srv.world:~> cd public_html
lftp debian@www.srv.world:~/public_html> pwd
ftp://debian@www.srv.world/%2Fhome/debian/public_html

# upload a file to FTP server
# [-a] means ascii mode (default is binary mode)
lftp debian@www.srv.world:~> put -a debian.txt test.txt
22 bytes transferred
Total 2 files transferred
lftp debian@www.srv.world:~> ls
drwxr-xr-x    2 1000     1000           23 Sep 13 01:33 public_html
-rw-r--r--    1 1000     1000           10 Sep 13 17:01 debian.txt
-rw-r--r--    1 1000     1000          399 Sep 13 16:32 test.py
-rw-r--r--    1 1000     1000           10 Sep 13 17:01 test.txt

# upload some files to FTP server
lftp debian@www.srv.world:~> mput -a test.txt test2.txt
22 bytes transferred
Total 2 files transferred
lftp debian@www.srv.world:~> ls
drwxr-xr-x    2 1000     1000           23 Sep 13 01:33 public_html
-rw-r--r--    1 1000     1000          399 Sep 13 16:32 test.py
-rw-r--r--    1 1000     1000           10 Sep 13 17:06 test.txt
-rw-r--r--    1 1000     1000           10 Sep 13 17:06 test2.txt

# download a file from FTP server
# [-a] means ascii mode (default is binary mode)
lftp debian@www.srv.world:~> get -a test.py
416 bytes transferred

# download some files from FTP server
lftp debian@www.srv.world:~> mget -a test.txt test2.txt
20 bytes transferred
Total 2 files transferred

# create a directory in current directory on FTP Server
lftp debian@www.srv.world:~> mkdir testdir
mkdir ok, `testdir' created
lftp debian@www.srv.world:~> ls
drwxr-xr-x    2 1000     1000           23 Sep 13 01:33 public_html
-rw-r--r--    1 1000     1000          399 Sep 13 16:32 test.py
-rw-r--r--    1 1000     1000           10 Sep 13 17:06 test.txt
-rw-r--r--    1 1000     1000           10 Sep 13 17:06 test2.txt
drwxr-xr-x    2 1000     1000            6 Sep 13 17:16 testdir
226 Directory send OK.

# delete a direcroty in current directory on FTP Server
lftp debian@www.srv.world:~> rmdir testdir
rmdir ok, `testdir' removed
lftp debian@www.srv.world:~> ls
drwxr-xr-x    2 1000     1000           23 Sep 13 01:33 public_html
-rw-r--r--    1 1000     1000          399 Sep 13 16:32 test.py
-rw-r--r--    1 1000     1000           10 Sep 13 17:06 test.txt
-rw-r--r--    1 1000     1000           10 Sep 13 17:06 test2.txt

# delete a file in current directory on FTP Server
lftp debian@www.srv.world:~> rm test2.txt
rm ok, `test2.txt' removed
lftp debian@www.srv.world:~> ls
drwxr-xr-x    2 1000     1000           23 Sep 13 01:33 public_html
-rw-r--r--    1 1000     1000          399 Sep 13 16:32 test.py
-rw-r--r--    1 1000     1000           10 Sep 13 17:06 test.txt

# delete some files in current directory on FTP Server
lftp debian@www.srv.world:~> mrm debian.txt test.txt
rm ok, 2 files removed
lftp debian@www.srv.world:~> ls
drwxr-xr-x    2 1000     1000           23 Sep 13 01:33 public_html

# execute commands with ![command]
lftp debian@www.srv.world:~> !cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
...
...
debian:x:1001:1001::/home/debian:/bin/bash

# exit
lftp debian@www.srv.world:~> quit
221 Goodbye.
Matched Content