⑴ linux系统文件名不能包含哪些的符号
Linux系统区分英文字符的大小写。命名目录和命名文件的规则是相同的。除非有特别的原因,否则用户创建的文件和目录名要使用小写字符。大多数的Linux命令也使用小写字符。
Linux系统下的文件名长度最多可到256个字符。通常情况下,文件名的字符包括:字母、数字、"."(点)、"_"(下划线)和"-"(连字符)。
Linux允许在文件名中使用除上述符号之外的其它符号,但并不建议用户这样做。有些转意字符(即该字符被系统借用,表示某种特殊含义)在Linux的命令解释器(shell)中有特殊的含义。这样的转意字符有:"?"(问号),"*"(星号),""(空格),"$"(货币符),"&",扩号等等。在文件名中应尽量避免使用这些字符。
文件名中可以有""(空格),但建议用户用"_"(下划线)来替代。
"/"既可代表目录树的根也可作为路径名中的分隔符(类似DOS下的"),因此"/"不能出现在文件名中。
"."和".."分别用来表示"当前目录"和"父目录",因此它们也不能作为文件名。
⑵ Linux文件名的长度不能超过多少个字符
题主你好,
这个长度不是绝对的, 但大多数的linux系统:
文件名长度限制是255个字符;
路径名长度限制是4096个字符;
-----
具体情况题主可以在自己电脑上执行以下两个命令看一下自己本地的linux系统这两个长度情况:
文件名最大长度: getconf NAME_MAX /
路径名最大长度: getconf PATH_MAX /
我电脑上的情况:
-----
另外,这个信息其实都在linux一个名叫limits.h的头文件中写着呢, 有兴趣的话,题主自己可以找一下:
find /usr | grep limits.h | xargs -I {} grep -H 'NAME_MAX' {}
find /usr | grep limits.h | xargs -I {} grep -H 'PATH_MAX' {}
=====
希望可以帮到题主, 欢迎追问.