无法在主目录中使用mkdir:权限被拒绝(Linux 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$ 如何访问此文件夹?我正在

我试图在Linux上使用mkdir命令在我的主目录中创建一个目录,但遇到“权限被拒绝”错误。我最近在笔记本电脑上安装了Lubuntu,并且在电脑上拥有唯一的用户配置文件

下面是在我的命令行上发生的情况:

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”
  • 路径字符串开头的Unquoted
    ~
    本身/Unquoted
    ~/
    表示您的主目录。/从家里开始的路。;这称为tilde扩展(请参见
    manbash
    • e、 g.:
      echo~#输出,例如“/home/jdoe”
  • $HOME
    -作为不带引号或最好是双引号字符串的一部分-表示您的HOME目录。
    HOME
    是一个预定义的、用户特定的环境变量:
    • e、 g.:
      cd“$HOME/tmp”#更改您的个人临时文件夹。文件

因此,要创建所需的文件夹,可以使用:

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
将所有权更改为您自己。这将解决许可问题。这与问题无关,是拙劣的建议。