Skip to content

Instantly share code, notes, and snippets.

@feliperomero3
Last active March 27, 2021 23:31
Show Gist options
  • Save feliperomero3/5bf976f8419c5f6bfb3796a17c021c85 to your computer and use it in GitHub Desktop.
Save feliperomero3/5bf976f8419c5f6bfb3796a17c021c85 to your computer and use it in GitHub Desktop.
FTP Client: CentOS
# Source: https://www.server-world.info/en/note?os=CentOS_7&p=ftp&f=2
# [1] Install FTP Client.
[root@dlp ~]# yum -y install lftp
# [2] The connection with root account is prohibited by default, so access with an common user to FTP Server.
# lftp [option] [hostname]
[redhat@dlp ~]$ lftp -u cent www.srv.world
Password: # password of the user
lftp cent@www.srv.world:~>
# show current directory on FTP server
lftp cent@www.srv.world:~> pwd
ftp://cent@www.srv.world
# show current directory on local server
lftp cent@www.srv.world:~> !pwd
/home/redhat
# show files in current directory on FTP server
lftp cent@www.srv.world:~> ls
drwxr-xr-x 2 1000 1000 23 Jul 19 01:33 public_html
-rw-r--r-- 1 1000 1000 399 Jul 20 16:32 test.py
# show files in current directory on local server
lftp cent@www.srv.world:~> !ls -l
total 12
-rw-rw-r-- 1 redhat redhat 10 Jul 20 14:30 redhat.txt
-rw-rw-r-- 1 redhat redhat 10 Jul 20 14:59 test2.txt
-rw-rw-r-- 1 redhat redhat 10 Jul 20 14:59 test.txt
# change directory
lftp cent@www.srv.world:~> cd public_html
lftp cent@www.srv.world:~/public_html> pwd
ftp://cent@www.srv.world/%2Fhome/cent/public_html
# upload a file to FTP server
# "-a" means ascii mode ( default is binary mode )
lftp cent@www.srv.world:~> put -a redhat.txt
22 bytes transferred
Total 2 files transferred
lftp cent@www.srv.world:~> ls
drwxr-xr-x 2 1000 1000 23 Jul 19 01:33 public_html
-rw-r--r-- 1 1000 1000 10 Jul 20 17:01 redhat.txt
-rw-r--r-- 1 1000 1000 399 Jul 20 16:32 test.py
-rw-r--r-- 1 1000 1000 10 Jul 20 17:01 test.txt
# upload some files to FTP server
lftp cent@www.srv.world:~> mput -a test.txt test2.txt
22 bytes transferred
Total 2 files transferred
lftp cent@www.srv.world:~> ls
drwxr-xr-x 2 1000 1000 23 Jul 19 01:33 public_html
-rw-r--r-- 1 1000 1000 399 Jul 20 16:32 test.py
-rw-r--r-- 1 1000 1000 10 Jul 20 17:06 test.txt
-rw-r--r-- 1 1000 1000 10 Jul 20 17:06 test2.txt
# download a file from FTP server
# "-a" means ascii mode ( default is binary mode )
lftp cent@www.srv.world:~> get -a test.py
416 bytes transferred
# download some files from FTP server
lftp cent@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 cent@www.srv.world:~> mkdir testdir
mkdir ok, `testdir' created
lftp cent@www.srv.world:~> ls
drwxr-xr-x 2 1000 1000 23 Jul 19 01:33 public_html
-rw-r--r-- 1 1000 1000 399 Jul 20 16:32 test.py
-rw-r--r-- 1 1000 1000 10 Jul 20 17:06 test.txt
-rw-r--r-- 1 1000 1000 10 Jul 20 17:06 test2.txt
drwxr-xr-x 2 1000 1000 6 Jul 20 17:16 testdir
226 Directory send OK.
# delete a direcroty in current directory on FTP Server
lftp cent@www.srv.world:~> rmdir testdir
rmdir ok, `testdir' removed
lftp cent@www.srv.world:~> ls
drwxr-xr-x 2 1000 1000 23 Jul 19 01:33 public_html
-rw-r--r-- 1 1000 1000 399 Jul 20 16:32 test.py
-rw-r--r-- 1 1000 1000 10 Jul 20 17:06 test.txt
-rw-r--r-- 1 1000 1000 10 Jul 20 17:06 test2.txt
# delete a file in current directory on FTP Server
lftp cent@www.srv.world:~> rm test2.txt
rm ok, `test2.txt' removed
lftp cent@www.srv.world:~> ls
drwxr-xr-x 2 1000 1000 23 Jul 19 01:33 public_html
-rw-r--r-- 1 1000 1000 399 Jul 20 16:32 test.py
-rw-r--r-- 1 1000 1000 10 Jul 20 17:06 test.txt
# delete some files in current directory on FTP Server
lftp cent@www.srv.world:~> mrm redhat.txt test.txt
rm ok, 2 files removed
lftp cent@www.srv.world:~> ls
drwxr-xr-x 2 1000 1000 23 Jul 19 01:33 public_html
# execute commands with "![command]"
lftp cent@www.srv.world:~> !cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
...
...
redhat:x:1001:1001::/home/redhat:/bin/bash
# exit
lftp cent@www.srv.world:~> quit
221 Goodbye.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment