linux – 为什么在运行ls时隐藏此文件?
发布时间:2020-12-13 18:33:56 所属栏目:Linux 来源:网络整理
导读:编辑:我完全忘了这个帖子.事实证明我的硬盘坏了.我们不得不重新部署这台服务器以满足其他需求,所以我终于找到了更换一个坏磁盘而我们又回来了. 几个星期以来,我无法弄清楚为什么我无法删除这个特定文件. 作为root我可以,但我的shell脚本作为不同的用户运行.
编辑:我完全忘了这个帖子.事实证明我的硬盘坏了.我们不得不重新部署这台服务器以满足其他需求,所以我终于找到了更换一个坏磁盘而我们又回来了.
几个星期以来,我无法弄清楚为什么我无法删除这个特定文件. 注意,6535丢失了…… [root@server]# ls -la 653* -rw-rw-r-- 1 svn svn 24002 Mar 26 01:00 653 -rw-rw-r-- 1 svn svn 7114 Mar 26 01:01 6530 -rw-rw-r-- 1 svn svn 8653 Mar 26 01:01 6531 -rw-rw-r-- 1 svn svn 6836 Mar 26 01:01 6532 -rw-rw-r-- 1 svn svn 3308 Mar 26 01:01 6533 -rw-rw-r-- 1 svn svn 3918 Mar 26 01:01 6534 -rw-rw-r-- 1 svn svn 3237 Mar 26 01:01 6536 -rw-rw-r-- 1 svn svn 3195 Mar 26 01:01 6537 -rw-rw-r-- 1 svn svn 27725 Mar 26 01:01 6538 -rw-rw-r-- 1 svn svn 263473 Mar 26 01:01 6539 现在它显示你是否直接调用它. [root@server]# ls -la 6535 -rw-rw-r-- 1 root root 3486 Mar 26 01:01 6535 这里有一些有趣的东西.所以我发现了这个问题,因为在我的shell脚本中,它将无法删除,因为6535由root拥有.运行“rm -rf”后,文件实际显示出来.我之前尝试过,它无法删除目录,因为它告诉我目录不是空的.我进去看了看,肯定的是,文件“6535”终于出现了.不知道为什么会这样做. strace说以下 #strace ls -la 653* 2>&1 | grep ^open open("/etc/ld.so.cache",O_RDONLY) = 3 open("/lib64/tls/librt.so.1",O_RDONLY) = 3 open("/lib64/libacl.so.1",O_RDONLY) = 3 open("/lib64/libselinux.so.1",O_RDONLY) = 3 open("/lib64/tls/libc.so.6",O_RDONLY) = 3 open("/lib64/tls/libpthread.so.0",O_RDONLY) = 3 open("/lib64/libattr.so.1",O_RDONLY) = 3 open("/etc/selinux/config",O_RDONLY) = 3 open("/proc/mounts",O_RDONLY) = 3 open("/usr/lib/locale/locale-archive",O_RDONLY) = 3 open("/proc/filesystems",O_RDONLY) = 3 open("/usr/share/locale/locale.alias",O_RDONLY) = 3 open("/usr/share/locale/en_US.UTF-8/LC_TIME/coreutils.mo",O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en_US.utf8/LC_TIME/coreutils.mo",O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en_US/LC_TIME/coreutils.mo",O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en.UTF-8/LC_TIME/coreutils.mo",O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en.utf8/LC_TIME/coreutils.mo",O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale/en/LC_TIME/coreutils.mo",O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/nsswitch.conf",O_RDONLY) = 3 open("/etc/ld.so.cache",O_RDONLY) = 3 open("/lib64/libnss_files.so.2",O_RDONLY) = 3 open("/etc/passwd",O_RDONLY) = 3 open("/etc/group",O_RDONLY) = 3 open("/etc/mtab",O_RDONLY) = 3 open("/proc/meminfo",O_RDONLY) = 3 open("/etc/localtime",O_RDONLY) = 3 解决方法
这有点令人担忧.我将通过与已知正常文件进行比较来验证您的ls文件未被修改.您可以使用发行版的包工具来验证隔离系统上的文件.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |