Ubuntu 20.04
Sponsored Link

FTP : FTP Client (Ubuntu)
2020/05/13
 
Configure Client computer to connect to FTP Server. The example below is for Ubuntu.
[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]

focal@client:~$
lftp -u ubuntu www.srv.world

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

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

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

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

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

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

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

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

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

# download some files from FTP server
lftp ubuntu@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 ubuntu@www.srv.world:~> mkdir testdir
mkdir ok, `testdir' created
lftp ubuntu@www.srv.world:~> ls
drwxr-xr-x    2 1000     1000           23 Apr 29 01:33 public_html
-rw-r--r--    1 1000     1000          399 Apr 29 16:32 test.py
-rw-r--r--    1 1000     1000           10 Apr 29 17:06 test.txt
-rw-r--r--    1 1000     1000           10 Apr 29 17:06 test2.txt
drwxr-xr-x    2 1000     1000            6 Apr 29 17:16 testdir
226 Directory send OK.

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

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

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

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

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