sudo rm 跟 root 用户的 rm 有什么区别(rmtrash的疑问)?

发布于 2022-09-11 16:21:38 字数 331 浏览 10 评论 0

用 rmtrash 代替 rm,在 bashrc 里做了 alias rm=/bin/rmtrash.sh
发现个人账号使用 rm 时,会把文件移动到 ~/.rmtrash 文件夹中,
root 账号也会移动到 root 目录下的 ~/.rmtrash

但是个人账号 sudo rm 的时候就不会放在 .rmtrash 下,个人账号和root账号下都找过了。
请问

  1. sudo rm 跟 root 用户的 rm 有什么区别?
  2. rmtrash 使用 sudo 删除时,调用的是 rm 还是 rmtrash?如果调用的还是 rm,怎么改成调用 rmtrash?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

冰之心 2022-09-18 16:21:38

在通过 sudo 运行命令时,系统会默认重置环境变量为安全的环境变量

  1. 两者环境不一样。
  2. 调用的应该是 rm,因为用户的 alias 并不会在sudo环境中。
  • 解决方法:将 sudo 通过用户进程执行,从而获得了用户环境。
alias sudorm='sudo /bin/rmtrash.sh'
# 或者针对所有 sudo 保留用户环境变量 
alias sudo='sudo '
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文