我正在尝试使用创建一个文件cat > list
,但每次它都显示“权限被拒绝”。
xyz@jaishreeram:/home$ sudo cat > list
bash: l: Permission denied
xyz@jaishreeram:/home$ sudo cat > list
bash: l: Permission denied
答案1
答案2
您要写入的位置需要超级用户权限。但是,您写入文件的方式并未假设这一点。为此,请使用 root 身份登录su
,然后使用写入cat > list
或执行sudo vi list
。
答案3
据我所知,您无法使用 创建文件cat
。您必须使用echo
。因此,只需运行此命令即可创建一个名为“list”的文件:
回显 > 列表
如果你需要 root 权限,你首先需要使用 root 身份进行身份验证,
su -
现在echo > list
你可以使用 root 身份注销logout
这是因为重定向是在 sudo 启动之前完成的,这就是为什么您会收到“权限被拒绝”而没有被要求输入密码。
cat
用于连接文件并在标准输出上打印。
echo
用于显示一行文本,使用“> file_name”将该行文本重定向到“file_name”,如果“file_name”不存在,则将创建该文件。
PS:使用命令行创建新文件的方法有很多,但在我看来,这种方法更快,也更容易记住。
答案4
/home
原因很简单,由于该目录归 root 所有,因此您没有写入该目录的权限。
/home$ ls -la .
total 36
drwxr-xr-x. 6 root root 4096 Apr 19 05:03 .
drwxr-xr-x. 22 root root 4096 Sep 24 09:49 ..
您应该使用相同的命令,但在“您的主”目录中。您的主目录是以下用户目录/home
:
/home$ ls -la .
total 36
drwxr-xr-x. 6 root root 4096 Apr 19 05:03 .
drwxr-xr-x. 22 root root 4096 Sep 24 09:49 ..
drwxr-xr-x. 70 braiam braiam 4096 Sep 29 10:06 braiam
您有多种方法可以进入您的主目录:
cd
不带任何参数运行。- 运行
cd ~
或cd $HOME
- 打开另一个新终端
- 使用
cd /home/yourusername
进入您的个人目录。