当您尝试在没有写入权限的情况下修改文件时,您会收到错误消息:
> touch /tmp/foo && sudo chown root /tmp/foo
> echo test > /tmp/foo
zsh: permission denied: /tmp/foo
Run Code Online (Sandbox Code Playgroud)
Sudoing 没有帮助,因为它以 root 身份运行命令,但 shell 处理重定向 stdout 并以您的方式打开文件:
> sudo echo test > /tmp/foo
zsh: permission denied: /tmp/foo
Run Code Online (Sandbox Code Playgroud)
除了以root身份打开shell并以这种方式操作文件之外,是否有一种简单的方法可以将stdout重定向到您无权写入的文件?
> sudo su
# echo test > /tmp/foo
Run Code Online (Sandbox Code Playgroud) 我想在 Linux 中运行 BASIC 代码,就像您以前在旧计算机上所做的那样。(我正在寻找可以本地运行操作系统功能的 BASIC 中断器)
我有哪些选择?(最好是基于 Debian 和基于 Arch 的)
我使用以下命令清空文件
> file.txt
Run Code Online (Sandbox Code Playgroud)
它工作得很好!但是有一些文件具有root
用户权限。所以我试过了
sudo > different-file.txt
Run Code Online (Sandbox Code Playgroud)
我得到了以下详细信息
usage: sudo [-D level] -h | -K | -k | -V
usage: sudo -v [-AknS] [-D level] [-g groupname|#gid] [-p prompt] [-u user name|#uid]
usage: sudo -l[l] [-AknS] [-D level] [-g groupname|#gid] [-p prompt] [-U user name] [-u user name|#uid] [-g groupname|#gid] [command]
usage: sudo [-AbEHknPS] [-C fd] [-D level] [-g groupname|#gid] [-p prompt] [-u user name|#uid] [-g groupname|#gid] [VAR=value] [-i|-s]
[<command>]
usage: sudo -e [-AknS] [-C fd] [-D level] …
Run Code Online (Sandbox Code Playgroud)