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

Linux基本指令篇 —— mkdir指令

   mkdir是Linux和Unix-like系统中用于创建目录的基本命令,全称为"make directory"。下面将详细介绍这个命令的用法、选项和实际应用。

目录

一、基本语法

二、基本用法

创建单个目录

创建多个目录

三、常用选项

-p 或 --parents

-m 或 --mode

-v 或 --verbose

四、高级用法

创建带有空格或特殊字符的目录

结合大括号扩展创建多个相似目录

在脚本中使用mkdir

五、实际应用示例

创建项目目录结构

创建带权限的目录

创建多层目录并显示详细信息

六、注意事项

默认情况下,如果目录已存在,mkdir会报错

普通用户只能在有写权限的目录中创建子目录

使用-p选项时,如果路径中某些组件已存在且不是目录,会报错

目录名区分大小写

七、查看帮助


一、基本语法

mkdir [选项] 目录名...

二、基本用法

  1. 创建单个目录

    mkdir dirname

    这会在当前工作目录下创建一个名为dirname的新目录。

  2. 创建多个目录

    mkdir dir1 dir2 dir3

    这会同时创建三个目录:dir1、dir2和dir3。


三、常用选项

  1. -p 或 --parents

    • 递归创建目录,即如果上级目录不存在则一并创建

    • 不会报错如果目录已存在

      mkdir -p path/to/new/directory

            这个命令会创建完整的目录路径(注意:此处的路径也可以是相对路径。),即使中间的pathto目录不存在。(我们可以使用ls 命令的 -R 选项(递归列出目录内容)用于 递归显示目录及其所有子目录中的文件,即不仅显示当前目录下的文件,还会深入遍历所有子目录并列出它们的内容。)

  2. -m 或 --mode

    • 设置目录的权限模式(类似chmod)

      mkdir -m 755 restricted_dir

    这会创建一个权限为755(rwxr-xr-x)的目录(第一列数据表示为文件类型和相关权限,关于权限相关知识会在后面讲解)。

  3. -v 或 --verbose

    • 显示每个创建的目录信息

      mkdir -v newdir

      输出示例:


四、高级用法

  1. 创建带有空格或特殊字符的目录

    mkdir "my directory"

    或者使用转义字符:

    mkdir my\ directory

  2. 结合大括号扩展创建多个相似目录

    mkdir dir_{1..5}

    这会创建dir_1, dir_2, ..., dir_5五个目录。

  3. 在脚本中使用mkdir

    if [ ! -d "./path/to/dir" ]; thenmkdir -p "./path/to/dir"
    fi

    这个脚本片段会先检查目录是否存在,若存在就什么都不做,而不存在才创建。因为之前有一个path目录,我们就进去观察新建目录的变化。


五、实际应用示例

  1. 创建项目目录结构

    mkdir -p project/{src,doc,bin,lib,test}

    这会创建一个project目录,并在其中创建src, doc, bin, lib, test五个子目录。

  2. 创建带权限的目录

    mkdir -m 700 private_dir

    创建一个只有所有者有完全权限的目录。

  3. 创建多层目录并显示详细信息

    mkdir -pv backup/2023/{jan,feb,mar}/images

    这会创建完整的目录结构并显示每个创建步骤。如果看不懂花括号的意思,下面解释一下:


六、注意事项

  1. 默认情况下,如果目录已存在,mkdir会报错

  2. 普通用户只能在有写权限的目录中创建子目录

  3. 使用-p选项时,如果路径中某些组件已存在且不是目录,会报错

  4. 目录名区分大小写


七、查看帮助

要了解更多关于mkdir的信息,可以使用:

man mkdir

使用该指令后,则进入使用手册: 

 

mkdir --help

http://www.xdnf.cn/news/14486.html

相关文章:

  • 苍穹外卖--WebSocket、来单提醒、客户催单
  • 【漏洞复现】Apache Kafka Connect 任意文件读取漏洞(CVE-2025-27817)
  • DeepSeek 助力 Vue3 开发:打造丝滑的日历(Calendar),日历_项目里程碑示例(CalendarView01_22)
  • 基于ARM SoC的半导体测试
  • windows,java后端开发常用软件的下载,使用配置
  • python校园拼团系统
  • A 股无风不起浪!金融吸血科技
  • 李宏毅2025《机器学习》第一讲-生成式AI:技术突破和未来发展
  • NAT 与代理服务器 -- NAT,NAPT,正向代理,反向代理
  • RabbitMQ概念
  • 基于python的web系统界面登录
  • P7 QT项目----会学天气预报
  • 黑马python(八)
  • 设置环境变量(linux,windows,windows用指令和用界面)
  • AntV G6入门教程
  • CppCon 2017 学习:C++ in Academia
  • 【开源解析】基于Python+Qt打造智能应用时长统计工具 - 你的数字生活分析师
  • 鼎捷T100开发语言-Genero FGL 终极技术手册
  • Mac OS上安装Redis
  • Python 正则表达式
  • 解决戴尔电脑No bootable devices found问题
  • TIA Portal (博图) 中 SCL 语言 REPEAT_UNTIL循环语句的用法介绍及案例
  • 资源占用多,Linux 系统中如何降低 CPU 资源消耗并提升利用率?
  • CentOS 7 虚拟机网络配置异常 典型问题:启动了NetworkManager但是network无法启动
  • 03.【C语言学习笔记】分支和循环
  • 网络层协议 IP 协议介绍 -- IP 协议,网段划分,私有 IP 和 公网 IP,路由
  • 设计模式笔记_创建型_单例模式
  • 【图像处理入门】9. 基础项目实战:从去噪到图像加密
  • 接口适配器模式实现令牌桶算法和漏桶算法
  • 加密、加签、摘要算法对比