You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

作为目录所有者执行ls命令提示Permission denied求助

问题分析与解决办法

首先,咱们直接揪出问题的核心:你的~/Desktop目录虽然归pi用户所有,但所有者权限缺少了读取(r)权限,这就是ls命令报错的根本原因。

为什么会出现这个问题?

目录的权限和普通文件的权限作用有区别,得先搞清楚这三个权限的实际意义:

  • r(读取):允许查看目录内的文件/子目录列表,这正是ls命令需要的核心权限
  • w(写入):允许在目录内创建、删除或重命名文件
  • x(执行):允许通过cd命令进入该目录

从你用sudo ls -al输出的信息里能明确看到:

d-wx--x--x 3 pi pi 4096 Jan 12 11:30 .

第一个字符d表示这是目录,后面三位-wx是所有者(pi)的权限——没有r权限,所以你作为目录所有者,没法读取目录内的文件列表,执行ls自然会提示权限拒绝。

快速修复步骤

只需要给目录所有者添加读取权限就行,执行这条命令:

chmod u+r ~/Desktop

命令解释:

  • u代表当前目录的所有者(也就是pi用户)
  • +r表示给所有者添加读取权限

执行完之后,你可以用这条命令验证权限是否修改成功:

ls -ld ~/Desktop
# 预期输出应该是:drwx--x--x 3 pi pi 4096 Jan 12 11:30 /home/pi/Desktop

这时候再执行ls ~/Desktop,就能正常查看目录里的内容了。

内容的提问来源于stack exchange,提问作者Socrates

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:56:11