Linux系统之mkdir 命令详解

mkdir 命令详解

概述

mkdir(make directories)是用于创建目录的命令,可一次性创建一个或多个目录,仅当目录不存在时才会创建(避免重复创建报错,除非使用特定选项)。

命令格式

mkdir [选项]... 目录...

其中,目录 为要创建的目录路径(可指定多个,用空格分隔),[选项] 为可选参数(见下文详解)。

选项详解

选项全称说明
-m MODE--mode=MODE设置新目录的权限(类似 chmod 的权限模式),而非默认的 a=rwx - umask(默认权限为777减去当前umask值)。
示例:-m 755 表示创建的目录权限为 rwxr-xr-x
-p--parents若目录已存在,不报错;若需要创建多级目录(如 a/b/c),会自动创建缺失的父目录(ab)。
示例:mkdir -p a/b/c 会依次创建 aa/ba/b/c(若均不存在)。
-v--verbose为每个创建的目录打印一条消息(显示创建成功的路径)。
示例:mkdir -v dir1 dir2 会输出 mkdir: 已创建目录 'dir1'mkdir: 已创建目录 'dir2'
-Z设置每个新创建目录的 SELinux 安全上下文为默认类型(仅在启用 SELinux 的系统中有效)。
--context[=CTX]类似 -Z;若指定 CTX,则将 SELinux 或 SMACK 安全上下文设置为 CTX(用于自定义安全上下文)。
--help显示帮助信息并退出。
--version输出版本信息并退出。

默认行为

若不指定任何选项,mkdir 仅创建指定的目录:

  • 若目录已存在,会报错(mkdir: 无法创建目录 'dir': 文件已存在);
  • 若需创建多级目录(如 a/b/c)且父目录(ab)不存在,会报错(mkdir: 无法创建目录 'a/b/c': 没有那个文件或目录);
  • 目录权限为默认值(777 - umask,通常用户目录默认权限为 755700,取决于系统配置)。

示例

  1. 创建单个目录 docs

    mkdir docs
    
  2. 同时创建多个目录 musicvideos

    mkdir music videos
    
  3. 创建多级目录 project/src/main(自动创建缺失的父目录):

    mkdir -p project/src/main  # 若 project 或 project/src 不存在,会自动创建
    
  4. 创建目录 test 并设置权限为 rwx------(700):

    mkdir -m 700 test
    
  5. 创建目录 logs 并显示创建信息:

    mkdir -v logs  # 输出:mkdir: 已创建目录 'logs'
    
  6. 在 SELinux 系统中创建目录 data 并指定安全上下文为 user_u:object_r:tmp_t:s0

    mkdir --context=user_u:object_r:tmp_t:s0 data
    

注意事项

  • 长选项的必填参数(如 --mode=MODE 中的 MODE)对短选项(如 -m MODE)同样必填;
  • -p 选项常用于脚本中,避免因目录已存在或父目录缺失导致脚本中断;
  • 权限设置(-m)需遵循 chmod 的权限格式(如数字权限 755 或符号权限 u=rwx,g=rx,o=rx);
  • SELinux/SMACK 相关选项(-Z--context)仅在对应安全机制启用的系统中有效,普通系统可忽略。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值