lftp:ファイルアップロード時にフォルダプレフィックスを削除する

lftp:ファイルアップロード時にフォルダプレフィックスを削除する

コマンドラインからftpクライアントを介してローカルフォルダの一部のファイルをリモートフォルダにアップロードしたいと思います。リモート転送プロトコル

私が望むもの:

私のローカルコンピュータには次のものがあります。

me@local $ tree
my-site
├── index.html
└── css/

FTPサーバーにアクセスするときに必要なものは次のとおりです。

me@ftp_server $ tree
dev-site/
├── index.html
└── css/

私がやりたいことはローカルをアップロードすることです。コンテンツディレクトリ自体ではありませんが、my-siteリモートディレクトリのディレクトリです。そのため、ファイルをアップロードしてこのディレクトリプレフィックス名を削除したいと思います。dev-sitemy-site

私が試したこと:

私はこれを試しました:

# On my local computer :
$ ls
my-site/
$ lftp -u username,passwd ftp.foobar.cmo -e "mirror -R -p my-site/ dev-site/ ; quit"

残念ながら、ローカルmy-siteディレクトリをリモートディレクトリにアップロードしてくださいdev-site。たとえば、次のようになります。

# On my remote ftp server :
$ tree
dev-site/
└── my-site/
    ├── index.html
    └── css/

解決策:

これは期待どおりに機能します。

# On my local computer :
$ cd my-site/
$ lftp -u username,passwd ftp.foobar.cmo -e "mirror -R -p ./ dev-site/ ; quit"

しかし、そのような汚いことは避けたいですcd

質問:

ファイルをアップロードするときにディレクトリプレフィックスを削除して、ディレクトリ自体ではなくディレクトリの内容をアップロードする方法はありますか?

答え1

それでは、ターゲットFTPディレクトリにミラーリングするときに最後のスラッシュがないとどうなりますか?

lftp -u user,password -e 'mirror -R -p /home/user/my-site dev-site ; quit' ftp.foo.cmo

lftpバージョン3.7.3では、次のように動作します。

adminnicolas@fw1:~$ lftp --version
LFTP | Version 3.7.3 | Copyright (c) 1996-2008 Alexander V. Lukyanov

関連情報