sudo date > output.txt
bash: output.txt: Permission denied
我想将日志消息写入文件,但是即使我添加前缀,权限也被拒绝sudo
,但是当我在创建output.txt
文件并将权限更改为之后尝试时755
,效果很好。
如何在不创建文件和更改权限的情况下写入日志消息?
只是喜欢sudo date > output.txt --chmod 755 ?
答案1
date | sudo tee output.txt > /dev/null
这是有效的,因为tee
打开它output.txt
并且它以 root 身份运行。这> /dev/null
只是扔掉tee
发送到 的额外副本stdout
。
sudo date > output.txt
不起作用的原因是输出重定向( > output.txt
)已完成前已sudo date
启动,因此以当前访问权限运行。
另一种方法是更改当前目录的权限以允许当前用户创建文件。这样做意味着date > output.txt
不需要sudo
.