查看: 89|回复: 0

Linux 命令mkdir详细教程

[复制链接]

0

主题

0

回帖

0

积分

积极分子

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2011-6-6
发表于 2025-7-2 14:32:21 | 显示全部楼层 |阅读模式

Linuxmkdir命令详细教程

一、mkdir命令的基本功能

  • mkdir(Make Directory)是 Linux 系统中用于创建新目录(文件夹)的基础命令。
  • 它支持一次性创建单个或多个目录,以及递归创建多层目录结构,是文件系统操作中最常用的命令之一。
  • 资料已经分类整理好:https://pan.quark.cn/s/26d73f7dd8a7

二、mkdir命令的语法格式

mkdir [选项] 目录名 [目录名...]
  • 常用选项
    • -p(–parents):递归创建目录,若父目录不存在则自动创建。
    • -m(–mode):创建目录时指定权限(如 -m 755)。
    • -v(–verbose):显示创建目录的详细过程。
    • --help:显示命令帮助信息。
    • --version:显示命令版本信息。

三、mkdir命令的使用场景与示例

1. 创建单个目录

# 示例1:在当前目录创建名为 "test" 的目录  
mkdir test  
# 示例2:在指定路径创建目录(需确保父目录存在)  
mkdir /home/user/project/data  
  • 输出:无提示,若目录已存在则报错 mkdir: 无法创建目录‘test’:文件已存在

2. 递归创建多层目录(-p 选项)

# 场景:创建目录树 "project/src/main/java",若父目录不存在则自动创建  
mkdir -p project/src/main/java  
# 等价于依次执行:  
# mkdir project  
# mkdir project/src  
# mkdir project/src/main  
# mkdir project/src/main/java  
  • 说明-p 选项避免了手动逐层创建目录的繁琐,尤其适合构建项目结构。

3. 创建目录时指定权限(-m 选项)

# 示例1:创建目录并设置权限为 755(所有者可读可写可执行,其他用户可读可执行)  
mkdir -m 755 logs  
# 示例2:创建目录并设置权限为 644(所有者可读可写,其他用户可读)  
mkdir -m 644 documents  
  • 权限说明:权限值用三位八进制数表示,每位对应 所有者其他用户 的权限(r=4, w=2, x=1)。

4. 一次性创建多个目录

# 示例:同时创建 "src"、"docs"、"test" 三个目录  
mkdir src docs test  
# 结合 -p 递归创建多个目录树  
mkdir -p project/{src,docs,test}/img  
  • 说明:使用大括号 {} 可简化多个目录的创建(需 shell 支持,如 bash)。

5. 显示创建过程(-v 选项)

mkdir -v new_dir  
# 输出:创建目录 "new_dir"  
  • 场景:当批量创建目录时,通过 -v 确认操作是否成功。

四、mkdir命令的权限与安全注意事项

  1. 权限限制

    • 只能在有权限的目录下创建新目录(通常需要对父目录有 w 权限)。
    • 根目录(/)下创建目录需使用 sudo
      sudo mkdir /data/backup  
  2. 默认权限与 umask

    • 新创建目录的默认权限由 umask 决定(默认 022),实际权限为 777 - umask
    • 示例:若 umask022,则默认权限为 755rwxr-xr-x)。
    • 查看当前 umaskumask,临时修改:umask 077(修改后新目录权限为 700)。
  3. 避免同名文件冲突

    • 若目录名与已有文件重名,mkdir 会报错,需先删除文件或重命名。

五、高级用法:结合其他命令使用

  1. touch 配合创建项目文件结构:

    mkdir -p project/{src,docs,test}  
    touch project/src/main.py project/test/test.py  
  2. 在脚本中动态创建目录

    # 脚本示例:根据日期创建备份目录  
    DATE=$(date +%Y%m%d)  
    mkdir -p backups/$DATE  
    cp important.file backups/$DATE/  
  3. 使用通配符创建批量目录

    # 创建以月份命名的目录:month_01, month_02, ..., month_12  
    mkdir month_{01..12}  

六、常见错误与解决方案

错误信息原因解决方案
mkdir: 无法创建目录‘dir’:权限不够无父目录写入权限使用 sudo 或切换到有权限的用户
mkdir: 无法创建目录‘dir’:文件已存在同名文件或目录已存在重命名目录或删除已有文件
mkdir: 无法创建目录‘/path/to/dir’:没有那个文件或目录父目录不存在且未用 -p添加 -p 选项递归创建

七、扩展:创建目录的其他方式

  1. 使用 cp 命令复制目录结构:

    cp -r template_dir new_project  # 复制目录及其内容  
  2. 使用 tree 命令查看目录结构(需先安装):

    sudo apt install tree  # Debian/Ubuntu  
    tree project  # 查看 project 目录的层级结构  

八、总结

mkdir 命令是 Linux 文件操作的基础,熟练掌握 -p-m 选项可大幅提升目录管理效率。在实际使用中,建议:

  • 复杂目录结构优先使用 -p 递归创建;
  • 重要目录通过 -m 显式设置权限;
  • 结合通配符、脚本实现批量操作。
    通过合理使用 mkdir,可高效构建项目目录、管理文件结构,避免因路径或权限问题导致的操作失误。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部