首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux mkdir -p

mkdir -p 是 Linux 系统中的一个命令,用于创建目录。其中 -p 参数表示递归创建目录,即如果指定的路径中的父目录不存在,则一并创建它们。

基础概念

  • mkdir: 是“make directory”的缩写,用于创建新的目录。
  • -p: 参数表示“parents”,意味着如果路径中的任何父目录不存在,都会被创建。

优势

  1. 简化命令: 不需要手动创建每个父目录,一次性可以创建多级目录。
  2. 避免错误: 减少了因忘记创建必要的父目录而导致的错误。
  3. 提高效率: 在脚本中使用此命令可以快速搭建目录结构。

类型

  • 单级目录创建: mkdir newdir
  • 多级目录创建: mkdir -p dir1/dir2/dir3

应用场景

  • 项目初始化: 在开始一个新项目时,可能需要创建一系列的目录来组织代码和资源文件。
  • 自动化脚本: 在编写自动化部署或配置脚本时,使用 mkdir -p 可以确保所需的目录结构被正确建立。
  • 备份和归档: 创建备份目录时,可能需要一次性创建多级目录以反映原始文件的结构。

遇到的问题及解决方法

问题1: 权限不足

原因: 当前用户没有足够的权限在指定位置创建目录。

解决方法:

代码语言:txt
复制
sudo mkdir -p /path/to/new/directory

问题2: 路径已存在

原因: 尝试创建的目录已经存在。

解决方法: 使用 -p 参数通常不会报错,即使目录已存在。但如果需要处理这种情况,可以先检查目录是否存在:

代码语言:txt
复制
if [ ! -d "/path/to/new/directory" ]; then
    mkdir -p /path/to/new/directory
fi

问题3: 符号链接指向的目录无法创建

原因: 尝试通过符号链接创建目录,但链接指向的位置不可写。

解决方法: 确保符号链接指向的位置是可写的,或者更改链接的目标位置。

示例代码

以下是一个简单的脚本示例,用于创建一个项目的目录结构:

代码语言:txt
复制
#!/bin/bash

# 创建项目根目录
mkdir -p /home/user/projects/my_project

# 在项目根目录下创建子目录
mkdir -p /home/user/projects/my_project/src
mkdir -p /home/user/projects/my_project/docs
mkdir -p /home/user/projects/my_project/tests

这个脚本会创建一个名为 my_project 的项目目录,并在其中创建 src, docs, 和 tests 三个子目录。

通过这种方式,可以快速地为新项目搭建起一个标准的目录框架。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【Linux】常用指令详解一(mkdir -p、mkdir、cd +、pwd)

1.前言读了一些Linux常用指令的博文,很可惜没读到一点点手把手教怎么操作的博文,所以写一篇手把手教适合初学者的Linux常用指令博文Linux的命令是树状结构输入这一句命令:yum install...(1)mkdir -p我们该如何创建像前面的一串路径一样的目录呢?...就是利用指令:mkdir -p D1/D2/D3实现说明:在主目录中,我们创建了一串路径(2)mkdir创建(一个)新目录输入指令:mkdir dir4说明:在目录dir1下创建了一个名为dir4的新目录现在我们来验证一下他是否存在...(3)cd +目录名跳转到指定路径cd dir1pwd补充:/root是主目录注意:在 Linux 操作系统中,cd 命令用于更改当前工作目录。...关于Linux指令不能光看不动手,还是建议大家能多动手操作这样即可知道自己的疑惑,而且也能更快掌握知识,增强动手能力。未完待续...详解二 明天更新

42120

Linux 命令 | mkdir

Linux 命令 mkdir 命令解析 Linux 命令 mkdir 是创建目录的命令,一般形式如下: mkdir [选项] [目录名] 常用选项: p:递归创建目录,如果需要创建的目录所在的目录不存在...,则先创建 mkdir -p /home/user/Documents/test1/test2/test3 # 创建一个新目录并设置权限 mkdir -m 755 new_dir 在上述林一写的这个...demo 中,我展示了两种不同的使用 mkdir 命令的方式。...Linux 命令 mkdir 命令注意事项 林一再总结几点注意事项,读者提前避坑: 当创建的目录名中含有空格时,需要使用引号或转义符号。...如果需要创建多级目录,可以使用-p选项或者执行多个mkdir命令。 若需要创建的目录在已有路径中已经存在,则mkdir命令不会创建新目录,并提示目录已存在。

