今天在写golang,os.Rename
使用移动文件的时候,报错:
invalid cross-device link.
翻译过来的意思是 “无效的跨设备连接”。
原来是我的linux文件系统使用两种不同格式的文件系统, 我从A目录(sda磁盘),移动文件到B目录(sdb磁盘),不能直接使用os.Rename
。
解决方案,使用linux shell命令代替,具体代码如下:
var cmd *exec.Cmd
cmd = exec.Command("mv", srcFile, dstFile)
_, err := cmd.Output()
if err != nil {
fmt.Println(err)
}