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

相关推荐
RSTJ_16254 小时前
PYTHON+AI LLM DAY SIXTY-SIX
服务器·开发语言·python
Cx330❀4 小时前
【Linux网络】一文吃透 TCP Socket 编程
linux·运维·服务器·开发语言·网络·tcp/ip
zizle_lin4 小时前
WSL初始化Ubuntu的使用
linux·运维·ubuntu·wsl
志栋智能4 小时前
轻量级 vs. 重平台:巡检超自动化的两种路径选择
运维·网络·人工智能·自动化
衫水4 小时前
项目后端服务 Docker 部署SOP (2026-06-04)
运维·docker·容器
我命由我123454 小时前
Excel - Excel 覆盖模式与编辑模式
运维·学习·职场和发展·excel·求职招聘·职场发展·运维开发
c++之路4 小时前
Linux 下 C++ 开发环境搭建
linux·运维·c++
溜达的大象4 小时前
Ubuntu服务器之间校时
linux·ubuntu·excel
鹏大师运维4 小时前
Ubuntu 26.04 Linux 7.0内核安装VMware实战
linux·ubuntu·vmware·虚拟机·麒麟·统信uos·linux7.0
Bruce_kaizy4 小时前
c++网络编程——解析主机字节序、网络字节序以及深入剖析tcp编程中万恶的结构体(爆肝)
linux·服务器·网络·tcp/ip·ubuntu