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

Linux下如何创建含特殊字符的文件?touch命令使用问题求助

创建包含特殊字符的文件名 "?$'KwaMe'$?"

你遇到的问题根源在于:shell会解析双引号内的$、?、*这些特殊元字符,导致它们被替换或扩展,最终生成的文件名和预期不符。下面提供几种可靠的解决方法:

方法1:单引号包裹(推荐,最简洁)

shell会完全忽略单引号内的所有元字符,唯一需要处理的是文件名里的单引号——要在单引号字符串中插入单引号,需要用'\''的组合(原理是先闭合当前单引号,插入一个转义的单引号,再重新开启单引号)。执行命令:

touch '\?$*'\''KwaMe'\''*$?'

方法2:逐个转义特殊字符

对每个shell会解析的特殊字符($、?、*)添加反斜杠\转义,让shell把它们当作普通字符处理。命令如下:

touch "\?\$\*'KwaMe'\*\$?"

方法3:用printf生成准确文件名

利用printf输出你需要的精确字符串,再通过命令替换传递给touch,这种方式适配更复杂的特殊字符场景:

touch "$(printf '\?$*'\''KwaMe'\''*$?')"

验证文件是否创建成功

执行以下命令可以查看目标文件:

ls -l "\?$*'KwaMe'*$?"

后续操作注意事项

之后对这个文件进行删除、移动等操作时,同样需要用上述转义方法,避免shell解析特殊字符。例如删除命令:

rm '\?$*'\''KwaMe'\''*$?'

内容的提问来源于stack exchange,提问作者Cameron Shirley

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 08:09:49