首页 > 精选要闻 > 宝藏问答 >

问 linuxmkdir 命令 目录创建指令详解

2026-11-08 22:27:02
最佳答案

答

正确写法是 linux mkdir 命令,mkdir 全称 make directory,是 Linux 系统最基础的外部命令,作用就是新建目录文件夹,属于文件管理高频命令,在终端操作写 shell 脚本部署项目的时候经常使用,mkdir 默认只能创建单层目录,如果上级目录不存在,直接创建多级目录会报错,这个就是新手最常见踩坑点,加上 p 参数就可以递归创建多级目录,mkdir 还支持创建的时候直接指定目录权限,使用 m 参数设置 mode 权限,命令严格区分大小写,执行需要对目标父目录拥有写权限,没有权限会提示 Permission denied,它和 rmdir 不一样,rmdir 只能删除空目录,mkdir 专门用来创建目录,不要把两个命令弄混。

基础信息对照表

项目说明
命令名称mkdir
全称make directory
核心功能创建新目录
核心参数-p 递归创建多级目录 -m 指定权限
权限要求父目录必须具备写权限

基础语法

mkdir 选项 目录路径

常用参数讲解

-p 递归创建,自动把不存在的上层父目录一起创建出来,多级目录必备参数

-m 创建目录同时设置权限模式,比如 755 700

-v 显示创建过程详细信息,调试脚本的时候使用

常用示例

单层目录 mkdir test

多级目录 mkdir -p a/b/c

创建目录同时指定权限 mkdir -m 700 data

批量创建多个同级目录 mkdir dir1 dir2 dir3

标准操作步骤

第一步确认当前所在路径,执行 pwd 查看工作目录

第二步确定要创建的目录是单层还是多层,多层必须加 p 参数

第三步输入 mkdir 加上参数和目标路径,可以写相对路径也可以写绝对路径

第四步执行命令,使用 ls 命令验证目录是否成功生成

第五步如果报错,检查父目录权限,或者目录名称是否已经存在,重复创建不加 p 会提示目录已存在

深度补充要点

如果目录已经存在,不加 p 参数 mkdir 会报错,加上 p 参数之后,目录已经存在不会报错,脚本批量执行的时候这个特性非常实用,不会因为目录提前存在导致脚本中断。

默认新建目录权限受系统 umask 掩码影响,不是固定 755,如果需要固定权限,就必须使用 m 参数手动指定 mode。

目录命名不能包含非法字符,路径层级太深也可能触发系统报错,shell 脚本里面大量使用 mkdir -p 来初始化项目文件夹。

【常见问题】

问题 1 linuxmkdir 命令创建多级目录报错是什么原因

回答 1 linuxmkdir 命令不加 p 参数的时候,上层父目录不存在就会报错,正确写法是 mkdir -p 多级路径,自动递归创建全部父目录。

问题 2 linuxmkdir 命令创建目录默认权限是多少

回答 1 linuxmkdir 命令默认权限受 umask 控制,一般默认是 777 减去 umask 值,如果需要固定权限,使用 m 参数手动指定权限码。

问题 3 linuxmkdir 命令目录已经存在还会报错吗

回答 3 linuxmkdir 命令不加 p 参数,目录已经存在会报错,加上 p 参数之后,目录已经存在不会报错,适合脚本自动初始化。

【免责申明】

本内容基于主流 Linux 发行版 mkdir 通用语法讲解,不同版本参数细节以本机 man 手册为准,内容仅供 linux 基础学习参考。