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

Linux命令-mkdir(创建目录)

mkdir命令用于在 Linux 系统中创建新的目录(文件夹)。它是文件操作中最基础、最常用的命令之一。

📖 基本语法

mkdir[选项]目录名...

🎯 常用选项

选项说明
-p,--parents递归创建所需的所有父目录。如果目录已存在,不会报错。
-m,--mode=MODE设置目录的权限模式(类似chmod),例如-m 755
-v,--verbose显示创建的每个目录的详细信息。

💡 核心用法示例

  1. 创建单个目录

    mkdirnew_folder
  2. 一次性创建多个目录

    mkdirdir1 dir2 dir3
  3. 创建嵌套的目录结构(使用-p选项)

    mkdir-pproject/{src,doc,test}/internal

    这条命令会创建以下结构:

    project/ ├── src/ │ └── internal/ ├── doc/ │ └── internal/ └── test/ └── internal/
  4. 创建目录并指定权限

    mkdir-m750private_dir

    创建所有者可读/写/执行,组用户可读/执行,其他用户无权限的目录。

  5. 显示创建过程(详细模式)

    mkdir-pva/b/c

    输出:

    mkdir: created directory 'a' mkdir: created directory 'a/b' mkdir: created directory 'a/b/c'

🔧 实用技巧与场景

  1. 与变量结合创建带时间戳的目录

    mkdir"backup_$(date+%Y%m%d)"# 创建类似 backup_20240323 的目录
  2. 在脚本中安全创建目录

    if[!-d"/target/path"];thenmkdir-p"/target/path"fi# -d 检查目录是否存在,-p 确保父目录存在
  3. 创建临时工作目录

    mkdir-p/tmp/myapp/{cache,logs,uploads}

⚠️ 常见错误与解决

  1. 目录已存在

    mkdirexisting_dir# 报错:mkdir: cannot create directory ‘existing_dir’: File exists

    解决:使用-p选项可避免此错误。

  2. 权限不足

    mkdir/root/mydir# 报错:mkdir: cannot create directory ‘/root/mydir’: Permission denied

    解决:使用sudo或以有权限的用户操作。

  3. 路径中包含特殊字符

    mkdir"my dir"# 目录名包含空格mkdir"test&demo"# 目录名包含&符号

    最佳实践:用引号包裹目录名,或使用转义字符my\ dir

📌 进阶用法

  1. 使用大括号扩展创建复杂结构

    mkdir-puser{1..5}/{images,notes}

    创建 user1 到 user5 目录,每个目录下包含 images 和 notes 子目录。

  2. 结合管道从文件读取目录列表

    catdir_list.txt|xargsmkdir-p# dir_list.txt 每行包含一个目录路径

🆚 与其他命令的配合

  • 创建目录并立即进入

    mkdirnew_project&&cdnew_project
  • 创建目录并设置所有权

    sudomkdir-p/shared/data&&sudochownuser:group /shared/data

mkdir是 Linux 文件管理的基础,掌握其-p递归创建选项能极大提升工作效率。在脚本编写和日常操作中,养成使用-p的习惯可以避免许多“目录不存在”的错误。

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

相关文章:

  • 揭秘:如何将安卓电视盒变身高性能服务器?Armbian系统版本识别与升级全攻略
  • CentOS 6.4开机卡在图形界面?3种方法快速切换到命令行模式
  • Block Copy 的内存布局详解
  • OpCore-Simplify:让黑苹果配置从复杂到简单的革命性工具
  • Windows 11下OpenVINO 2022.1保姆级安装指南(AMD CPU实测可用)
  • STM32平台VL53L7CX多区ToF传感器驱动库详解
  • kotlin:函数式参数
  • 告别拖拽对齐的折磨,分享一个 AI 驱动的架构图生成器 ArchGen
  • 本地 LLM 部署指南 - 隐私优先的 AI 开发环境搭建
  • 别再手动K帧了!用Mixamo+Unity 2022快速搞定3D角色动画(附完整项目文件)
  • 深入理解java多线程技术
  • CAE软件市场发展态势及优质代理商——今宏科技实践解析
  • 基于Qwen3-ForcedAligner-0.6B的语音合成前端优化方案
  • 当AI开始“做科研“:从万名爱因斯坦到全自动实验室,人类还剩什么?
  • Qwen3-TTS-Tokenizer:12Hz极致压缩语音编解码工具
  • OpenCV实战:LSD直线检测两种实现对比(附Python/C++代码)
  • Local SDXL-Turbo部署指南:Autodl中设置定时快照防止意外中断损失
  • wwwww
  • 如何解决华硕ROG笔记本色彩配置丢失问题:G-Helper高效恢复GameVisual设置实用指南
  • Java学习笔记_Day12
  • 保姆级教程:用Python从零复现Pan-Tompkins算法(含MIT-BIH数据库验证)
  • 基于Astar算法的智能小车路径规划模型:详细注释与参考文献附送
  • WiFi标签管理系统功能清单
  • 2026知识付费SaaS平台实测对比:创客匠人综合首选,真实数据说话
  • ADS1X58库详解:TI ADS1258/ADS1158高精度Σ-Δ ADC驱动实践
  • GME-Qwen2-VL-2B-Instruct与计算机组成原理教学:可视化理解CPU流水线
  • leetcode 1470. Shuffle the Array 重新排列数组-耗时100
  • RMBG-2.0快速入门:10分钟掌握背景移除技术
  • 用 OpenClaw + 微信实现 AI 自动回复(附完整接入流程)
  • Youtu-2B非遗文化问答:数字化保护系统搭建教程