web-dev-qa-db-ja.com

ubuntuターミナルからncftpコマンドを使用してFTPサーバーにディレクトリを作成する

UbuntuターミナルからNcftpコマンドを使用して、FTPサーバーの特定のパスにディレクトリを作成する方法。出来ますか?

1
sysadminboy

ncftpを使用する場合、ローカルとリモートの両方の場所にディレクトリを作成する必要があります。

  1. lmkdirこのコマンドは、localホストにディレクトリを作成します
  2. mkdirこのコマンドは、remoteホストにディレクトリを作成します

ディレクトリを作成するには、リモートホストに対する適切な許可が必要になることに注意してください。

以下は自分のftpサーバーでの例です。ユーザー名とパスワードを隠し、いくつかの矢印で追加しています。

andrew@corinth:~$ ncftp ftp://username:[email protected]/andrews-corner.org/test/
NcFTP 3.2.5 (Feb 02, 2011) by Mike Gleason (http://www.NcFTP.com/contact/).
Connecting to 208.113.217.97...
DreamHost FTP Server
Logging in...
User username logged in
Logged in to andrews-corner.org.                                
Current remote directory is /andrews-corner.org/test.
ncftp /andrews-corner.org/test > mkdir hello_sysadminboy                      <-----
ncftp /andrews-corner.org/test > dir                                          <-----
drwxr-xr-x   14709624 227249                Sep 12 12:50   hello_sysadminboy  <-----
ncftp /andrews-corner.org/test > quit
andrew@corinth:~$

上記から、私が持っていることがわかります:

  1. 正常にログインし、テストディレクトリに自動的に変更されました
  2. リモートディレクトリ「hello_sysadminboy」を作成しました
  3. dirコマンドでディレクトリをテストしました

scriptしたい場合、次のようなものが私のシステムでうまく機能します:

#!/bin/sh

ncftp ftp://username:[email protected]/andrews-corner.org/test/<<EOF
mkdir hello_sysadminboy
dir
EOF

残念ながら、mkdir -pコマンドはネストされたディレクトリを作成するためにリモートでは機能せず、ブレースの展開は無視されます...

2
andrew.46