我只是对使用 sudo 命令创建文件感到困惑。据我所知,sudo 命令通常用于 root 权限(默认情况下),当我使用以下命令创建文件时:
sudo cat > root.txt
我看到了用户,它仍然是普通用户名而不是 root。这怎么可能发生?以及如何在不将用户更改为 root 的情况下创建 root 拥有的文件?
我只是对使用 sudo 命令创建文件感到困惑。据我所知,sudo 命令通常用于 root 权限(默认情况下),当我使用以下命令创建文件时:
sudo cat > root.txt
我看到了用户,它仍然是普通用户名而不是 root。这怎么可能发生?以及如何在不将用户更改为 root 的情况下创建 root 拥有的文件?
sudo
在您的示例中,重定向在“外部” 。尝试流重定向 ( ) 在命令 ( ) 开始之前
> file
发生在父进程中(运行为$USER
)。sudo
您可以使用不同的命令:
或者,之后,更改文件的所有权: