当前位置: 首页 > news >正文

mkdir 命令文档 - Linux 目录创建命令详解

1. 命令简介

mkdir(make directory)命令是 Linux/Unix 系统中用于创建新目录(文件夹)的核心工具。它允许用户在指定的路径下创建一个或多个目录,并可同时设置目录的访问权限。该命令是文件系统管理和日常操作中最基础且频繁使用的命令之一。

2. 语法格式

基本语法格式如下:

bash

运行

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

格式说明:

  • [选项]:用于指定命令行为的可选参数,可以同时使用多个。
  • 目录名:要创建的一个或多个目录的名称。可以指定绝对路径(如/home/user/docs)或相对路径(如./project/src)。多个目录名之间用空格分隔。

3. 常用选项及说明

表格

短选项长选项说明
-p--parents递归创建目录。如果目标目录的上级目录不存在,此选项会一并创建所有必需的父目录,而不会报错。
-m--mode=MODE设置目录权限。在创建目录的同时,直接指定其访问权限,而不是使用默认的 umask 设置。
-v--verbose显示详细信息。为每个创建的目录输出一条提示信息,便于确认操作结果。
-Z设置 SELinux 安全上下文。在启用了 SELinux 的系统上,为新创建的目录设置默认的安全上下文。
--help显示命令的帮助信息。
--version显示命令的版本信息。

4. 示例用法

示例 1:创建单个目录

在当前工作目录下创建一个名为new_folder的目录。

bash

运行

mkdir new_folder

示例 2:创建带路径的目录

/home/user路径下创建一个名为projects的目录。

bash

运行

mkdir /home/user/projects

示例 3:使用 -p 选项递归创建目录(最常用)

创建嵌套目录结构a/b/c。即使ab目录不存在,也会被自动创建。

bash

运行

mkdir -p a/b/c

示例 4:创建目录并指定权限

创建一个名为private_dir的目录,并将其权限设置为 750(所有者可读、写、执行,所属组可读、执行,其他用户无权限)。

bash

运行

mkdir -m 750 private_dir

权限数字说明:

  • 7 (4+2+1):所有者拥有读 (r)、写 (w)、执行 (x) 权限。
  • 5 (4+1):所属组拥有读 (r)、执行 (x) 权限。
  • 0:其他用户无任何权限。

示例 5:同时创建多个目录

在当前目录下一次性创建dir1dir2dir3三个目录。

bash

运行

mkdir dir1 dir2 dir3

示例 6:结合 -p 和 -v 选项

递归创建目录并显示创建过程。

bash

运行

mkdir -pv d1/d2/d3

输出可能类似于:

plaintext

mkdir: created directory ‘d1’ mkdir: created directory ‘d1/d2’ mkdir: created directory ‘d1/d2/d3’

示例 7:在脚本中安全创建目录

在脚本中,通常结合-p选项来确保目录存在,无论其父目录是否存在。

bash

运行

# 确保日志目录存在 LOG_DIR="/var/log/myapp" mkdir -p "$LOG_DIR"

5. 注意事项

  1. 默认权限:如果不使用-m选项,新建目录的权限由系统的umask值决定。通常默认权限为 755(所有者全权,组和其他人可读和执行)或 775。
  2. 目录已存在:如果尝试创建的目录已经存在,mkdir 命令会报错 “File exists”。使用-p选项可以避免此错误,因为它不会对已存在的目录进行任何操作。
  3. 空格和特殊字符:如果目录名包含空格或特殊字符(如!,$,&),必须用引号将目录名括起来。

    bash

    运行

    mkdir "my project files" mkdir 'test$dir'
  4. 权限不足:在需要 root 权限的路径(如/usr/local)下创建目录时,普通用户需要使用sudo

    bash

    运行

    sudo mkdir /usr/local/myapp
  5. -p 选项的妙用mkdir -p是编写可移植脚本和确保目录结构存在的黄金标准,强烈推荐在需要创建不确定是否已存在的目录路径时使用。

获取更多Linux学习资料请关注“阿成学长工具包”公众号,对话框中输入2647获取

http://www.cnnetsun.cn/news/1598288.html

相关文章:

  • 3步实现网易云音乐插件自由:BetterNCM Installer全场景安装指南
  • 仅限前500位开发者获取:20年MCP协议老兵手写《Python服务器模板源码认知地图》PDF+可执行调试镜像
  • 用Python和Bluez 5.50在Ubuntu 20.04上,手把手教你做个能被手机发现的BLE广播设备
  • WebSocket C扩展加速:speedups模块性能优化终极指南
  • 知识库邮件通知系统终极指南:5分钟配置自动订阅和提醒功能
  • 如何通过InstantClick事件回调实现精准的性能监控:开发者必备指南
  • zynq7020 u-boot 外设配置实战指南
  • Dism++开源工具:企业与个人用户的系统优化全指南
  • Z-Image-Turbo开箱即用体验:访问8080端口,开启你的极速创作之旅
  • PDF安全保护指南:常用加密方式有哪些?怎么选?
  • 新能源储能必看:BMU主控与从控单元在光伏电站中的典型应用案例
  • 终极指南:如何用115proxy-for-kodi插件在电视上流畅播放115云盘视频
  • 3个步骤+7大模块:Win11Debloat帮你彻底清理Windows 11臃肿问题
  • FFT算法实战:用Python手写Cooley-Tukey蝴蝶变换(附完整代码)
  • Dify+MCP Server避坑指南:从零开始构建企业级AI智能体的完整流程
  • 手把手教你用VMware Workstation单机部署华为VRM管理节点(含gandalf账户密码重置教程)
  • 终极指南:如何构建现代化微服务架构 - Zend Framework Expressive完整教程
  • 手把手教你用Python脚本调用Xinference的Rerank API,打造你的本地RAG排序引擎
  • 像素特工实战案例:上传店铺照片,5分钟拿到陈列优化建议
  • 快速上手SAM 3:记住这3个关键步骤,分割图片视频不求人
  • 区域高亮标注:革新PDF文档交互体验解决非文本标注痛点
  • [CrewAI] 第15课|构建一个多代理系统来实现自动化简历定制和面试准备
  • Apache HBase异步文件系统实现原理:提升IO性能的终极指南
  • 5个维度教你选择付费墙绕过工具:从入门到精通的开源工具决策指南
  • 数字人部署从未如此简单:lite-avatar形象库小白友好教程
  • Gon与Rails 6+集成指南:现代化Web应用开发的最佳实践
  • C++ 笔记 友元(面向对象)
  • 微信聊天记录永久保存:WeChatMsg让你的数字记忆永不消失
  • Palo Alto Panorama 11.2.8 Virtual Appliance for ESXi- Palo Alto Networks 防火墙统一管理
  • TongWeb部署SpringCloud微服务实战:Nacos注册与Gateway路由失效的解决方案