救命。我意外地运行了“find / -mtime +1 -exec rm {} \;”!

救命。我意外地运行了“find / -mtime +1 -exec rm {} \;”!

我非常非常累,整晚都在工作,而且好几个小时都没睡觉......所以我现在就像个僵尸一样......半醒半睡。

我试图清除一个目录。然后我运行命令 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

相关内容