mkdir -p 可自动创建整条路径中所有缺失的父目录,支持大括号批量展开、双引号处理空格/特殊字符、-m显式设权限以规避umask干扰。

加 -p 参数就能让 mkdir 自动创建整条路径里所有缺失的父目录,不用逐层执行,也不会因中间目录不存在而报错。
基础用法:一条命令建完整路径
比如要建 src/main/java/com/example/app 这种深度结构,直接运行:
mkdir -p src/main/java/com/example/app
系统会依次检查并创建:src → src/main → src/main/java → ……直到最末级。哪怕当前是空目录,也能一次到位。
批量生成规律性子目录结构
用大括号展开可同时建多个并列或嵌套分支,适合标准化项目骨架:
-
mkdir -p project/{src/{main,test},docs,config,scripts}等效于创建:project/src/main、project/src/test、project/docs、project/config、project/scripts -
mkdir -p logs/{2024,2025}/{01,02,03}快速搭好年月日志目录树
⚠️ 注意:大括号内不能有空格,{dev, staging} 会生成带前导空格的异常目录名。
PyCharm 2026.2.0.1 Linux版提供 JetBrains 官方 2026.2.0.1 版本安装包,适合需要指定 PyCharm 版本进行 Python 项目开发、运行和调试的用户。
处理含空格或特殊字符的目录名
遇到 user data、config (backup) 或中文名时,必须用双引号包裹整个路径:
mkdir -p "user data" "config (backup)" "项目文档"
否则 shell 会把空格当参数分隔符,命令直接失败。
显式设置权限避免 umask 干扰
不加 -m 时,新建目录权限由当前环境 umask 决定,可能不一致。需要确定权限就加上:
-
mkdir -p -m 755 deploy/{bin,etc,logs}→ 所有新目录为rwxr-xr-x -
mkdir -p -m 700 .cache/private→ 仅属主可读写执行
权限数字按“所有者/组/其他”三位设定,目录至少要有执行位(x)才能进入。










