web-dev-qa-db-ja.com

ftp>モードを再帰的に検索および変更する方法は?

繰り返し質問される場合は申し訳ありません!すべての検索結果が「SSH」結果につながる...

[〜#〜] ftp [〜#〜]について質問しています。ターミナルを使用してFTPからモードを再帰的に変更するにはどうすればよいですか?

繰り返しますが、私は[〜#〜] ftp [〜#〜]を使用しています。SSHやSFTPではありません。

ftp> ?
Commands may be abbreviated.  Commands are:

!           dir         mdelete     qc          site
$           disconnect  mdir         sendport    size
account     exit        mget        put         status
append      form        mkdir       pwd         struct
ascii       get         mls         quit        system
bell        glob        mode        quote       sunique
binary      hash        modtime     recv        tenex
bye         help        mput        reget       tick
case        idle        newer       rstatus     trace
cd          image       nmap        rhelp       type
cdup        ipany       nlist       rename      user
chmod       ipv4        ntrans      reset       umask
close       ipv6        open        restart     verbose
cr          lcd         Prompt      rmdir       ?
delete      ls          passive     runique
debug       macdef      proxy       send

私はfindを持っていないので、試したとき:

ftp> find

私が得た:

?Invalid command

試したとき:

ftp> chmod 755 $(find /path/to/dir -type d)

わかった:

550 Could not change perms on $(find: No such file or directory

そして、私はしようとしたときにhelpから十分な情報を取得しませんでした:

ftp> help chmod

それは私にだけを与えます:

chmod       change file permissions of remote file

だから、どうすれば再帰的にchmodだけにフォルダ/ファイルを検索できますか?

何かのようなもの:

chmod 755 $(find /path/to/base/dir -type d)

chmod 644 $(find /path/to/base/dir -type f)

しかし、[〜#〜] ftp [〜#〜]

2
Homer

適切なシェルを使用すると、これははるかに簡単になります。

standardFTPサーバー はchmodをまったく許可しません。すべてのSITEコマンド、SITE CHMODが含まれ、非標準の拡張機能です。したがって、FTPサーバーは再帰をサポートしている可能性があります。おそらくそうではありません。接続先のサーバーを特定し、そのドキュメントを読むだけでわかります。

ただし、回避策として、複数のファイルを選択してバッチ操作を実行できるクライアントを使用するだけで済みます。再帰ではありませんが、like再帰です。

Filezillaのようなクライアントを考えています。すべてのファイルを選択し、右クリックしてプロパティに移動し、すべてのアクセス許可を一度に変更します。

3
Oli