在 Linux 系统中,创建目录最标准且推荐的方式是使用 mkdir 命令,它适用于绝大多数文件管理场景,无论是单个目录还是多级嵌套结构都能快速完成。
先说结论:mkdir 是核心命令,配合参数可满足不同需求,日常操作首选该方式。
- 适合:日常文件组织、项目初始化、环境部署
- 先看:权限是否足够、路径是否存在冲突
- 建议:多级目录务必加 -p 参数,权限不足时使用 sudo
命令速用版
mkdir 目录名
mkdir -p 父目录/子目录
mkdir -m 755 目录名
sudo mkdir /opt/myapp # 需要管理员权限时
权限与 umask 说明
目录权限受 umask 掩码影响,并非固定值。系统默认权限通常为 755 或 775,具体取决于当前用户的 umask 设置。使用 -m 参数可强制指定权限,避免后续 chmod 操作。
分步处理
1. 创建单个目录:直接使用 mkdir 加目录名,例如 mkdir test_dir。
2. 创建多级目录:若父目录不存在,需加 -p 参数递归创建,例如 mkdir -p a/b/c。
3. 提权创建:若在 /usr 或 /opt 等系统目录创建,需加 sudo,例如 sudo mkdir /opt/myapp。
4. 设置权限:使用 -m 参数指定权限值,如 755 或 700,例如 mkdir -m 700 secret。
怎么验证是否生效
使用 ls 命令查看当前目录内容,或使用 ls -l 查看详细信息包括权限。stat 命令可查看更详细的 inode 信息。
ls -ld 目录名
stat 目录名
常见错误与排查
- Permission denied:提示 mkdir: cannot create directory 'xxx': Permission denied。原因:当前用户对父目录无写权限。解决:检查父目录权限,或使用 sudo 提权。
- File exists:提示 mkdir: cannot create directory 'xxx': File exists。原因:目录名已存在。解决:更换名称或确认是否需复用。
- No such file or directory:未加 -p 参数时,父目录不存在会报错。解决:补充 -p 参数。
- 混淆命令:不要混淆 touch 和 mkdir,前者创建文件,后者创建目录。
原文链接:https://www.zjcp.cc/ask/10947.html
