前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WSL中vscode修改文件名报错Unable to move/copy

WSL中vscode修改文件名报错Unable to move/copy

作者头像
德顺
发布2023-11-24 09:23:09
2590
发布2023-11-24 09:23:09
举报
文章被收录于专栏:前端资源前端资源

正常使用 Windows 开发,在部署编译的时候因为大小写问题报错,想安装一个 WSL Debian 系统,在里面编译一下试试,可以正常编译。

这里有一个误区,我一直以为 Windows 和 MacOS 不区分大小写,Linux 是区分大小写的。

其实不是的,文件大小写敏感是与文件系统有关的, Windows 默认的文件系统(NTFS)不区分文件名的大小写,而在 Linux 比较常见的 Ext4 文件系统中,文件名是区分大小写的。

于是就从服务器部署的日志查看是哪些文件名有问题,逐一排查。

在修改一个文件夹的大小写时,报了下面的错误:

代码语言:javascript
复制
Unable to move/copy 'vscode-remote://wsl+debian/mnt/d/lib/packages/src/Line-chart' because target 'vscode-remote://wsl+debian/mnt/d/lib/packages/src/line-chart' already exists at destination.

不能修改,那只能用命令来修改了,常见的方法有两种:

强制移动/复制

使用 mvcp 命令,并使用 -f 选项来强制执行。

代码语言:javascript
复制
mv -f Line-chart line-chart

代码语言:javascript
复制
cp -rf Line-chart line-chart

修改文件名

使用 mv 命令来修改文件名:

修改单个文件名:

代码语言:javascript
复制
mv old-file-name new-file-name

old-file-name 是原始文件名,new-file-name 是新文件名。

例如,将 Line-chart 修改为 line-chart:

代码语言:javascript
复制
mv circular-bar-Line-chart circular-bar-line-chart

批量修改多个文件名:

代码语言:javascript
复制
for file in *; do
  mv "$file" "$(echo $file | tr 'A-Z' 'a-z')"
done

上述命令 tr 'A-Z' 'a-z'是将所有大写字母转换为小写字母的命令。这是一个示例,你可以根据需要修改转换规则。

注意:要小心使用这些命令,因为它会覆盖目标位置的同名文件,可能会导致数据丢失。

结果还报错:

代码语言:javascript
复制
mv: cannot move 'Line-chart' to a subdirectory of itself, 'line-chart/Line-chart'

归根结底还是大小写敏感问题,可以先改成一个临时名称,再改回来:

修改成临时名称:

代码语言:javascript
复制
mv  Line-chart  line-chart-temp

将临时文件名重命名为目标文件名:

代码语言:javascript
复制
mv line-chart-temp line-chart

未经允许不得转载:Web前端开发资源网 » WSL中vscode修改文件名报错Unable to move/copy

推荐阅读:

jQuery实现元素的鼠标移入移出及点击显示隐藏(微信二维码)

CSS3中元素背景的 gradient 渐变属性

判断网页是通过PC端还是移动终端打开的

分享一些实用的Chrome DevTools技巧

JetBrains IDE Support 浏览器自动刷新插件(不定时更新)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 强制移动/复制
  • 修改文件名
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档