无法在主目录中使用mkdir:权限被拒绝(Linux Lubuntu)
我试图在Linux上使用mkdir命令在我的主目录中创建一个目录,但遇到“权限被拒绝”错误。我最近在笔记本电脑上安装了Lubuntu,并且在电脑上拥有唯一的用户配置文件 下面是在我的命令行上发生的情况:无法在主目录中使用mkdir:权限被拒绝(Linux Lubuntu),linux,bash,Linux,Bash,我试图在Linux上使用mkdir命令在我的主目录中创建一个目录,但遇到“权限被拒绝”错误。我最近在笔记本电脑上安装了Lubuntu,并且在电脑上拥有唯一的用户配置文件 下面是在我的命令行上发生的情况: jdub@Snowball:~$ cd /home jdub@Snowball:/home$ mkdir bin mkdir: cannot create directory ‘bin’: Permission denied jdub@Snowball:/home$ 如何访问此文件夹?我正在
jdub@Snowball:~$ cd /home
jdub@Snowball:/home$ mkdir bin
mkdir: cannot create directory ‘bin’: Permission denied
jdub@Snowball:/home$
如何访问此文件夹?我正在尝试编写一个脚本,下面是一个教程:
谢谢你的帮助 正如@kirbyfan64sos在评论中指出的那样,
/home
不是您的主目录(又称主文件夹):
/home
是一个没有用户特定组件的绝对文本路径,这一事实提供了线索
虽然/home
恰好是基于Linux的系统上所有用户特定的主目录的父目录,但您甚至不应该依赖它,因为这在不同平台上是不同的:例如,macOS上的等效目录是/Users
所有Unix平台的共同点是以下导航到/参考主目录的方法:
- 使用无参数的
更改您的主目录,即使您的主目录。工作目录。cd
- e、 g.:
cd#更改为home dir;e、 例如,“/home/jdoe”
- e、 g.:
- 路径字符串开头的Unquoted
本身/Unquoted~
表示您的主目录。/从家里开始的路。;这称为tilde扩展(请参见~/
)manbash
- e、 g.:
echo~#输出,例如“/home/jdoe”
- e、 g.:
-作为不带引号或最好是双引号字符串的一部分-表示您的HOME目录。$HOME
是一个预定义的、用户特定的环境变量:HOME
- e、 g.:
cd“$HOME/tmp”#更改您的个人临时文件夹。文件
- e、 g.:
因此,要创建所需的文件夹,可以使用:
mkdir "$HOME/bin" # same as: mkdir ~/bin
请注意,大多数位置在您的主页目录之外。需要超级用户(根用户)权限才能创建文件或目录-这就是您遇到
权限被拒绝错误的原因。您可以尝试使用“sudo”编写命令:
sudo mkdir DirName
尝试运行fuser命令
[root@guest2 ~]# fuser -mv /home
USER PID ACCESS COMMAND
/home: root 2919 f.... automount
[root@guest2 ~]# kill -9 2919
autofs
已知服务会导致此问题
您可以使用这个命令
#服务自动停止
然后重试。/home
不是您的主目录;它是一个包含每个人的主目录的文件夹。您的主目录是/home/my_user_name
;您也可以简单地使用bash扩展到您的主目录的~
。如果您打算稍后运行需要权限的自动脚本,这将不好,它将迫使您稍后在可能出现问题的实例中使用sudo
。@AmyPellegrini一旦您使用sudo
创建目录,然后,您可以使用chown-R
将所有权更改为您自己。这将解决许可问题。这与问题无关,是拙劣的建议。