不能在主目录中使用mkdir:权限被拒绝(Linux Lubuntu)

Joh*_*ohn 14 linux bash

我正在尝试使用mkdir命令在Linux上的主目录中创建一个目录,但是我收到了"权限被拒绝"错误.我最近在笔记本电脑上安装了Lubuntu,并在计算机上拥有唯一的用户配置文件.

这是在我的命令行上发生的事情:

jdub@Snowball:~$ cd /home
jdub@Snowball:/home$ mkdir bin
mkdir: cannot create directory ‘bin’: Permission denied
jdub@Snowball:/home$ 
Run Code Online (Sandbox Code Playgroud)

如何获得对此文件夹的访问权限?我正在尝试编写一个脚本并按照教程进行操作:http://linuxcommand.org/wss0010.php

谢谢你的帮助!

mkl*_*nt0 21

正如@ kirbyfan64sos在评论中注意到的,/home不是你的主目录(又名主文件夹):

事实/home是一个没有用户特定组件绝对文字路径提供了线索.

虽然/home恰好是基于Linux的系统上所有用户特定主目录的目录,但您不应该依赖它,因为这在不同平台上有所不同:例如,OS X上的等效目录是./Users

什么所有的Unix平台上确实有常见有以下几种方式导航到/是指你的主目录:

  • 使用cdNO参数 更改到您的家庭目录.即,使您的家庭目录.该工作目录.
    • 例如: cd # changes to home dir; e.g., '/home/jdoe'
  • 单独 取消引用~/在路径字符串的开头不加引号 ~/代表您的主目录./从你家里开始的路径.这被称为波浪扩展(见man bash)
    • 例如: echo ~ # outputs, e.g., '/home/jdoe'
  • $HOME- 作为未引用或最好是双引号字符串的一部分 - 指的是你的家庭目录. HOME是一个预定义的,特定于用户的环境变量:
    • 例如: cd "$HOME/tmp" # changes to your personal folder for temp. files

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

mkdir "$HOME/bin"  # same as: mkdir ~/bin
Run Code Online (Sandbox Code Playgroud)

请注意,您家的大部分地点都是.需要超级用户(root用户)权限才能创建文件或目录 - 这就是您遇到Permission denied错误的原因.


Ank*_*eth 7

您可以尝试使用'sudo'编写命令:

sudo mkdir DirName

  • 如果您打算稍后运行需要权限的自动化脚本,那将会强迫您在以后可能会出现问题的情况下使用`sudo`. (4认同)