Linux的/proc是虚拟文件系统,只存在于内存中,用来和内核交互。通常情况下,应该/proc及其下面是不能删除的,即proc目录的内容是内核载入内存中的数据映射,它是不可以删除的。以下将以Deepin 20操作系统为例,演示一下删除/proc/下面的目录会发生什么?
执行sudo rm -rf /proc/asound/card0操作 sz@nsz-PC:~$ sudo rm -rf /proc/asound/card0 请输入密码 [sudo] nsz 的密码: 验证成功 rm: 无法删除'/proc/asound/card0/id': 不允许的操作 rm: 无法删除'/proc/asound/card0/pcm0c/info': 不允许的操作 rm: 无法删除'/proc/asound/card0/pcm0c/sub0/info': 不允许的操作 rm: 无法删除'/proc/asound/card0/pcm0c/sub0/status': 不允许的操作 rm: 无法删除'/proc/asound/card0/pcm0c/sub0/prealloc': 不允许的操作 rm: 无法删除'/proc/asound/card0/pcm0c/sub0/hw_params': 不允许的操作 rm: 无法删除'/proc/asound/card0/pcm0c/sub0/sw_params': 不允许的操作 rm: 无法删除'/proc/asound/card0/pcm0c/sub0/prealloc_max': 不允许的操作 rm: 无法删除'/proc/asound/card0/pcm0p/info': 不允许的操作 rm: 无法删除'/proc/asound/card0/pcm0p/sub0/info': 不允许的操作 rm: 无法删除'/proc/asound/card0/pcm0p/sub0/status': 不允许的操作 rm: 无法删除'/proc/asound/card0/pcm0p/sub0/prealloc': 不允许的操作 rm: 无法删除'/proc/asound/card0/pcm0p/sub0/hw_params': 不允许的操作 rm: 无法删除'/proc/asound/card0/pcm0p/sub0/sw_params': 不允许的操作
扩展操作 card0为文件夹,并非文件,以上所用的rf是针对目录的,如果换回rm -f,则执行的结果如下: root@nsz-PC:/home/nsz# sudo rm -f /proc/asound/card1 rm: 无法删除'/proc/asound/card1': 是一个目录 root@nsz-PC:/home/nsz#
点评 出现“不允许的操作”应该是Linux系统认为你这个操作很危险,就和传说中的rm -rf /一样(参考:sudo rm -rf /命令删除了这个人的公司),会出问题,所以Linux系统才会阻止你,如果硬要删的话可以用rm -rf --no-preserve-root命令试一下。
相关主题 |