Bash创建含冒号特殊字符目录失败,如何解决?
含冒号目录创建失败的解决方法
核心原因
冒号是部分文件系统的非法文件名字符(比如Windows NTFS/FAT32,或挂载到Linux的Windows分区),这类文件系统会直接拒绝包含冒号的目录创建请求。如果是Linux原生文件系统(如ext4、XFS),则是shell解析时的字符识别问题。
解决方案
1. 针对Linux原生文件系统(支持特殊字符)
用反斜杠转义冒号,或用引号包裹目录名,避免shell误解析:
# 转义冒号 mkdir MD_6nax_apo_POPC\:POPE_110A # 或用引号包裹 mkdir "MD_6nax_apo_POPC:POPE_110A"
2. 针对不支持冒号的文件系统
直接替换冒号为合法字符,比如下划线、连字符:
mkdir MD_6nax_apo_POPC_POPE_110A # 或 mkdir MD_6nax_apo_POPC-POPE_110A
3. 先确认文件系统类型
执行以下命令查看当前目录所在的文件系统:
df -T .
- 若输出为
ntfs/vfat:只能用替代字符方案 - 若输出为
ext4/xfs等:用转义或引号方案即可解决
内容的提问来源于stack exchange,提问作者James Starlight
相关产品推荐
相关产品推荐

