ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

3条curl命令搞定Dufs文件操作API:删除、复制与移动

3条curl命令搞定Dufs文件操作API:删除、复制与移动 3条curl命令搞定Dufs文件操作API删除、复制与移动【免费下载链接】dufsA file server that supports static serving, uploading, searching, accessing control, webdav...项目地址: https://gitcode.com/gh_mirrors/du/dufsDufs 是一个用 Rust 编写的文件服务器一条命令就能把本地任意目录变成可网页管理的文件服务。本文聚焦它的删除、复制、移动三个文件操作接口读完你能直接用 curl 管理远程机器上的文件不必登机器也不必先下载再上传。什么情况下用得上当你需要清理服务器上早已过期的临时文件但机器没有图形界面、控制台又在很远的机房时当你想拿一份文件做备份副本用于实验不想下载—修改—再上传这一圈时当你要把根目录下某子目录里的散落文件归位到别的子目录且希望全程走 HTTP 时开始之前安装 dufs 并以写权限启动指向你要管理的目录--allow-all一键打开上传、删除等全部写操作dufs --allow-all /path/to/dir生产环境建议按最小权限拆开只删文件就加--allow-delete只复制就加--allow-upload本机装有 curl 即可多数系统自带️ 一条curl的DELETE命令删除文件或目录删除是最简单的操作对目标路径发一个 DELETE 请求文件或整个目录都能删。curl -X DELETE http://127.0.0.1:5000/tmp/old_logs成功返回 204 No Content无响应体属正常现象未开--allow-delete时会收到 403目录删除是递归的且没有二次确认动手前先确认路径指向哪里实现见 源码。 用COPY方法复制文件且保留原件复制走 WebDAV 的 COPY 方法目标位置写在Destination请求头里不需要 body。curl -X COPY http://127.0.0.1:5000/report.xlsx \ -H Destination: http://127.0.0.1:5000/backup/report.xlsxDestination必须是完整 URL 且落在根目录内否则返回 400目标父目录会自动创建只支持复制文件对目录发 COPY 会收到 403实现见 源码。 用MOVE方法把文件跨目录移动移动对应 MOVE 方法本质是操作系统的 rename同一文件系统内几乎瞬间完成不额外占磁盘空间。curl -X MOVE http://127.0.0.1:5000/inbox/a.zip \ -H Destination: http://127.0.0.1:5000/archive/a.zip权限要求最高--allow-upload和--allow-delete必须同时开启缺一即 403跨不同磁盘分区不同文件系统时 rename 会失败可先 COPY 再 DELETE 代替实现见 源码。避坑与最佳实践收到 403 Forbidden原因是 dufs 默认只读启动时没开对应权限。解决办法补上--allow-delete/--allow-upload并重启进程收到 400 Invalid Destination原因多为 Destination 写成了相对路径或指向了根目录之外。解决办法改成以http://127.0.0.1:5000/开头的完整 URL返回 204 却看不到结果204 本来就没有响应体别以为失败了。用 GET 或浏览器打开目标目录确认即可大批量复制效率低COPY 不支持目录且一次只搬一个文件。批量场景建议接 rclone 等 WebDAV 客户端操作同一服务权限别图省事只删文件就不要用--allow-all用--allow-delete限定操作面落地建议定时备份在 crontab 里跑一条 COPY 命令每天把关键文件复制到 /backup 目录再用 DELETE 清掉超过一个月的旧副本文件归档建一个 inbox 目录收临时文件每周用 MOVE 按项目分目录归位避免反复下载上传部署更新新版文件先上传到 /staging用 COPY 复制到运行目录确认无误后再 DELETE 清掉旧版本总结删除、复制、移动这三条命令配合启动参数控制权限就覆盖了远程文件管理的大部分日常需求。不妨先在本地测试目录开--allow-all把流程跑通再收紧权限上线使用。【免费下载链接】dufsA file server that supports static serving, uploading, searching, accessing control, webdav...项目地址: https://gitcode.com/gh_mirrors/du/dufs创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表