抱歉,如果这是一个重复的问题!我所有的搜索结果都是“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?
答案1
有了合适的外壳,这会变得容易得多。
A标准FTP 服务器根本不允许您 chmod。所有SITE
命令(SITE CHMOD
包括)都是非标准扩展。因此您的 FTP 服务器可能支持递归。但可能不支持。您只能通过弄清楚您正在连接的服务器,然后阅读其文档才能找到答案。
但是,作为一种解决方法,您可以使用允许您选择多个文件并对其执行批处理操作的客户端。这不是递归,而是喜欢递归。
我在考虑像 Filezilla 这样的客户端。选择所有文件,右键单击它们,然后转到属性并一次性更改所有权限。