win_os_linux不能用于文件名的保留字符

windows

在 Windows 文件系统中,以下字符是保留字符,不能用于文件名或目录名:

  1. < (小于号)
  2. > (大于号)
  3. : (冒号)
  4. " (双引号)
  5. / (斜杠)
  6. \ (反斜杠)
  7. | (竖线)
  8. ? (问号)
  9. * (星号)

此外,文件名不能以空格或句点 (.) 结尾,虽然句点可以出现在文件名的中间。文件名也不能使用下列保留的文件名,无论是否包含文件扩展名:

  • CON
  • PRN
  • AUX
  • NUL
  • COM1COM9
  • LPT1LPT9

这些保留的文件名及字符是由 MS-DOS 早期的设计决定的,并一直保留到现代的 Windows 文件系统中。确保在创建文件名时避开这些保留字符和名字,可以避免潜在的问题。

macos ios

在 macOS 和 iOS 文件系统中,以下字符是保留字符,不能用于文件名或目录名:

  1. : (冒号):在 macOS 和 iOS 中,冒号是保留的文件名字符,因为它被用作路径分隔符(类似于 Windows 中的斜杠 /)。

此外,虽然 macOS 和 iOS 的文件系统(如 APFS 和 HFS+)相对宽松,并允许大多数 Unicode 字符作为文件名,但最好避免使用以下字符,因为它们在命令行和脚本中可能具有特殊含义,或者在不同的系统中可能会引起兼容性问题:

  1. / (斜杠):虽然在 macOS 文件系统中实际可以使用(在 POSIX 路径中用作目录分隔符),但在 Finder 和其他用户界面中不能使用。
  2. \ (反斜杠):在许多编程语言和脚本中是转义字符。
  3. * (星号)
  4. ? (问号)
  5. " (双引号)
  6. < (小于号)
  7. > (大于号)
  8. | (竖线)

虽然技术上这些字符中的一些可能在文件名中可用,但在实践中避免使用这些字符可以避免跨平台兼容性问题和意外的脚本错误。

总的来说,最安全的文件命名策略是在所有平台上避免使用这些特殊字符::, /, \, *, ?, ", <, >, 和 |。这样可以确保最大程度的兼容性和减少潜在的问题。

linux

在 Linux 文件系统中,大多数字符都可以用于文件名,但有以下两个字符是绝对不能用于文件名的:

  1. / (斜杠):斜杠用于目录分隔符,因此不能在文件名中使用。
  2. \0 (空字符):空字符表示字符串结束符,也不能在文件名中使用。

虽然大多数其他字符在文件名中是允许的,但有些字符在命令行和脚本中具有特殊意义,最好避免使用,以免引起不必要的问题。这些字符包括:

  1. \ (反斜杠):在许多编程语言和脚本中是转义字符。
  2. * (星号):在命令行中用于通配符匹配。
  3. ? (问号):在命令行中用于匹配单个字符。
  4. " (双引号):用于引用字符串。
  5. ' (单引号):用于引用字符串。
  6. | (竖线):用于管道命令。
  7. & (和号):用于后台执行命令。
  8. ; (分号):用于分隔命令。
  9. > (大于号):用于重定向输出。
  10. < (小于号):用于重定向输入。
  11. () (小括号):用于子 shell 和命令组。
  12. {} (大括号):用于命令组。
  13. [] (方括号):用于字符类匹配和数组索引。
  14. ! (惊叹号):用于命令历史记录。

尽管这些字符在技术上可以包含在文件名中,但它们在命令行和脚本中有特殊意义,因此使用它们时需要小心。为了避免潜在的问题,最好在文件名中避免使用这些特殊字符。

在使用命令行的时候,比如cp,需要转义,比如:

php需要如下写:

相关推荐
运维全栈笔记44 分钟前
Vue + Spring Boot 前后端分离项目部署笔记(若依 RuoYi-Vue 3.9.2)
运维·服务器·vue.js·spring boot·笔记·开源·开源软件
专注API从业者6 小时前
告别人工盯品!借助 Open Claw 搭建电商商品自动化监控与数据分析系统(完整可运行源码)
大数据·运维·数据库·数据分析·自动化
爱喝水的鱼丶7 小时前
SAP-ABAP:ABAP 用户出口参数传递与上下文获取:SAP 标准数据读取与交互逻辑实现
运维·性能优化·交互·sap·abap·经验交流·出口
IT大白鼠7 小时前
PentestGPT作为AI运维编排工作流自动化底座的技术架构与应用价值评估
运维·人工智能·自动化·pentestgpt
M78佐菲8 小时前
c语言学习笔记:排序与查找方法整理
linux·c语言·笔记·学习·算法
ltl8 小时前
QUIC 协议拆解(上):为什么 TCP 改不动了
linux
j7~8 小时前
【Git】《Git 系列指南(二):Git基本操作与 reset 三种模式》
运维·git·git安装·git基本操作·git配置·创建git仓库·git reset三种模式
zzzll11118 小时前
n8n 工作流自动化平台入门指南
运维·自动化
Hrain-AI9 小时前
Anthropic oncall-kit 开源拆解:运维 Agent 落地范式的四基石与权限边界
运维·人工智能·开源
HXDGCL9 小时前
从“转盘困局”到“直线破局”:华创力科技PTS精密分度输送系统如何重塑自动化产线
运维·科技·自动化