我非常非常累,整晚都在工作,而且好几个小时都没睡觉......所以我现在就像个僵尸一样......半醒半睡。
我试图清除一个目录。然后我运行命令 cd 进入该目录,然后在我思考之前,我在 Linux 服务器上运行了这个危险的命令:
"find / -mtime +1 -exec rm {} \;"
我得到了很多:
rm: cannot remove `/sys/module/serio_raw/sections': Is a directory
rm: cannot remove `/sys/module/pcspkr': Is a directory
rm: cannot remove `/sys/module/pcspkr/sections': Is a directory
rm: cannot remove `/sys/module/dm_raid45': Is a directory
rm: cannot remove `/sys/module/dm_raid45/sections': Is a directory
rm: cannot remove `/sys/module/dm_message': Is a directory
rm: cannot remove `/sys/module/dm_message/sections': Is a directory
此命令是否可以删除这些目录中的某些内容?我担心下次重启时服务器将无法启动……
谢谢。
答案1
/sys
,就像/proc
是一个虚拟目录。你实际上无法删除其中的任何内容 - 当然,重新启动也无法恢复任何内容。
但磁盘上的文件系统就不一样了。withoutrm
不会-r
删除目录,但 withfind
可以轻松删除目录下的所有文件。这种-mtime +1
方法可以限制损坏的程度,但无法阻止损坏。
您可能希望在重新启动之前至少使用包管理系统来验证系统文件。另外,检查目录的find /
列出顺序。也许您很幸运,/sys
是第一个 - 您确实立即中断了命令,对吗?
答案2
是的:rm 无法删除目录,但如果可以的话,它会在其中找到“挖掘”,并对其中包含的文件调用 rm