我有一个名为的本地文件夹dist
,我想将该文件夹中的文件上传到我的服务器 - 但我不想上传文件夹 - 只上传其内容
find dist -type f -exec curl -u username@my_server.com:my_password --ftp-create-dirs -T {} ftp://ftp.my_host.com/cantorah.com/ \;
这是可行的,但它会导致我的服务器上出现一个dist
目录 - 而我只希望上传该目录中的文件,而不上传目录本身。
如何实现这一点?
答案1
来自 curl 手册页:
--创建目录
与 -o, --output 选项结合使用时,curl 将根据需要创建必要的本地目录层次结构。此选项将创建 -o, --output 选项中提到的目录,而不会创建其他目录。如果 --output 文件名不使用目录,或者它提到的目录已经存在,则不会创建目录。
在 UNIX 风格的文件系统上,创建的目录采用模式 0750。
要在使用 FTP 或 SFTP 时创建远程目录,请尝试 --ftp-create-dirs。
似乎 --ftp-create-dirs 参数可能会导致不必要的行为,即不仅上传文件,还创建目录。
您可以考虑运行上述命令没有--ftp-create-dirs 选项来实现所需的行为。