Ubuntu 20.04
Sponsored Link

FTP : FTP クライアント (Ubuntu)2020/05/13

 
クライアントコンピューターから FTP サーバーにファイル転送します。Ubuntu クライアントを例にします。
[1] FTP クライアントをインストールします。
root@client:~#
apt -y install lftp
[2] root ユーザーでの FTP アクセスはデフォルトで禁止になっているため、一般ユーザーで FTP アクセスして利用します。
# lftp [オプション] [ホスト名]

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

Password:   # ログインユーザーのパスワード
lftp ubuntu@www.srv.world:~>

# リモートのカレントディレクトリ表示
lftp ubuntu@www.srv.world:~> pwd
ftp://ubuntu@www.srv.world

# ローカルのカレントディレクトリ表示
lftp ubuntu@www.srv.world:~> !pwd
/home/ubuntu

# リモートのカレントディレクトリのファイル一覧表示
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

# ローカルのカレントディレクトリのファイル一覧表示
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

# ディレクトリ移動
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

# ローカルのファイルをリモートにアップロード
# -a オプションでアスキー転送 (デフォルトはバイナリ転送)
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

# ローカルの複数ファイルをリモートに一括アップロード
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

# リモートのファイルをローカルにダウンロード
# -a オプションでアスキー転送 (デフォルトはバイナリ転送)
lftp ubuntu@www.srv.world:~> get -a test.py
416 bytes transferred

# リモートの複数ファイルをローカルに一括ダウンロード
lftp ubuntu@www.srv.world:~> mget -a test.txt test2.txt
20 bytes transferred
Total 2 files transferred

# リモートのカレントディレクトリにディレクトリ作成
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.

# リモートのカレントディレクトリ内のディレクトリ削除
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

# リモートのファイル削除
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

# リモートの複数ファイル一括削除
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

# ![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

# 終了
lftp ubuntu@www.srv.world:~> quit
221 Goodbye.
関連コンテンツ