当我今天访问我的Ubuntu 16.04服务器并想要删除文件“test2”时,它根本没有被删除!
我已经使用了
但是它仍然没有删除它,你可以在这里阅读到:
而且
我还检查了文件名,结尾没有空格等问题,因为当我使用
我也可以创建新文件,但也无法删除这个文件。
重启也没有帮助。
我遇到的问题是,我不小心删除了一个文件,而不是移动它,所以我创建了一个简单的脚本,将文件移动到特定目录。然后我使用
但在做所有这些之后,出现了找不到 rm 的错误,并且可以在以下软件包中找到:coreutils。所以我尝试使用 apt-get install coreutils,但它说已经安装了。因此,我首先使用
之后就出现了这个问题!
编辑:问题是
我已经使用了
rm test2
以及
rm -f test2
但是它仍然没有删除它,你可以在这里阅读到:
root@icinga:~# ls
basket desd.save packages scripts src test2 test5 unused
root@icinga:~# rm test2
root@icinga:~# ls
basket desd.save packages scripts src test2 test5 unused
root@icinga:~# rm -f test2
root@icinga:~# ls
basket desd.save packages scripts src test2 test5 unused
我还尝试删除其他文件,但无效!
我是"test2"的所有者,使用ls -la test2
命令,你可以看到我有读写该文件的权限!
root@icinga:~# ls -la test2
-rw-r--r-- 1 root root 9 Nov 11 20:33 test2
使用which rm
命令会显示/bin/rm
。
root@icinga:~# which rm
/bin/rm
而且
\rm test2
并不会删除文件!我还检查了文件名,结尾没有空格等问题,因为当我使用
cat test2
时,正确的内容显示出来了!我也可以创建新文件,但也无法删除这个文件。
rm
也不是别名,我使用了 unalias rm
,但它说“rm: not found”。重启也没有帮助。
我遇到的问题是,我不小心删除了一个文件,而不是移动它,所以我创建了一个简单的脚本,将文件移动到特定目录。然后我使用
nano /etc/environment
添加了 ":/root/scripts",其中这个脚本位于此处!之后,我使用 alias rms='./rm'
创建了别名 rms。我知道给文件命名与系统命令相同可能很愚蠢,我已经将其更改为 remove!但在做所有这些之后,出现了找不到 rm 的错误,并且可以在以下软件包中找到:coreutils。所以我尝试使用 apt-get install coreutils,但它说已经安装了。因此,我首先使用
touch /bin/rm
,然后使用 chmod +x /bin/rm
。之后就出现了这个问题!
编辑:问题是
/bin/rm
文件为空,所以我设置了一个虚拟机,并将所需文件复制到了服务器!
ls -l test2
的屏幕截图。 - Jon Taylortype rm
命令会打印出rm
的类型,如果rm
是一个破损的别名或者 shell 函数,则会有相应提示。 - John Kugelmanwhich rm
呢? - Jon Taylortouch /bin/rm
-- 你创建了一个名为rm
的空脚本。你正在调用该脚本,这个脚本什么都不做。touch
不是解决缺少可执行文件的方法! - John Kugelman