当我今天访问了我的Ubuntu 16.04服务器并想删除文件“test2”时,它完全没有被删除!为什么rm命令不能删除文件?
我用
rm test2
以及
rm -f test2
,但它仍然没有删除它,你可以在这里阅读:
[email protected]:~# ls
basket desd.save packages scripts src test2 test5 unused
[email protected]:~# rm test2
[email protected]:~# ls
basket desd.save packages scripts src test2 test5 unused
[email protected]:~# rm -f test2
[email protected]:~# ls
basket desd.save packages scripts src test2 test5 unused
我还试图删除其他文件,没有工作!
我是“test2”的所有者,使用ls -la test2
您可以看到我有权读取和写入此文件!
[email protected]:~# ls -la test2
-rw-r--r-- 1 root root 9 Nov 11 20:33 test2
使用which rm
它说/bin/rm
。
[email protected]:~# which rm
/bin/rm
而且\rm test2
也不会删除文件!
我也检查过名称,最后没有空格等,因为当我使用cat test2
时显示正确的内容!
我也可以创建一个新文件,但不能删除这个。
rm
也不是别名,我用unalias rm
但它说“rm:not found”。
重新启动也没有帮助。
我有问题,我不小心删除了一个文件而不是移动它,所以我创建了一个简单的将文件移动到某个目录的脚本。
然后,我使用nano /etc/environment
,并在脚本所在的位置添加了“:/ root/scripts”!
之后,我通过使用alias rms='./rm'
创建了别名rms。我知道这可能是愚蠢的命名文件,如系统命令,我已经改变它删除!
但是在做完所有这些之后,出现了rm无法找到的错误,可以在以下软件包中找到:coreutils。所以我尝试apt-get安装coreutils,但它表示它已经安装。
所以我第一次使用touch /bin/rm
,然后chmod +x /bin/rm
。
之后,出现这个问题!
编辑:问题是/bin/rm
文件是空的,所以我设置了一个虚拟机并将所需的文件复制到服务器!
请显示'ls -l test2'的屏幕截图 –
'type rm' print什么? 'rm'可能是一个破碎的别名或shell函数。 –
还是'哪个rm'呢? –