Debian 11 Bullseye
Sponsored Link

FTP : FTP クライアント (Debian)2021/09/14

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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