加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

权限 – 使用Sed时拒绝权限

发布时间:2020-12-14 02:52:15 所属栏目:Linux 来源:网络整理
导读:我正在使用Sed来查找和替换文件中的字符串.这是第一次使用它,所以我可能做错了, 我有一个由“root”拥有的文件,名为“test.properties”,我想用“cat”替换“world”. 所以我运行这个命令: sudo sed s/world/cat/ test.properties newtest.properties 它工
我正在使用Sed来查找和替换文件中的字符串.这是第一次使用它,所以我可能做错了,

我有一个由“root”拥有的文件,名为“test.properties”,我想用“cat”替换“world”.

所以我运行这个命令:

sudo sed s/world/cat/ <test.properties >newtest.properties

它工作得很好,但是当我想写这样的SAME文件时:

sudo sed s/world/cat/ <test.properties >test.properties

它说“-bash:test.properties:Permission denied”,但我使用的是“sudo”,为什么会被拒绝?

解决方法

不要运行您尝试运行的命令

如果您尝试将输出从sed重定向回相同的文件,它将将其清空,删除所有文件内容.尝试这样的事情:

sed s/world/cat/ <test.properties >newtest.properties && sudo mv newtest.properties test.properties

您获得权限被拒绝,因为命令的重定向部分不是通过sudo运行,而是以普通用户身份运行.

第一个命令有效,因为您只是读取第一个文件并写入您拥有的文件,因此您可以使用常规用户.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读