免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2238 | 回复: 7
打印 上一主题 下一主题

纯数字的文件名无法使用,相当诡异啊! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-12-15 19:06 |只看该作者 |倒序浏览
同事的一台机器,装的rhel4.0
一开始是touch 12345,报错 touch: cannot touch `12345': No such file or directory
以为是touch文件被修改了,重新覆盖touch,问题依旧
再后来使用mkdir 12345 ; rename a12345 12345;  mv a12345 12345 ; echo xxxxx > 12345 均报上述错误

只要文件名不是纯数字的都没有问题。

难道是被黑掉,库文件被修改了?  大伙帮忙看看

论坛徽章:
0
2 [报告]
发表于 2007-12-15 19:55 |只看该作者
执行


  1. which touch
复制代码

论坛徽章:
0
3 [报告]
发表于 2007-12-15 20:20 |只看该作者
会不会是权限问题?确认你有写磁盘的权限

论坛徽章:
0
4 [报告]
发表于 2007-12-15 21:48 |只看该作者
rpm -V coreutils
看看

论坛徽章:
0
5 [报告]
发表于 2007-12-15 21:55 |只看该作者
原帖由 cai120120 于 2007-12-15 21:48 发表
rpm -V coreutils
看看


这个有关系吗?

论坛徽章:
0
6 [报告]
发表于 2007-12-16 09:37 |只看该作者
which touch是没问题的 /bin/touch,也替换过这个touch
奇怪的不是touch,是我试过的所有能创建文件的命令都不能使用纯数字的文件名。

论坛徽章:
0
7 [报告]
发表于 2008-01-11 17:09 |只看该作者
郁闷啊,换成centos5.0,用了一个多月,没有问题,这两天又这样了。
机器就跑tomcat和postgresql

:em12: :em12: :em12: :em12: :em12:

论坛徽章:
0
8 [报告]
发表于 2008-01-17 14:33 |只看该作者
大大们给点提示啊

自己跟踪了一下,发现是open()调用的问题,返回"ENOENT", 这个错误的原因看了一下,如下
ENOENT

    O_CREAT is not set and the named file does not exist.

    O_CREAT is set and either the pathname prefix does not exist or the pathname parameter points to an empty string.

因为除了纯数字的文件名以外,都没有问题,所以我觉得应该是 "the pathname parameter points to an empty string"这个问题。
应该是open下面的某个系统调用的问题,可我不会C,无从下手。

也用find查了/lib和/usr/lib下面的库文件,发现出问题的这段时间文件没有被修改。


[ 本帖最后由 aries1998 于 2008-1-17 14:42 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP