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

相关推荐
猪头少年不会遇见算法学姐11 分钟前
Makefile快速上手笔记
linux·学习
qiu_lovejun99815 分钟前
linux安装docker和redis和rabbitmq和nginx和rocketmq和kafka
linux·redis·docker·kafka·rabbitmq·rocketmq
运维大师20 分钟前
【Linux运维极简教程】04-进程与服务管理
linux·运维
keke.shengfengpolang23 分钟前
自动化考什么证书对就业有帮助?
运维·自动化
javajenius30 分钟前
Masslynx 4.1安装包免费下载及详细安装教程
java·服务器·前端·其他
源码学社34 分钟前
Spug 3.0 Ubuntu 22.04 Docker 部署文档
linux·ubuntu·docker·windows安装·spug
tebukaopu14843 分钟前
ubuntu挂载nfs
linux·运维·ubuntu
雾沉川1 小时前
Netcatty 开源 SSH 客户端完整技术使用教程
运维·开源·ssh
石小千1 小时前
修改Docker Engine 存储路径
运维·docker·容器
mounter6251 小时前
Linux 7.2 内核技术前瞻:核心 subsystems 合并与重构深度解析
linux·kernel