从Windows到Ubuntu/Deepin

Ubuntu19.10解决sudo sync && echo x

2019-12-21  本文已影响0人  Saxon_323e

新装的Ubuntu系统,今天发现内存cache过多想清理一下,结果运行下面语句清缓存时报Permission denied错误:-bash: /proc/sys/vm/drop_caches: Permission denied

sudo sync && echo 1 > /proc/sys/vm/drop_caches
sudo sync && echo 2 > /proc/sys/vm/drop_caches
sudo sync && echo 3 > /proc/sys/vm/drop_caches

bash拒绝这么做,提示权限不够,原因是因为重定向符号 “>” 也是 bash 的命令,而sudo只是让 echo 命令具有了 root 权限,但没有让“>” 命令也具有root 权限,因此 bash 会认为echo 3 > 无写入权限。

解决方法:
使用"sh -c" 命令, 它可以让 bash 将一个字串作为完整的命令来执行

sudo sh -c "sync && echo 1 > /proc/sys/vm/drop_caches"
sudo sh -c "sync && echo 2 > /proc/sys/vm/drop_caches"
sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches"

或者

echo 1 |sudo tee /proc/sys/vm/drop_caches
上一篇 下一篇

猜你喜欢

热点阅读