中文用户目录迁移为英文
在中文系统安装的 Ubuntu 中,默认用户目录会使用中文名(桌面、下载、文档等),在终端、开发工具、脚本中容易出现路径编码或显示问题。本文介绍如何将用户目录迁移为英文命名。
1、强制将系统配置改为英文
export LC_ALL=C
xdg-user-dirs-update --force
xdg-user-dirs-update 会根据 ~/.config/user-dirs.dirs 和语言环境更新用户目录。LC_ALL=C 临时切换为英文环境,使生成的目录名为 Desktop、Downloads 等。
2、迁移脚本:中文目录 → 英文目录
以下脚本会将中文目录中的文件迁移到对应英文目录,并删除空的中文目录:
#!/bin/bash
# 1. 强制将系统文件夹路径配置改为英文
export LC_ALL=C
xdg-user-dirs-update --force
# 2. 定义映射关系并开始迁移
folders="桌面:Desktop 下载:Downloads 模板:Templates 公共:Public 文档:Documents 音乐:Music 图片:Pictures 视频:Videos"
for pair in $folders; do
# 拆分中文名和英文名
src=$(echo $pair | cut -d: -f1)
dst=$(echo $pair | cut -d: -f2)
# 如果旧的中文目录存在,且不是空的,就移动里面的内容
if [ -d "$HOME/$src" ]; then
echo "正在处理: $src -> $dst"
# 确保英文目录已创建
mkdir -p "$HOME/$dst"
# 移动文件
if [ "$(ls -A "$HOME/$src")" ]; then
mv "$HOME/$src"/* "$HOME/$dst/" 2>/dev/null
fi
# 删除空的中文目录
rmdir "$HOME/$src"
fi
done
echo "迁移完成!"
3、映射关系说明
| 中文目录 | 英文目录 |
|---|---|
| 桌面 | Desktop |
| 下载 | Downloads |
| 模板 | Templates |
| 公共 | Public |
| 文档 | Documents |
| 音乐 | Music |
| 图片 | Pictures |
| 视频 | Videos |
4、使用前注意
- 备份:建议先备份重要数据
- 隐藏文件:
mv .../*不包含以.开头的隐藏文件,如有需要请手动迁移 - 软链接:若有指向中文路径的符号链接,迁移后需更新
5、迁移后验证
# 查看 user-dirs.dirs 配置
cat ~/.config/user-dirs.dirs
应看到类似 XDG_DESKTOP_DIR="$HOME/Desktop" 的英文路径配置。