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需要如下写:

相关推荐
比奇堡派星星4 分钟前
Linux 杂项设备驱动框架详解
linux·arm开发·驱动开发
放寒假脚后跟v10 分钟前
Pod 的 YAML 文件中 exitCode 字段的具体含义、不同取值代表的场景
运维·云原生·容器·kubernetes·k8s
东方佑12 分钟前
使用Docker Compose一键部署OnlyOffice:完整指南与配置解析
运维·docker·容器
Eternity∞29 分钟前
基于Linux系统vim编译器情况下的C语言学习
linux·c语言·开发语言·学习·vim
赵文宇(温玉)36 分钟前
Docker的价值、特点、创新与关键技术
运维·docker·容器
芝麻馅汤圆儿37 分钟前
cpu 大小核
linux·运维·centos
m0_726965981 小时前
玩转(坏)服务器【一】
运维·服务器
牛奶咖啡131 小时前
shell脚本编程(三)
linux·shell脚本编程·环境变量的设置与取消·位置参数变量与内部参数变量·返回与退出状态·让变量获取键盘输入内容·使用decalre声明变量
记得开心一点嘛1 小时前
Elasticsearch
运维·jenkins
2401_890443021 小时前
Linux进程间通信
linux·服务器