21420
  • Linux之mkdir命令

    Linux用来创建指定名称的目录,注意创建目录的用户需要有当前所在目录的可写权限,否则创建没有权限创建目录,并且指定的目录不能是当前目录已经存在目录。...命令格式 mkdir [选项] 目录 命令功能 通过mkdir在指定目录创建目录 命令参数 -m,--mode=模式,设定权限(类似chmod),如mkdir -m 755 test -p,--...> mkdir -p rumenz/one 创建权限为755权限的目录 > mkdir 755 www 创建新目录时显示信息 > mkdir -v rumenz 一个命令创建项目的目录结构 > mkdir...‘src’ mkdir: created directory ‘src/lib/’ mkdir: created directory ‘src/bin/’ mkdir: created directory...├── info │ └── test └── sbin ├── doc └── info 原文链接:https://rumenz.com/rumenbiji/linux-mkdir.html

    1.1K00

    Linux之mkdir命令

    Linux用来创建指定名称的目录,注意创建目录的用户需要有当前所在目录的可写权限,否则创建没有权限创建目录,并且指定的目录不能是当前目录已经存在目录。...命令格式 mkdir [选项] 目录 命令功能 通过mkdir在指定目录创建目录 命令参数 -m,--mode=模式,设定权限(类似chmod),如mkdir -m 755 test -p,--...> mkdir -p rumenz/one 创建权限为755权限的目录 > mkdir 755 www 创建新目录时显示信息 > mkdir -v rumenz 一个命令创建项目的目录结构 > mkdir...‘src’ mkdir: created directory ‘src/lib/’ mkdir: created directory ‘src/bin/’ mkdir: created directory...├── info │ └── test └── sbin ├── doc └── info 原文链接:https://rumenz.com/rumenbiji/linux-mkdir.html

    1.4K20

    Linux之mkdir命令

    Linux用来创建指定名称的目录,注意创建目录的用户需要有当前所在目录的可写权限,否则创建没有权限创建目录,并且指定的目录不能是当前目录已经存在目录。...命令格式 mkdir [选项] 目录 命令功能 通过mkdir在指定目录创建目录 命令参数 -m,--mode=模式,设定权限(类似chmod),如mkdir -m 755 test -p,--...一次创建多个目录 > mkdir -p rumenz/one 创建权限为755权限的目录 > mkdir 755 www 创建新目录时显示信息 > mkdir -v rumenz 一个命令创建项目的目录结构...directory ‘src’ mkdir: created directory ‘src/lib/’ mkdir: created directory ‘src/bin/’ mkdir: created...’ mkdir: created directory ‘src/doc’ mkdir: created directory ‘src/doc/js’ mkdir: created directory ‘

    81020

    Linux之mkdir命令

    Linux用来创建指定名称的目录,注意创建目录的用户需要有当前所在目录的可写权限,否则创建没有权限创建目录,并且指定的目录不能是当前目录已经存在目录。...命令格式 mkdir [选项] 目录 命令功能 通过mkdir在指定目录创建目录 命令参数 -m,--mode=模式,设定权限(类似chmod),如mkdir -m 755 test -p,--...> mkdir -p rumenz/one 创建权限为755权限的目录 > mkdir 755 www 创建新目录时显示信息 > mkdir -v rumenz 一个命令创建项目的目录结构 > mkdir...‘src’ mkdir: created directory ‘src/lib/’ mkdir: created directory ‘src/bin/’ mkdir: created directory...directory ‘src/doc’ mkdir: created directory ‘src/doc/js’ mkdir: created directory ‘src/doc/css’ mkdir

    1.1K00

    linux创建目录mkdir命令(5)

    linux mkdir 命令用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录。...3.命令参数:   -m, --mode=模式,设定权限 (类似 chmod),而不是 rwxrwxrwx 减 umask   -p, --parents  可以是一个路径名称。...总计 4drwxr-xr-x 2 root root 4096 10-25 17:42 test1 [root@localhost test]# 实例2:递归创建多个目录 命令: mkdir -p ...test2/test22 输出: [root@localhost test]# mkdir -p test2/test22 [root@localhost test]# ll 总计 8drwxr-xr-x... “scf” mkdir: 已创建目录 “scf/lib” mkdir: 已创建目录 “scf/bin” mkdir: 已创建目录 “scf/doc” mkdir: 已创建目录 “scf/doc/info

    9.7K101

    Linux 常用目录管理命令(cd pwd mkdir rmdir)

    Linux 的命令非常之多,而使用的最多最广最基本的莫过于一些常用的命令,如目录命令即是如此。Linux的常用目录命令与DOS中的目录命 令非常相似,只不过使用了不同单词的缩写而已。...同样在Linux中的绝对路径、相对路径的概念与Windows中的路径表述其实质是一样的。本文仅仅列出几个 常用的目录命令以及各个命令的常用参数。...创建目录     mkdir [-mp] 目录名     -p 若建立的目录的上层目录未建立,则自动建立     -m 建立目录时,指定权限       [oracle@oradb ~]$...mkdir robinson       [oracle@oradb ~]$ mkdir ~/robinson/scripts       [oracle@oradb ~]$ mkdir -p ~.../robinson/bak/archive_log  #使用-p参数创建目录archive_log,同时也创建了上层目录       [oracle@oradb robinson]$ mkdir -m

    3.1K10

    Linux常用命令之touch、mkdir与rmdir

    :同时修改222.sh的atime与mtime image.png touch -t 201906061331 222.sh:同时修改222.sh的atime与mtime image.png mkdir...:创建目录 -p:创建目录树,需要时创建上层目录 mkdir test01:在当前目录下创建目录test01 image.png mkdir test03 test04:在当前目录下一次创建多个目录...test03和test04 image.png rmdir -p test01/test02/test03:在当前目录下创建多级目录,如果上层目录已存在也不会报错,依然执行 image.png rmdir...:删除空目录 -p:删除目录树,尝试删除指定目录上的所有上层目录 rmdir test01:删除在当前目录下的空目录test01,目录非空则命令执行失败 image.png image.png...rmdir test03 test04:删除当前目录下的空目录test03和test04,目录非空则命令执行失败 image.png rmdir -p test01/test02/test03:逐级删除当前目录下的空目录

    1.5K00

    Linux文件路径、cd命令、mkdir、rmdir、rm命令

    命令 mkdir=make directory 语法: mkdir [-mp] [目录名称] ,其中-m,-p为其选项。...-m =mod 指定目录的权限 -p 强制创建目录或者创建级联目录 eg1: 创建级联目录 # mkdir /tmp/test/123 在tmp目录下的test(不存在)目录创建123目录(即创建级联目录...) mkdir:无法创建目录‘/tmp/test/123’:没有那个文件或目录 # mkdir -p /tmp/test/123 在tmp目录下的test(不存在)目录创建123目录(即创建级联目录).../tmp/test/123 mkdir:无法创建目录‘/tmp/test/123’:文件已存在 # mkdir -p /tmp/test/123 # ls -ld /tmp/test/123 drwxr-xr-x...rmdir rmdir=remove directory **语法:**rmdir [目录名称] (此处可以跟多个目录,用空格分隔) 缺陷: rmdir 有一个和mkdir一样的选项 ‘-p’, 同样可以级联删除一大串目录

    8.7K20

    每天一个Linux命令(4)——mkdir

    mkdir命令用来创建目录。该命令创建由dirname命名的目录。如果在目录名的前面没有加任何路径名,则在当前目录下创建dirname指定的目录,如果给出了一个已经存在的路径。...语法 mkdir (选项) (参数) 选项 -Z 设置安全上下文,当使用SELinux时有效; -m或–mode建立目录的同时设置目录的权限;...-p或–parents 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录; –version 显示版本信息。...在目录/root下创建hello文件夹,且只有文件主有读、写和执行权限,其他人无权访问 mkdir -m 700 /root/hello 2....在当前目录下创建hello/hello1目录 hello 和 hello1均不存在,权限设置为文件主可读、写、执行,同组用户可读和执行,其他用户无权访问 mkdir -p -m 750 hello/hello1

    1.1K80
    领券