You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux下实现类Windows复制效果:忽略文件名大小写重名自动覆盖

Linux下复制文件忽略大小写、覆盖大小写不同重名文件的方案

Linux原生文件系统默认是大小写敏感的,要实现和Windows一致的大小写不敏感复制效果(重名但大小写不同的文件直接覆盖,不生成新文件),可以通过以下三种方案实现,均适配Wine/Proton游戏MOD安装场景:


方案1:自定义Bash脚本实现(通用性最强,无需修改系统配置)

适合临时使用,脚本会自动在目标目录匹配和源文件名小写一致的已有文件,匹配到直接覆盖,未匹配到则正常复制。

  1. 将以下代码保存为cpnocase.sh:
#!/bin/bash
src="$1"
dest="$2"
# 处理目标为目录的场景
if [ -d "$dest" ]; then
    src_file=$(basename "$src")
    src_lower=$(echo "$src_file" | tr '[:upper:]' '[:lower:]')
    # 遍历目标目录匹配小写文件名
    for exist_file in "$dest"/*; do
        exist_file_lower=$(basename "$exist_file" | tr '[:upper:]' '[:lower:]')
        if [ "$src_lower" = "$exist_file_lower" ]; then
            cp -f "$src" "$exist_file"
            exit 0
        fi
    done
    # 无匹配则正常复制
    cp -f "$src" "$dest/"
else
    # 目标为文件直接覆盖
    cp -f "$src" "$dest"
fi
  1. 给脚本添加执行权限:chmod +x cpnocase.sh
  2. 复制时执行命令即可:./cpnocase.sh 源文件路径 目标目录/文件路径
    批量复制时可套入for循环处理多个源文件。

方案2:挂载游戏目录为大小写不敏感(固定游戏目录首选,一劳永逸)

仅需要对游戏所在目录设置大小写不敏感属性,设置完成后所有复制操作自动适配Windows逻辑,无需额外工具,最适配MOD安装的固定场景。
要求Linux内核版本5.2及以上(当前主流发行版均满足),操作步骤:

  • 卸载游戏目录所在分区(普通未单独挂载的目录可跳过此步):umount /path/to/your/game/dir
  • 给分区开启大小写折叠功能:tune2fs -O casefold /dev/sdXn,将/dev/sdXn替换为游戏目录所在的分区设备名
  • 重新挂载分区并添加casefold参数:mount -o casefold /dev/sdXn /path/to/your/game/dir
  • 给游戏目录单独开启大小写不敏感属性:chattr +F /path/to/your/game/dir
  • 如需永久生效,将casefold参数添加到/etc/fstab对应分区的挂载参数列即可。

设置完成后,使用系统自带的cp命令、文件管理器执行复制操作,都会自动忽略大小写覆盖重名文件,和Windows的复制行为完全一致。


方案3:使用rsync命令实现(无需额外配置,适合临时批量操作)

rsync自带忽略大小写匹配参数,一行命令即可完成批量MOD复制,无需写脚本或修改系统配置:

  • 基础复制命令:rsync -av --ignore-case 源MOD目录/ 目标游戏目录/
  • 如需同步删除目标目录中源目录不存在的冗余文件,可添加--delete参数:rsync -av --ignore-case --delete 源MOD目录/ 目标游戏目录/

参数说明:

  • --ignore-case:文件匹配时忽略大小写
  • -a:保留文件权限、时间戳等属性,不会破坏游戏原有文件的运行要求

内容的提问来源于stack exchange,提问作者Paweł Selen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 09:45:02